Migration de Dotclear à WordPress

Je viens d’importer sur ce blog tous les billets de mon ancien blog «geekeries», qui était jusqu’à présent sous Dotclear. Vous retrouverez donc tous ces anciens billets dans les archives. J’en profite pour faire un petit billet expliquant la procédure à suivre.

Tout d’abord, j’ai commencé par créer un deuxième blog WordPress. Cette étape n’est pas indispensable, mais j’ai préféré procéder ainsi pour ne pas pourrir ce blog en cas de problème lors de l’import. La création de ce second blog est aussi utile si le blog Dotclear source et le blog WordPress destination sont sur deux serveurs distincts sans possibilité pour le second de se connecter directement à la base de données du premier.

Sur ce second blog, j’ai installé le plug-in Dotclear 2 Importer. Pas bien compliqué à utiliser, ce plug-in nécessite juste de spécifier différents informations pour l’accès à la base de données de Dotclear (serveur, nom d’utilisateur, mot de passe, nom de la base, préfixe des tables, encodage des caractères), puis procède à l’import des utilisateurs, des catégories, des billets et des commentaires.

Ensuite, il faut prévoir de faire une passe sur tous les billets, pour corriger diverses choses :

  • les liens internes vers d’autres billets,
  • les liens vers les médias (enfin là perso je me suis simplifié la vie, j’ai repris mon répertoire /public de Dotclear et l’ai mis au bon endroit sur le nouveau site 🙂 ),
  • les styles spécifiques à certaines extensions Dotclear (j’utilisais par exemple une extension pour la colorisation syntaxique).

Une fois satisfait du résultat, il ne me reste plus qu’à faire un export de ce blog au format WXR (Outils > Exporter) pour le réimporter ensuite sur le blog destination (Outil > Importer). Et voilà !

En complément, voici un petit bout de PHP qui permet de mettre en place une redirection automatique des billets de l’ancien blog Dotclear vers le blog WordPress, en se basant sur le titre du billet (l’URL ayant pu changer, notamment si elle contenait des accents), en remplaçant le fichier index.php de Dotclear :

Seuls les billets et les flux de syndication seront redirigés, le reste ne l’est pas, ce qui évitera par exemple de perdre les pages de mots clés (les mots clés ne sont pas récupérés par le plug-in d’importation). Si aucune correspondance n’est trouvée pour un billet, il sera affiché dans Dotclear et un mail d’avertissement sera envoyé.

8 réflexions sur « Migration de Dotclear à WordPress »

    1. Il y a deux plug-ins d’importation Dotclear, un pour Dotclear 1.x, un pour Dotclear 2.x.
      As-tu bien utilisé la bonne version ?

      1. Merci pour la précision. Je crois avoir trouvé où ça coince. Problème d’accès MySQL. Quand cela sera réglé, j’utiliserai le bon. Mon DotClear est en 1.2.5 😉

        Merci pour ta réponse.

    1. Principalement le fait que c’est plus complet, avec bien plus de choix de plug-ins et une communauté plus grande et plus active (Dotclear s’est un peu réactivé depuis, mais à l’époque c’était vraiment pas top).

      Et j’avais déjà pas mal fait le tour de Dotclear, que j’étais aller bidouiller d’un peu partout, du coup je me disais que professionnellement parlant ça serait bien de faire un peu connaissance avec un autre CMS, plus répandu.

  1. Bonjour
    Comment tu as fait pour changer la syntax de dotcleart vers ses images \public par rapport a la syntax de wordpress ?

    Sous dotclear la syntax est du type
    ((/public/2010/iphone.jpg|iphone.jpg|C|iphone.jpg, sept. 2010))

    Alors que sous wordpress ca doit etre remplacé par un

    Je ne vois pas trop comment automatiser cela dans tout le fichier, je dois avoir 300 ou 400 references aux images sous /public/ ….avec la syntax dotclear.

    par avance merci

    Jean-Christophe

    1. Sur Infobidouille, comme j’avais pas des masses de posts avec images, j’avais fait une passe à la main pour les rectifier.

      Un peu plus tard j’ai migré mon blog perso, là j’avais fait un petit script pour aller faire les modifs directement en base après l’import (désolé, je ne l’ai pas gardé…) puis une passe manuelle pour vérifier que ça c’était bien passé partout.

      Il me semble également que dans la table des posts Dotclear il y a deux champs content/excerpt, la version « brute » et la version « HTMLisée », pour pas avoir à la régénérer à chaque affichage. Ça vaudrait donc peut-être le coup d’essayer l’import après avoir modifié le plug-in en remplaçant toutes les références à « post_content » et « post_excerpt » par « post_content_xhtml » et « post_excerpt_xhtml » (faudra vérifier les noms exacts des champs, je n’ai plus de base Dotclear sous la main).

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.