De PluXml à WordPress – Nouveau CMS, nouveau thème

Ça y est, le blog a fait peau neuve ! 🙂

Et oui, comme vous pouvez le constater, mon petit bout de web est désormais propulsé par WordPress. Du coup, vous vous en doutez, la peinture est encore fraîche, donc si vous constatez des dysfonctionnements, n’hésitez pas à me le signaler.

WordPress Logotype Standard

Pour rappel, j’avais défini 7 étapes pour passer de PluXml à WordPress :

  1. Installation d’une instance WordPress en local
  2. Importation des billets depuis PluXml
  3. Importation des commentaires
  4. Installation du thème
  5. Installation des extensions indispensables
  6. Mise en place des redirections
  7. Tests fonctionnels

 

Bon, j’avoue ne pas avoir traité les étapes dans cet ordre mais globalement, cette feuille de route tient… la route.

Bref, comme promis dans mon billet De PluXml à WordPress ?, je vous propose aujourd’hui un récap détaillé de ces différentes étapes.

 

1. Installation d’une instance WordPress en local

Si j’ai démarré la procédure par l’installation d’une instance de WordPress en local, j’ai très vite décidé d’installer une instance en ligne. Pourquoi ? Pour éviter une succession d’exports / imports. D’autre part, la personnalisation de WordPress étant somme toute assez chronophage, je n’avais pas envie de recommencer plusieurs fois les mêmes manips. Donc, toutes les autres étapes de la migration ont été réalisées directement en ligne, dans un sous-domaine autre que blog.juansorroche.com.

Une fois toutes les étapes de la feuille de route réalisées, il m’a suffit de déplacer le blog sous WordPress dans le sous-domaine où se situait le blog sous PluXml. Pour ce faire, j’ai suivi cet excellent guide rédigé par WP FORMATION.

 

2. Importation des billets depuis PluXml

Pour importer les billets de PluXml dans WordPress, j’ai utilisé le script développé par benoitjpnet, disponible sur GitHub.

Il m’a fallu adapter le script pour qu’il soit à peu près fonctionnel car il ne l’était pas totalement avec la dernière version de PluXml. Malheureusement, je ne peux vous partager le script modifié car j’ai vraiment fait les adaptations en mode « dégueulasse ».

Le résultat étant loin d’être parfait, il m’a fallu ensuite reprendre tous les billets, un à un, pour entre autre : peaufiner la mise en page, ajouter des photos d’illustrations par-ci par-là et modifier certains permaliens. J’en ai également profité pour retravailler les catégories et les étiquettes.

Cette étape, la plus longue du processus de migration, ne fut clairement pas de tout repos. En tout, j’ai passé près de 12 heures cumulées pour rapatrier et retravailler tous les billets. Mais le jeu en valait la chandelle. 🙂

 

3. Importation des commentaires

Vous l’aurez constaté, pour le moment, les commentaires n’ont pas été migrés. Malheureusement, je n’ai pas réussi à les récupérer de manière satisfaisante. Je tenterai à nouveau la manip dans les prochains jours.

 

4. Installation du thème

Au départ, je comptais reprendre le même thème que j’utilisais sous PluXml car comme je vous l’avais indiqué dans un précédent billet, ce dernier était une adaptation d’un thème WordPress : Flat.

Thème PluXml newFlat

Thème PluXml newFlat adapté par mes soins

 

Je me suis finalement ravisé et ai opté pour un autre thème que je trouve simple et élégant : MyStem. Je l’ai quelque peu adapté (ex. passage en full-width) et j’ai encore des peaufinages à réaliser mais dans l’ensemble, je le trouve plutôt pas mal.

Thème WordPress MyStem

Mon nouveau thème WordPress MyStem

 

5. Installation des extensions indispensables

Tout d’abord, je dois l’avouer : que c’est bon d’avoir un annuaire d’extensions aussi fourni et centralisé. Si avec PluXml il fallait chercher les extensions sur les sites de leurs auteurs, avec WordPress, tout se fait dans le back-office. Et je peux les mettre à jour d’un simple clic. Que du bonheur !

Mais revenons à nos moutons : pour ma part, je n’ai installé que les extensions me semblant indispensables pour démarrer. Bien entendu, cette liste risque de s’allonger avec le temps, mais pour le moment, ça me suffit. ^^

