PluXml.org

Blog ou CMS à l'Xml

Vous n'êtes pas identifié(e).

#1 30/08/2015 12:31:53

kowalsky
Membre
Inscription : 20/08/2015
Messages : 269
Site Web

Conseils pour réussir sa migration de WordPress vers PluXml

Édit du 01/04/2016 : ces conseils ont été rédigés lors d'une migration de WordPress v4.x vers la version 5.4 de PluXml et peuvent ne plus être d'actualité avec la nouvelle version 5.5 de PluXml ou une version plus récente de WordPress.

///

Bonjour,

après avoir passé un peu de temps dernièrement à préparer la migration de mon site et pour y avoir rencontré quelques soucis que j'ai pu tous résoudre, je vous livre mes conseils pour réussir une migration de WordPress vers PluXml.

Préalable

Il faut savoir faire fonctionner un serveur local (à l'aide de WAMP sous Windows, MAMP sous OSX ou en natif sous Unix).

  • Y installer une instance de WordPress de version identique à celle de son site web

  • Y installer une instance de la dernière version de PluXml

  • Récupérer le script wp2pluxml pour la conversion et l'installer dans l'instance locale de PluXml

La préparation
  1. Charger le thème par défaut de WordPress sur son site web

  2. Faire une sauvegarde complète de la base SQL de son site web (j'utilise l'extension WP-DB-Backup pour cela, qui me permettait également de faire facilement mes sauvegardes hebdomadaires) et l'importer sur son instance locale de WordPress.

  3. Charger le thème habituel de son site web. (C'est la dernière action que l'on effectuera sur le site web avant la migration finale. Toute la suite se passe désormais sur le serveur local)

  4. Sur le serveur local, rechercher à l'aide de PHPMyadmin dans la table "wp_options" (ou équivalent si vous aviez changé par sécurité le nom de la base de donnée de votre site) les valeurs "siteurl" et "home" pour remplacer l'URL du site web par celle de son instance locale de WordPress (il y a de forte chance que ce soit par http://localhost/wordpress/)

  5. Comme indiqué dans le Wiki de wp2pluxml, installer l'extension Advanced Export for WP & WPMU sur son instance locale de WordPress car la fonctionnalité d'export intégrée de WordPress ne permet pas de réussir en l'état un import vers PluXml (vous obtiendrez l'erreur #385 Le tableau $items des catégories est vide).

La partie facile de la préparation est finie, maintenant attaquons nous à la partie chronophage qui demandera quelques concessions.

Depuis le tableau de bord de son instance locale de WordPress :

  • éditer toutes les URL des catégories pour les rendre uniques si l'on désire par la suite utiliser le plugin MyBetterUrls (j'ai simplement rajouté le préfixe "cat-")

  • éditer tous les articles privés, ou protégés par un mot de passe, et leur assigner une nouvelle catégorie distincte pour les retrouver facilement après la conversion

  • assigner une nouvelle catégorie distincte aux articles à l'état de brouillon pour les retrouver facilement après la conversion, et les publier

  • éditer les articles multi-catégories et n'en garder qu'une seule par article (la principale selon vous) sinon lors de la conversion ce sera la première catégorie par ordre alphabétique qui sera gardée (partie réellement chronophage si vous êtes adeptes des articles multi-catégories comme moi)

  • modifier le répertoire utilisé pour les médias (par défaut ceux-ci se trouvent dans le répertoire "wp-content/uploads") et indiquer à la place "data/medias", le répertoire par défaut des médias de PluXml. Cela évitera d'avoir à éditer manuellement tous les liens par la suite. smile

La préparation est finie, maintenant attaquons nous à la conversion.

La conversion

Il est temps de préparer l'export de son instance locale de WordPress.

  1. Depuis le tableau de bord, allez dans Outils -> Advanced Export

  2. Modifier les options suivantes :

    • Pour "Restrict Content", choisir "Posts" ;

    • Pour "Restrict Status", choisir "Published" ;

    • Pour "Include Blog Tag/Category Terms", choisir "Categories".

  3. Cliquer sur le bouton d'export et enregistrer le fichier XML dans le répertoire "wp2pluxml" de son instance locale de PluXml.

  4. Ouvrir son navigateur et rentrer l'URL de l'instance locale de PluXml, puis aller sur la page de "wp2pluxml" (il y a de forte chance que ce soit http://localhost/pluxml/wp2pluxml/)

  5. Suivre les instructions pour lancer la conversion et croiser les doigts.

La finalisation

Une fois dans la partie administration de PluXml il est possible qu'un ou plusieurs articles n'aient pas d'identifiants, affichent un "//" pour la date et ne soient pas éditables. Cela est dû à un bug du script wp2pluxml, mais il existe une solution simple pour corriger cela : ouvrir le fichier "wp2pluxml.log" qui recensera le ou les articles en erreur (#77 Erreur lors de l'ouverture du fichier ../data/articles/0001.draft,001.001.201508170043..xml),  puis les rechercher dans le répertoire "/data/articles/".

Deux cas se présentent :

  • lorsque la partie terminale du nom du fichier est du type "12345..xml", il faut mettre du texte entre les 2 points avant l'extension xml : "12345.text.xml".

  • lorsque la partie terminale du nom du fichier contient un ou plusieurs caractères spéciaux "12345.%9°c.xml", il faut supprimer ces caractères : "12345.9c.xml".

Comme indiqué dans la solution, revenir dans l'administration de PluXml puis rafraîchir la liste des articles.

Et c'est pas fini smile

  1. Aller dans la liste des catégories et masquer les deux catégories créées lors de la préparation pour les brouillons et les articles privés/protégés.

  2. Ouvrir la liste des articles, faire un filtre sur ces deux catégories puis les mettre hors ligne, cela les passe à l'état de brouillon. Pratique pour retrouver ses brouillons, et astuce pour éviter que ne s'affichent ceux qui étaient privés/protégés. (Il existe des plugins pour rendre de nouveau les articles privés/protégés).

Et c'est pas presque fini smile la conversion ne concernant que les articles, il ne faut pas oublier de créer des pages statiques sur PluXml en les nommant à l'identique de celles du site web, puis de les éditer et d'y faire un copier/coller depuis les pages du site web.

L'on peut désormais passer à la dernière étape.

La migration
  1. Se connecter à son hébergement

  2. Optionnel mais recommandé : faire une copie de tout en local au cas où.

  3. Créer à la racine un répertoire "backup_WP" (par exemple) et un répertoire "backup_media" (par exemple)

  4. Déplacer l'ensemble des fichiers et sous-répertoires utilisé pour les médias (par défaut dans "wp-content/uploads") vers le répertoire "backup_media"

  5. Sauf en connaissance de cause, attention à ne pas effacer, déplacer ou remplacer votre fichier ".htaccess" principal (en faire une copie avant de passer au point suivant ne coûte rien surtout si celui-ci est personnalisé)

  6. Déplacer le reste des fichiers et sous-répertoires utilisé par WordPress vers le répertoire "backup_WP"

  7. Uploader tous les fichiers de l'instance locale PluXml vers le site web (à vous de choisir si c'est à la racine ou ailleurs).

  8. Déplacer l'ensemble des fichiers et sous-répertoires du répertoire "backup_media" vers "data/medias".

  9. Si vous souhaitez utiliser la réécriture d'urls, allez dans Paramètres -> configuration avancée, activez-la, puis désactivez-la et réactivez la de nouveau. Cela mettra à jour le fichier ".htaccess" et vous évitera de perdre du temps à essayer de comprendre pourquoi la page 2 est en erreur smile

  10. Optionnel mais recommandé : faire une sauvegarde complète de la base SQL du site web avant d'y faire un peu de ménage pour en retirer les anciennes tables utilisées par WordPress.

