Mais pourquoi ?
Dans un article du temps jadis, je louais les qualités de Dotclear. Je n’ai pas vraiment changé d’avis, mais j’ai eu quelques difficultés, entre autres un bug qui m’empêchait d’écrire des articles avec l’éditeur WISIWIG de Dotcelar. Peu pratique donc.
De plus, je m’occupe de plusieurs sites internet, six pour être exact, sous Wodpress. En migrant mon blog personnel sous ce moteur, je me facilite également la maintenance en n’ayant plus qu’un système à gérer. Et surtout, je commence à bien connaître WordPress, à mettre parfois les mains dans le code pour créer de petits widgets, pour modifier les thèmes, etc.
Difficultés lors de la migration
Migration de loin pas automatique… J’ai utilisé une extension pour récupérer tous les articles et les pages, pas de problème particulier pour cela. Les catégories sont plus ou moins bien restées, il a fallu que j’ôte à la main la catégorie «uncategorised». Ce n’était pas absolument nécessaire, mais j’aime les choses propres !
Tags
Les tags n’ont pas suivi. J’ai trouvé un tutoriel et un script pour les importer, mais ça ne marche pas. J’ai taggé quelques articles en attendant de faire le tour du blog pour ajouter quelques étiquettes…
Images
Autre problème, les images dans les articles. J’ai conservé le dossier Public à la racine du site, histoire que les chemins relatifs soient toujours corrects. Donc les anciennes images ne se trouveront pas dans upload. Pas trop grave, si ce n’est qu’elles n’apparaissent pas dans la médiathèque de WordPress. La mise en page des images des anciens articles ne correspondra pas tout à fait aux nouveaux, tant pis pour l’unité, mais c’est trop de travail de tout reprendre à la main.
Liens
Les liens vers d’autres articles sont, sous Dotclear, relatifs. De plus, lors de l’importation, les / ont disparus. Je me retrouve donc avec des articles nommés de la façon suivante: 20160312Titre-de-l-article/
Pour que le référencement n’en prenne pas trop un coup, il faut faire quelque chose de propre. Dans l’ordre :
- renommer les articles sans la date (via PhpMyAdmin) ni la majuscule : tout s’appelle maintenant titre-de-l-article/ au lieu de 20160312Titre-de-l-article/
- faire une redirection via .htaccess pour que les anciennes url pointent sur les nouvelles
- se casser la tête pour cette redirection, ne pas y arriver parce que le regex ne fonctionne pas
- faire la redirection en php de la façon suivante : dans le fichier header.php du thème enfant, j’ai mis quelques lignes qui ressemblent à ça :
$querystring=$_SERVER['QUERY_STRING']; switch(substr($querystring,0,4)){ case 'post': $titreArticle=substr_replace ($querystring, '', 0,16); $titreArticle=str_replace('--','-',$titreArticle); $titreArticle=strtolower($titreArticle); header('Status: 301 Moved Permanently', false, 301); header('Location: /'.$titreArticle.'/'); exit(); case 'page': header('Status: 301 Moved Permanently', false, 301); header('Location: /a-propos/'); exit(); }
Une fois cette redirection en place pour les pages, les articles, les catégories, les tags et le flux rss des articles, je respire un peu. Je vois le bout du tunnel !
Et puisque je parle des liens, les « billets connexes » n’ont pas non plus été importés. J’utiliserai une extension qui propose d’autres articles automatiquement.
Pièces jointes
J’ai de nombreux articles qui proposent des documents de cours, avec fichiers attachés. Sous Dotclear, il y a un système intégré de pièce jointe à un billet, très pratique à utiliser. Sous WordPress c’est un peu moins intuitif. Le sélecteur de média permet deux choses :
- ajouter un média dans un article : utilisation classique, l’image ou le lien vers le document est inséré dans le texte
- lier un média à un article : utilisation moins intuitive, il faut uploader le fichier puis ne pas l’insérer dans la page. Il fait alors partie de la médiathèque, et est lié à l’article, mais n’apparaît pas. Une extension ad hoc permet d’ajouter au fond des articles les liens vers les fichiers attachés.
J’ai donc fait le tour de chaque article contenant des pièces jointes, je n’avais pas vraiment le choix. Il a fallu également permettre à WordPress d’importer des fichiers de type GGB, SVG, etc. en ajoutant ceci dans le fichier functions.php :
//Autorisation de l'upload de fichier add_filter('upload_mimes', 'mon_nouveau_mime'); // $existing_mimes récupère la liste des mimes existant function mon_nouveau_mime ( $existing_mimes = array() ) { $existing_mimes['ggb'] = 'application/octet-stream'; $existing_mimes['svg'] = 'image/svg+xml'; $existing_mimes['tex'] = 'application/x-tex'; $existing_mimes['apk'] = 'application/vnd.android.package-archive'; return $existing_mimes; }
J’ai bidouillé également l’extension qui affiche les pièces jointes au fond des articles afin que les petites images soient différenciées selon chacun des types que j’upload (ODT, ODG, SVG, GGB, etc.).
Et encore ?
Il reste un petit peu de travail, comme mettre des images pour les articles, vu que le thème choisi fait la part belle pour les Images à la Une. Ça va se faire petit à petit !
Conclusion
Beaucoup de boulot pour cette migration, je m’y attendais, mais je ne suis pas déçu, j’ai maintenant un site que je maîtrise, tant du côté de l’administration que du thème ou des extensions.
J’espère que ça vous plaît, que vous trouvez ce que vous cherchez, et que ça me motivera à continuer d’écrire, et pour cela de réaliser des activités originales et novatrices dans mes classes !
Bonjour,
Je m’apprête à migrer un blog dotclear vers un wordpress – pour les même raisons que vous – et j’ai quelques questions que j’espère pas trop bêtes :
– Pour le nom de domaine, comment avez-vous fait ? Il doit y avoir une solution simple mais je ne veux pas faire de bêtise
– Avez-vous perdu en référencement ? Je compte ré-utiliser vos quelques lignes de code pour les redirections parce qu’il y a près de 150 posts à migrer…
J’espère que vous pourrez m’aider, en tout cas bravo pour cet article très clair et pratique !
Carole
Bonjour,
Voici quelques éléments de réponse:
Et encore un petit conseil en passant, si vous avez des problèmes techniques lors de la migration, n’hésitez pas à vous rendre sur le forum http://www.wpfr.net, ils sont généralement assez réactifs et efficaces!
bonjour,
je suis en train d’essayer de faire une migration dotclear > wordpress, d’où mon arrivée chez vous.
et pour l’instant, je fais choux-blanc, impossible malgré de nombreuses tentatives avec différentes techniques – vous dites « J’ai utilisé une extension » qui a fonctionné, est-ce le plugin wp « DotClear Importer » (ou dc2) ?
impossible de les faire fonctionner, ou plutôt si, ça semble fonctionner, mais rien n’est importé…
merci pour votre réponse,
damien
Bonjour,
je crains ne pas pouvoir beaucoup vous aider… J’ai réalisé la migration il y a déjà deux ans, et l’extension utilisée a été depuis désinstallée. Je ne me souviens pas de laquelle c’était. D’après les sites qui restent dans mon historique de navigation, c’est peut-être bien ce plugin-là.
Désolé pour cette réponse peu utile 🙂
ok merci, pas de problème, c’était au cas où…