Depuis un bon moment, je souhaitais me débarrasser de WordPress - clairement, le but est vraiment de s'abstraire de ce CMS pour avoir un autre moteur de site web plus léger, moins "usine à gaz". C'est alors que Ghost est apparu comme sauveur ! Vous trouverez ci-dessous le récit de la migration effectuée sur mon précédent site web, ComputerZ Solutions.

Ce site actuel est sous Ghost, depuis une nouvelle instance, sans importation ni autre migration. Le récit que je vous propose est une expérience passée.


Utilisateur de WordPress depuis plus de 8 ans, il Ă©tait temps de voir autre chose, de dĂ©couvrir de nouveaux horizons. Il existe aujourd'hui une quantitĂ© de CMS / moteur de blogging, chacun correspondant Ă  un besoin prĂ©cis (mĂȘme si tous se disent polyvalents), ayant leurs avantages et prĂ©-requis.

FĂ»t un temps oĂč j'ai exploitĂ© le CMS Grav - trĂšs instructif, mais ne correspondait pas Ă  ce que je cherchais.

Ghost, c'est le CMS qui prend de plus en plus de part de marché. Conseillé par des copains sur le oueb lors de quelques tweets hasardeux, il était temps de passer le cap !
AprÚs quelques tests en VM et une fouille rapide sur internet pour découvrir les communautés et les possibilités, je fus conquis ! Mise en production...

La migration matérielle

Avant de lancer la nouvelle version, j'ai préféré repartir sur une base complÚtement vierge, c'est-à-dire un nouveau serveur. L'idée, c'est aussi d'effacer tout un historique que j'ai pu accumuler sur l'ancien serveur.

Qui dit nouveau départ dit location d'un nouveau VPS chez un nouvel hébergeur, installation et configuration de l'OS et des services, mise en place de Docker... Beaucoup de nouveautés et de premiÚres fois pour le coup !

Rien de particulier Ă  signaler ici, passons plutĂŽt Ă  Ghost.

La migration logicielle

Passer de WordPress à Ghost aujourd'hui est devenu réellement chose aisée. Auparavant, petit récapitulatif des tùches à effectuer :

  • Configurer les permaliens WordPress en mode www.site.fr/nom-article (le paramĂštre se sĂ©lectionne dans les options avancĂ©es de WordPress, rubrique "permaliens")
  • Faire du mĂ©nage dans le contenu et effectuer une sauvegarde complĂšte de la base de donnĂ©es WordPress (l'extension "UpdraftPlus" est trĂšs pratique pour se faire) ;
  • ClĂŽturer les commentaires et exporter tout le contenu (images, articles, pages, commentaires*) ;
  • RĂ©importer le tout dans Ghost grĂące au fichier d'export

Par défaut, WordPress utilise ce type de lien pour afficher les articles : https://site.fr/année/mois/jour/nom-article. Votre référencement sur les moteurs de recherches se fera donc avec ce type d'adresse. Ghost utilise un format d'URL plus simple : https://site.fr/nom-article. Si vous utilisez le format par défaut de WordPress, vous devrez effectuer de la réécriture d'URL depuis Ghost, pour éviter la perte de votre référencement et éviter les erreurs HTTP/404.

Le mieux est d'avoir les permaliens directement en https://site.fr/nom-article depuis WordPress.

Depuis mon site WordPress, j'ai installĂ© l'extension "WP-Ghost-Exporter" (installable depuis le catalogue d'applications WordPress, menu "Extensions"). Ce qui est pratique avec cette extension, en plus d'ĂȘtre officiellement supportĂ©e par l'Ă©quipe de dĂ©veloppement de Ghost, c'est que le travail est fait pour vous. En activant l'extension, deux fichiers se gĂ©nĂšreront (dans /wp-content/uploads/ghost) :

  • wp-ghost-export.zip (comprenant tous les articles, toutes les pages et toutes les images)
  • wp-ghost-export.json (comprenant uniquement les articles et les pages)

Vous remarquerez que je ne parle pas des commentaires : tout simplement parce qu'ils ne sont pas exportés. Il faut avoir une solution tierce pour ça - vous pouvez choisir Disqus pour le cÎté importation facile, y compris l'intégration aisée dans de nombreux thÚmes de Ghost. L'idée est la suivante : synchroniser tous les commentaires sur Disqus puis injecter le code tiers dans Ghost pour faire réapparaßtre les commentaires en bas de chaque article. Si vous ne souhaitez pas utiliser Disqus, il faudra de nouveau migrer de plateforme pour auto-héberger les commentaires (via Discourse, Commento, isso...).

Mon installation de Ghost est dans un conteneur Docker. Maintenant que le conteneur est stabilisé et que les données sont persistantes, passons à l'importation. Direction la page d'administration de Ghost, notamment dans le labs puis sélectionnez le fichier .zip généré précédemment. Au départ, j'avais limité les ressources utilisées par mon conteneur - erreur ! L'import finissait par s'interrompre avec une erreur fatale au bout de quelques minutes, puisqu'il n'avait pas assez de ressources pour travailler. Veillez donc à ne pas trop brider vos ressources exploitables pour le conteneur le temps de faire l'importation.
L'importation s'est réalisée sans erreurs particuliÚres, avec toutefois quelques avertissements : tous les tags des articles ont été réimportés et ce n'est pas forcément une bonne affaire > en gros, l'indexation des articles est cassée (parce qu'il n'y a pas d'export/import des catégories générées dans WordPress). Quelques liens n'ont pas été remis en place surtout à cause des images qui n'existaient déjà plus.

Suite à ce passage sous Ghost, tout semble revenu à la normale à priori. Les articles principaux et leurs images sont présents, les quelques pages créées sont aussi présentes et fonctionnelles. Tous les liens d'articles sont revenus comme avant.

Que reste-t-il Ă  faire ?

  • La mise en place d'un outil tiers type IFTTT est conseillĂ©e pour permettre la publication automatique sur les rĂ©seaux sociaux.
  • RĂ©importer les commentaires
  • Revue intĂ©grale de tous les articles, pour s'assurer que les images sont toujours prĂ©sentes, que le formatage du document est correct
  • Mettre en place une sauvegarde des donnĂ©es

ConcrÚtement, la migration s'est passée plus simplement et rapidement que je ne le pensais. En bref, une journée réelle a été nécessaire pour faire ce changement en bon et due forme.

En fouinant un peu sur le web, nombreux sont ceux qui ont eu des sueurs froides pour réimporter les données, notamment à cause d'un formatage un peu tordu de la part de WordPress. Aujourd'hui, grùce au travail conjoint des équipes de WordPress et Ghost, le contenu est exportable facilement de l'un vers l'autre.

Maintenant, on publie, au boulot !

Partager l'article