Advanced noCaptcha & invisible Captcha : pour sécuriser les formulaires de commentaires et éviter le SPAM. Attention, l’utilisation de cette extension nécessite l’activation de l’API Google. Cela dit, n’ayez crainte, tout est très bien expliqué dans les réglages de l’extension.

Wordpress extension Advanced noCaptcha & invisible Captcha

Advanced noCaptcha & invisible Captcha

 

Broken Link Checker : essentiel pour vérifier l’existence de liens morts. Celle-ci, je ne la laisse pas activée en continue. Je l’active de temps en temps pour faire une vérification puis cela fait, je la désactive car je ne souhaite pas alourdir mon WordPress inutilement.

 

Loco Translate : pour traduire le thème (mais pas seulement) directement dans le back-office. En effet, après l’installation du thème, je me suis rendu compte que celui-ci n’était pas traduit dans la langue de Molière. Je me suis donc retrouvé avec le formulaires de commentaires ou encore le widget de recherche en anglais. Cette extension m’a donc permis de pallier à ce problème, en attendant de contribuer à la traduction du thème.

Wordpress extension Loco Translate

Loco Translate

 

MyStem Extra : requis avec l’installation du thème MyStem. Cette extension offre la possibilité d’inclure des icônes (Font Awesome) dans les menus et billets et ce, en un clic.

Wordpress extension MyStem Extra

MyStem Extra

 

Prism For WP (Prism Syntax Highlighter) : pour la coloration syntaxique des codes dans mes billets. Indispensable pour les billets techniques. Un must-have.

Wordpress extension Prism For WP

Prism For WP

 

Contact Form by WP Forms : pour la création du formulaire de contact. Simple, WYSIWYG et efficace. J’ai l’habitude de travailler avec le mastodonte Contact Form 7 sur les projets pro, mais pour mon blog, je trouvais ce dernier somme toute démesuré.

Wordpress extension WPForms Lite

WPForms Lite

 

Redirection : pour mettre en place les redirections 301 simplement et efficacement.

Wordpress extension Redirections

Redirections

 

WPS Limit Login : pour éviter les attaques par force brute.

 

6. Mise en place des redirections

Première redirection à mettre en place : rediriger le flux http:// vers https://. Pour ce faire, rien de plus facile, il suffit d’ajouter ceci à votre fichier .htaccess :

RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

 

Pour les billets, plutôt que de m’ennuyer à mettre des redirections en place pour chacun d’entre eux, je suis reparti sur la même structure de permaliens que sous PluXml. Du coup, je ne vais pas pour le moment gérer de redirections. Par contre, je garde un œil sur les erreurs 404 du serveur. Cela me permettra de définir des redirections au cas par cas.

Note du 19/07/2018 à 13h25 : Finalement, j’ai mis en place quelques redirections après avoir consulté les logs des erreurs 404. Grâce à l’extension « Redirection », j’ai redirigé correctement les catégories, les étiquettes et les quelques billets dont les permaliens ont changé. Je continuerai à surveiller les logs 404 (disponibles directement dans l’extension « Redirection ») ces prochains jours et ajouterai les redirections nécessaires au cas pas cas.

 

7. Tests fonctionnels

Les tests ont été relativement rapides à effectuer. Du fait d’avoir repris tous les billets un à un, j’ai pu vérifier l’intégralité du fonctionnement du blog. Cela dit, comme indiqué plus haut, si vous constatez des dysfonctionnements, merci de me les signaler soit via les commentaires, soit via la page de contact.

 

Conclusion

Au final, cette migration m’aura pris un peu plus de 17 heures cumulées. Heureusement que j’ai sauté le pas avec un peu plus de 130 billets au compteur. Je n’ose imaginer le temps que cela m’aurait pris avec plusieurs centaines de billets.

Je suis vraiment satisfait de cette migration et même si je trouve WordPress un poil moins réactif que PluXml (en même temps, vu la légèreté de ce dernier, difficile de faire mieux) je le trouve bien plus complet et bien plus ergonomique. Sérieusement, quel gain de temps au niveau de l’administration du blog !

Maintenant que c’est fait, je vais pouvoir me remettre à écrire parce que mine de rien, c’est tout de même le but ultime de ce blog… partager mes écrits avec vous.