Le Blog Topheman par Christophe Rosset

Migration Dotclear 1.2.5 vers WordPress 2.8.6 – Le grand saut

27 novembre 2009

Si vous avez du mal avec tout ce que je raconte dans cet article, j'ai fait une version édulcorée que vous pouvez lire ici.

wordpress-iconeJ'ai commencé le blog Topheman il y a près de 3 ans et demi, avec la version 1.2.5 de Dotclear. Il a toujours bien marché, je n'ai pas eu à m'en plaindre, cependant, c'est une version qui commence à dater … Ces derniers mois je me posais de façon récurrente la question de migrer ce blog vers la dernière version de WordPress.

Pourquoi migrer sous WordPress si mon Dotclear marche correctement ?

  • Beaucoup de bloggueurs utilisent cette plateforme.
  • Beaucoup de développeurs développent pour cette plateforme :
    • Cela assure une certaine pérennité de l'outil, chose que je n'avais plus avec ma vieille version de Dotclear.
    • Je pourrai ainsi profiter des extensions développées par la communauté sans avoir à les coder moi-même (donc consacrer autant de temps à mes projets tout en ayant à disposition des fonctions plus avancées sur mon blog).
    • Je pourrai développer mes propres extensions et en faire profiter la communauté (c'est plus motivant de développer pour WordPress où on sait que potentiellement beaucoup de monde va l'utiliser que sous Dotclear 1.2.*, où il ne reste que quelques dinosaures de la période du début du " Web 2.0").

Comment s'est passé le grand saut ?

1) L'import des données

J'ai été agréablement surpris par la procédure d'import des données du blog (posts/commentaires/catégories/tags …) via flatExport / flatImport. Je pensais rencontrer plus de problèmes (c'est d'ailleurs en faisant un essai d'import de blog Dotclear vers WordPress et en voyant le résultat que je me suis décidé à faire la migration).

2) La conservation des urls / Référencement

Les urls changent entre Dotclear et WordPress. Comme tout bloggueur – d'ailleurs comme tout producteur de contenu sur internet – qui a des articles ou des pages référencées dans les différents moteurs de recherche, je tenais à conserver ce référencement.

Il existe beaucoup de tutoriaux à ce propos, entre autre celui de 64k où il explique comment conserver les urls des articles, via .htaccess.

Cependant, en voyant que dans l'index de google, j'avais d'autres pages que simplement mes articles, j'ai poussé le vice plus loin … Je me suis donc intéressé d'un peu plus près à l'url rewriting pour pondre un beau fichier .htaccess qui gère :

  • mes articles
  • mes catégories (avec en plus la pagination à l'intérieur)
  • mes tags
  • mes pages
  • mes archives (avec la pagination à l'intérieur)
  • la racine (avec la pagination)
  • le nouveau chemin des images (ainsi les images que j'ai postées sur des forums sont toujours visibles)

Ces redirections indiquent aux moteurs de recherche que la page qu'il a référencé a changé d'adresse, ainsi, au lieu de se dire qu'elle n'existe plus, il va voir la nouvelle adresse.
Maintenant, surprise, vais-je descendre dans le référencement ?…

3) Le thème

J'ai profité de ce changement de moteur pour changer aussi la carrosserie … Il faut savoir se faire plaisir …

Je me suis appuyé sur le thème buzz de themeswordpress.fr dont j'ai commencé par simplifier la structure html (trop de div tue le div) n'ayant pas besoin de toutes leurs fioritures pour le mien. Et je l'ai ensuite bien customisé pour me faire mon propre thème, rappelant quand même beaucoup l'ancien mais remis au gout du jour – je l'espère …

On se familiarise rapidement avec le code pour le theming de WordPress. Et lorsqu'il manque une fonction, il existe un plugin fait par la communauté pour vous débloquer (exemple : la pagination – je trouve cependant curieux qu'elle ne soit pas d'emblée avec WordPress). Cela rappelle un peu Drupal (de loin, car Drupal est bien plus lourd à themer …)

4) Les extensions

Actuellement, j'ai activé les extensions suivantes :

  • Akismet (bien sûr). Ça a l'air de marcher bien ce truc d'ailleurs …
  • Facebook Share : Un bouton qui propose au lecteur une popup pour partager l'article sur facebook et qui peut montrer le nombre de fois que cet article a été partagé. Il existe la même chose pour twitter, cependant, je trouve le processus un peu lourd pour le lecteur (donc pour l'instant, il faut que je trouve un simple bouton partager sur twitter et autre ou que je me le fasse).
  • Google XML Sitemaps : Pratique, j'avais la même chose sur dotclear.
  • Subscribe to Comments : ÇA, C'EST TOP, je l'avais pas sous dotclear et ça manquait, j'ai jamais pris le temps de m'en développer un …
  • WP-PageNavi : Paginateur …
  • WP Greet Box : J'ai quelques problèmes avec qu'il faut que je debug, donc pour l'instant, c'est en attente pour une prochaine livraison.

Je pense que je m'amuserai prochainement avec WPTouch, histoire de me faire un thème pour les téléphones portables …

