samedi 24 juillet 2010

Migrer de Joomla 1.5 à Wordpress 3.0

Pour tous les bloggeurs et autre webmasters souhaitant passer comme moi de Joomla 1.5 à Wordpress 3.0, voici la technique que j'ai adopté pour réussir la migration de mes posts.

IMPORTANT : je n'ai souhaité récupérer que mes posts, et non les commentaires, et affectation aux catégories. C'était le seul contenu que je voulais préserver, cette méthode ne sert donc qu'à récupérer les posts. Avant toute modification, sauvegardez vos données.



ETAPE 1 : Exporter vos données Joomla

Connectez-vous à votre base Wordpress, cliquez sur la table wp_users, et afficher la. Cherchez sous quel nom vous souhaitez inscrire vos posts, et retenez seulement l'ID (un chiffre, dans l'exemple ce sera 123456789).
Connectez-vous à votre base de donnée Joomla, et exécutez la requête suivante (à copier/coller dans notepad puis à recoller dans l'exécution de script de votre phpmyadmin, en changeant le nombre 123456789 par votre ID d'auteur sous Wordpress) :

SELECT `id`, 123456789,`created`,`created`,CONCAT(`introtext`,"",`fulltext`),`title`,`introtext`,"publish", "open", "open", "", `alias`, "", "", `modified`, `modified`, "", 0, CONCAT("/",`alias`),0,"post", "",0
FROM `jos_content`



Cliquez alors sur "exporter", choisissez le format CSV et cliquez sur Exécutez. Récupérez le contenu de la requête en le copiant dans un fichier Notepad. Enregistrez ce fichier sous le nom POSTS.CSV en choisissant le format UTF8 (et non ANSI).



Etape 2 : Import dans votre base Wordpress

Connectez-vous cette fois-ci à votre base de données Wordpress 3, entrez dans la table wp_posts, et cliquez sur Importer. Choisissez le fichier que vous venez de sauvegarder, format UTF8 et CSV, puis cliquer sur Exécuter.

Et voilà !! :) Si vous avez besoin d'aide, demandez moi !

9 commentaires:

  1. Merci pour cette très utile astuce.
    Je ne connais rien à mySQL mais je m'interroge pourquoi aller récuperer l'identifiant de l'auteur dans wordpress pour l'intégrer à la requête dans la base Joomla?
    Et si ce n'est pas trop demander : comment procéder pour importer des liens de Joomla vers Wordpress 3...

    RépondreSupprimer
  2. Bonjour Annabel !

    l'identifiant de l'auteur sert à savoir sous quel nom seront inscrits les posts à importer. Si vous ne l'utilisez pas, vous pouvez laisser vide ou mettre "1".

    Sinon pour les liens, vous parlez de ceux contenus dans les articles ?

    RépondreSupprimer
  3. Merci, pour l'info.
    Pour ma pars j'a une erreur "Nombre de colonnes invalide dans les données CSV à la ligne 1".

    Du coup cela na pas fonctionné.

    RépondreSupprimer
  4. Vérifier votre version de wordress, ce tuto était pour la version 3...

    RépondreSupprimer
  5. J'avais la version 3.1 RC4 et joomla 1.5.22

    RépondreSupprimer
  6. Ca vient peut être de là, Worpdress a du mettre à jour qqs champs de sa BDD entre la 3.0 et la 3.1 ...

    RépondreSupprimer
  7. c'est possible faire un truc dans le genre pour récupérer les database users ?
    Merci beaucoup

    RépondreSupprimer
  8. Je viens de tester avec wordpress 3.0.5 et j'ai encore "Nombre de champs invalide dans les données CSV à la ligne 1"

    RépondreSupprimer
  9. Regardez alors si votre table wp_posts contient autant de champs (colonnes) que la requête en italique plus haut, soit 23. Essayez alors de voir en cas de différence quel est/sont le(s) champs en plus ou en moins, et corrigez en fonction la requête.
    Vous pouvez tout à faite faire la même chose pour les utilisateurs, il faut alors comparer les deux tables wordpress et joomla, et procéder de la même façon !

    RépondreSupprimer