Cette fois c'est fini, le reste n'est plus que cosmétique.

Epilogue

Et c'est ainsi que j'ai migré la totalité des 697 articles et 2426 des 2437 commentaires de mon ancien site sous WordPress (v4.x) vers PluXml (v5.4).

(oui j'ai prévu de rechercher les 11 commentaires manquants) wink

///
Édit du 10/09/2015 : les 11 commentaires manquants étaient le résultat d'un bug affectant la conversion de l'horodatage des secondes par wp2pluxml, l'explication détaillée dans cette discussion.

Dernière modification par kowalsky (01/04/2016 18:04:52)

Hors ligne

#2 30/08/2015 12:42:23

Gzyg
Membre
Inscription : 25/09/2006
Messages : 834
Site Web

Re : Conseils pour réussir sa migration de WordPress vers PluXml

Alors là, bravo. Chouette tuto. smile

Je propose qu'il soit épinglé, ça peut inciter des envies de migrations...  devil


à plus,

Gzyg

Hors ligne

#3 30/08/2015 13:22:25

DjbWebmaster
Membre
Inscription : 13/07/2012
Messages : 297

Re : Conseils pour réussir sa migration de WordPress vers PluXml

Super ton tuto, c'est clair  lol


Mon labo de templates/Plugins pour le CMS PluXml http://nextum.fr
Templates PluXml et Framework SASS Compass pour PluXml: http://libertea.fr
-----------------------------------------------------
Intégrateur HTML5 https://psd-html.fr
Coming soon http://psdtohtml5.fr
-----------------------------------------------------

Hors ligne

#4 30/08/2015 22:49:42

Francis
Membre
Inscription : 19/11/2011
Messages : 400
Site Web

Re : Conseils pour réussir sa migration de WordPress vers PluXml

Merci kowalsky pour ce tutoriel très clair et très complet.

Et si tu retrouves la raison pour laquelle il manque 11 commentaires, merci de nous tenir au courant !

Hors ligne

#5 17/05/2016 09:03:35

mwolff
Membre
Inscription : 13/05/2016
Messages : 1

Re : Conseils pour réussir sa migration de WordPress vers PluXml

Bonjour,

Le script a t'il été testé avec la version de pluxml 5.5 ? est-ce que les images à la une sont correctement importées ?

Hors ligne

#6 22/05/2016 19:24:10

kowalsky
Membre
Inscription : 20/08/2015
Messages : 269
Site Web

Re : Conseils pour réussir sa migration de WordPress vers PluXml

@mwolff : j'en doute fort vu que le script wp2pluxml ne semble plus maintenu depuis 2013.

Hors ligne

Pied de page des forums

A propos Nous soutenir Contact Twitter Google+
Copyright © 2006-2017 PluXml.org, tous droits réservés