Si vous avez des extensions à me conseiller, n'hésitez pas, je débute dans le monde de WordPress … ;-)

Alors, content d'être passé sous WordPress ?

Pour l'instant je dirais surtout soulagé … J'ai réussi à conserver TOUTES mes données et mes liens, tout en passant à la dernière version de WordPress …

Maintenant, je continue ma vie de bloggueur avec WordPress et nous verrons comment cela se passera … Mais surtout, ne pas oublier une chose : Dotclear ou WordPress (ou n'importe quelle autre plateforme), cela ne restent que des outils qui sont là simplement pour faciliter la production du contenu … Le contenu, il commence souvent dans un simple carnet à petits carreaux;-)

Des difficultés ?

Je me suis pris la tête sur l'url rewriting !… Il marchait impeccablement en local (j'avais même fini mon thème) … et en phase de recette, chez mon hébergeur, j'ai dû le revoir complètement !… A un moment, j'ai failli craquer, lâcher l'affaire et rester sous dotclear … Par contre, maintenant, j'ai progressé en url rewriting !…

Passer de Dotclear 1.2.5 à WordPress 2.8.6, c'est possible !

Tophe

Ressources :

PS : Si vous lisez cet article via un lecteur de flux RSS, prenez le temps de venir voir le nouveau design ;-)

screen-topheman-design

A lire aussi ...

