De WordPress à Ghost, mon expérience
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 !
- Mots-clés
- #ghost #wordpress
- Auteur
- Julien HOMMET
- date +"%Y-%m-%d"
- Temps_lecture
- 5 minutes
- quantité_mots
- 970 mots
- Catégorie
- blog
- maj $(date +"%Y-%m-%d")