La migration de notre Blog Wordpress vers Ghost s'est effectuée sans accroc, mais la procédure n'est pas automatisée. Voici, dans les grandes lignes, comment procéder:
- exporter toutes les données de Wordpress en XML, et archiver le dossier
uploads - transformer au format
Ghost 1.xavec wp2ghost - importer dans
Ghost 1.x - effectuer la migration
Ghost 2.x - désarchiver
uploadsdans le dossiercontent/imagesde Ghost
NB: il n'existe pas à ce jour un script permettant de passer directement de Wordpress à Ghost 2.x
NB: le plugin Ghost WordPress Plugin n'a pas fonctionné pour nous.
Ce qui fonctionne
- Posts: title, slug, content, page/post, featured, status, date de création/publication
- Catgéories (converties en tags): name, slug, description
- Tags: name, slug
Ce qui ne fonctionne pas
Le thème
Il n'existe pas de migration d'un thème Wordpress vers un thème Ghost, c'est une opération bien trop complexe. Il vous faudra soit faire un portage vous-même, soit trouver un thème Ghost facilement modifiable. Consultez le Marketplace pour vous faire une idée précise selon vos resources.
Les auteurs ne sont pas importés
Si vous avez un nombre important d'auteurs et de posts, il vous faudra trouver une procédure de migration supplémentaire.
Les catégories sont converties en tags
Dans notre cas, les urls des catégories Wordpress étaient définies sur /categories/*. Une simple redirection dans le fichier redirects.json de Ghost fonctionne parfaitement:
redirects.json (à importer depuis la section "Labs" de l'interface d'aministration Ghost):
[
{
"from": "^\\/categorie\\/(.*)$",
"to": "/tag/$1",
"permanent": true
}
]
URL des fichiers uploads
L'url des images change, nous avions wp-content/uploads/* pour Wordpress, et maintenant /content/images/* pour Ghost. Il faut mettre en place une redirection ou corriger tous les contenus (ou bien les deux).
Corriger les images insérées dans les contenus
Auparavant, faire un backup de la base Ghost
- exporter les contenus de Ghost
- remplacer toutes les occurrences de
wp-content/uploads/par/content/images/ - effacer tous les contenus de Ghost
- réimporter l'export modifié à l'étape 1