16 réponses à “Migration Dotclear 1.2.5 vers WordPress 2.8.6 – Le grand saut”

  • Très classe :-)

  • Monique Thibault

    Salut, Tophe !

    Bon courage. Nous t'attendons, le foie gras est au frais!!!

    A bientôt.
    M.T.

  • bon t'as encore des progrès a faire en url rewriting ;-)

    man mec

  • Y'a peut-être quelques urls qui passent pas : les archives à l'intérieur des catégories notamment, que j'ai choisi de ne pas traiter à cause d'une limitation technique sur les .htaccess – pas de filtre {lowercase}.

    Mais sinon je n'ai que 5 erreurs 404 sur des billets (flemme de remodifier le htaccess juste pour ça).

    Tu en as peut-être identifié d'autres, cependant …

  • pas compris l'histoire de la limitation.

    ya juste a virer le nom de la catégorie

  • Bonsoir

    Merci pour cet article intéressant… Je débute exactement la même migration, après trois ans de bons et loyaux services de Dotclear 1.2.6 (et +300 articles !)

    Ma principale crainte : tous mes articles ont été écrits en mode HTML, et singulièrement " tunés " :-x (de même que Dotclear au niveau SEO concernant les balises META, optimisation " maison " dont je ne pourrai vraisemblablement pas reprendre le contenu étant donné qu'il était généré à la volée avec un système de cache !)

    Un sacré chantier :-(

  • @Cedric : Pour ce qui est des articles écrits en mode html : aucun problème ! C'est le html qui est importé. Il suffit que tu adaptes correctement le nouveau thème en fonction de ton ancienne css (par exemple les class .image à ce que j'ai pu voir rapidement)

    En ce qui concerne l'optimisation des balises META, effectivement, elles ne sont pas importées. Cependant, il existe des plugins wordpress de SEO qui peuvent faire de la génération automatique, il me semble – je sais que ça ne vaudra jamais le travail que tu as fait mais ça reste quelques chose.

    Je t'avoue que je n'utilise pas les balise meta parce qu'elle sont très peu prise en compte par Google qui se concentre bien plus sur le contenu. Je m'applique donc à rédiger le mieux possible mes articles, en faisant ressortir les mots clés, en mettant des liens internes, en mettant des attributs title et alt, en utilisant des listes …

  • Bonjour

    En fait, je corrige à la volée surtout la balise Title (qui elle est importante), et je génère la META Description, utile pour le texte affiché sous le lien dans les résultats de recherches (ce que l'on appelle le " snippet ")

    Sous Dotclear je faisais de la génération auto, donc je ferai certainement de même sous WordPress pour l'existant (les articles apportant le plus de trafic seront repris à la main, un par un… Je fais entre 1800 et 2300 VU/jour selon la période de l'année, j'ai pas envie de perdre au change ^_^)

  • liliAn

    Bonjour Tophe,

    J'envisage une migration de DC 1.2 vers WordPress. Cependant, la seule chose qui me coince concerne la redirection des url Dotclear vers les nouvelles url WordPress.
    Pour résumer la situation : je manque de fonctionnalités sous DC. J'utilise le plugin personnalisation d'URL et j'ai pas mal bidouillé le format des url.
    Pourrais-tu m'aider en m'envoyant ton fichier .htaccess pour que je puisse m'en inspirer ?

    Merci par avance.

  • Bonjour liliAn,

    WordPress se base sur les " permalinks " (suite de caractères séparés par des tirets), ou sur sur leur id pour retrouver tes articles. Lorsque tu passes de dotclear à wordpress, les ids ne sont plus les mêmes, il ne reste donc plus que les permalinks pour identifier tes articles en urlrewriting. Dans la bdd mySQL, ils se trouvent sur la même table que les articles.

    Il faut donc espérer que ton plugin de personnalisation n'a pas rajouté une table de correspondance … Sinon, à la vue de tes urls, elles sont pratiquement prêtes pour wordpress (vue qu'elles n'ont même plus de dates).

  • mathieu

    Bonjour, merci pour ce tuto qui me permet d'y voir plus clair et qui va surtout me permettre de gagner beaucoup de temps.

    Par contre quant est-il des images des articles ? je comprends bien que le script permet facilement l'import du texte. mais quant-il est-il de arborescence et des urls des images ?

    les images pointent-elles vers l'ancienne url (de dotclear), ou sont-t-elles copiées dans le dossier upload de WP ? le rêve !

    Aussi le script flatimport garde il la mise en forme des billets au format wiki (non écrit en html )?

    merci pour ces quelques précisions,

    PS: j'ai une db de 15 Mo à importer, j'ai envie que tout se passe bien, pas envie de retaper des milliers d'articles à la main sutout que c'est pour une amie !

  • Bonsoir Mathieu,

    Dans les données que tu vas importer de ton blog, il y a finalement deux " types " principaux qui sont :
    - Les articles, commentaires, rubriques, tags … Bref, tout ce qui est du texte et qui est dans ta base de données
    - Les photos (et aussi potentiellement tout type de fichiers que tu aurais pu proposer à tes lecteurs comme des pdf ou autres) qui sont des fichiers contenus dans un dossier

    1) FlatExport va te permettre de créer un fichier reflétant les données contenues dans ta base de données (donc les données de type texte : posts/commentaires/catégories/tags …).

    2) Une fois ce fichier généré, tu pourras le retoucher en faisant des rechercher/remplacer à l'intérieur (en retouchant ainsi les divers articles et commentaires qui seront importés dans wordpress) pour :
    - modifier l'ancien chemin des images et mettre le nouveau
    - modifier le nom de domaine si il a changé
    - etc …

    3) Une fois le fichier retouché avec les liens vers les images corrects, tu pourras exécuter flatImport côté WordPress, où tu auras déjà recopié tes images à l'endroit où tu as précisé en faisant le lien rechercher/remplacer

    Ainsi les images à l'intérieur des articles issus de ton ancien blog s'afficheront correctement sur ton nouveau blog.

    4) J'ai pour ma part poussé un peu plus loin en mettant en place le système de conservation des urls dont je parle dans le 2) de mon article. Qui redirige automatiquement les adresses des anciennes images (et des anciennes urls des posts) vers les nouvelles.

    Tophe

  • Mathieu

    Merci pour tes explications détaillées, j'ai enfin vu un peu plus clair

    donc C'est ok pour les images, j'ai modifié leur url avec rechercher/remplacer, elel s'affichent bien dans les articles

    Par contre je n'ai pas utilisé flatimport/flatexport, masi la nouvelel fonction intégrée à WordPress " importer depuis Dotclear, tout c'est fait en quelques secondes, simplement (600 articles, commentaires, liens,catégories,utilisateurs)

    Je vais conserver les urls comme toi afin de pas perdre son référencement.

    Par contre je sèche sur l'utilisation de timthumb.php, avec ces images importées directement de DotClear (sans passer par l'outil Media de WP) et donc sans passer par la

  • Mathieu

    Merci pour tes explications détaillées, j'ai enfin vu un peu plus clair

    donc C'est ok pour les images, j'ai modifié leur url avec rechercher/remplacer, elel s'affichent bien dans les articles

    Par contre je n'ai pas utilisé flatimport/flatexport, masi la nouvelel fonction intégrée à WordPress  " importer depuis Dotclear, tout c'est fait en quelques secondes, simplement (600 articles, commentaires, liens,catégories,utilisateurs)

    Je vais conserver les urls comme toi afin de pas perdre son référencement.

    Par contre je sèche sur l'utilisation de timthumb.php (script de génération de miniatures automatique), avec ces images importées directement de DotClear (sans passer par l'outil Media de WP) et donc sans passer par la db.

    Timthumb cherche les images référencées dans post_meta, mais elle n'y sont pas référencées, je cherche à faire un hack pour afficher les images importées de Dotclear, mais aussi pour utiliser Timthumb normalement avec le gestionnaire de media…

    C'est pas gagné…

    en tout cas merci pour tes conseils

  • Mathieu

    Bon je suis un peu feignant, je me répond à moi même

    Donc concernant mon  " problème  " avec Timthumb, je le contourne en modifiant les images des derniers articles (en les uploadant avec l'outil media de WP) comme cela Timthumb m'affiche la miniature sur la page d'accueil)
    et pour les anciennes (importées) je mets une image statique de remplacement,
    et ça fera très bien l'affaire. (vu que les images sont tout de même visible dans les articles..)

    au fait as-tu essayé l'outil d'importation DotClear de WP ?

  • Pour ce qui est des images, je n'utilise que très peu l'upload via WordPress, je transfert mes images via un ftp. Ce n'est pas le plus pratique, cependant, j'ai souvent plusieurs images à transférer d'un coup, donc …

    Sinon, il me semble que j'avais utilisé l'outil d'importation de WordPress, en mettant le plugin flatImport pour dotclear (quelque chose comme ça)