La bonne façon de mettre à jour les extensions WordPress sans casser le site

Les mises à jour qui cassent un site en production sont un problème que l’on s’inflige soi-même. Voici la méthode sûre et reproductible pour mettre à jour les extensions WordPress d’un site d’entreprise.

A monitor representing updating WordPress plugins without breaking the site

La raison la plus fréquemment invoquée pour ne pas mettre à jour les extensions WordPress est la peur. La peur qu’une mise à jour casse le site, que le paiement cesse de fonctionner, que le formulaire de contact échoue en silence, qu’une intégration sur mesure s’effondre. Cette peur est légitime. Les mises à jour d’extensions cassent parfois des choses. La solution n’est pas de les ignorer. La solution est de mettre à jour d’une manière qui contient le risque.

Cet article détaille la routine que nous appliquons sur chaque site WordPress que nous gérons. Elle n’a rien d’exotique et ne requiert pas d’outils sophistiqués. Elle exige la discipline d’exécuter les étapes dans le bon ordre, à chaque fois.

Étape 1 : faites d’abord une vraie sauvegarde

Avant toute mise à jour d’extension, faites une sauvegarde complète. Pas seulement la base de données, pas seulement les fichiers. Les deux, ensemble, avec la version de WordPress et la liste des extensions consignées. La sauvegarde doit se trouver ailleurs, pas seulement sur le serveur que vous vous apprêtez à modifier. Et ce doit être la sauvegarde la plus récente dont vous disposez, pas celle d’hier soir.

Si votre extension de sauvegarde peut produire une archive complète en un clic, faites-en une maintenant. Si votre hébergeur propose des instantanés à la demande, déclenchez-en un. Les cinq minutes que cela prend font la différence entre un retour arrière de quinze minutes en cas de problème et une reconstruction de plusieurs heures.

Étape 2 : lisez le journal des modifications avant de cliquer sur « mettre à jour »

Toute extension sérieuse publie un journal des modifications à chaque version. Ouvrez-le avant de mettre à jour. Repérez les changements cassants, les fonctionnalités obsolètes, les sauts de version majeure et les modifications du schéma de base de données. Une extension passant de la 4.x à la 5.0 mérite plus de prudence qu’une passant de la 4.4.1 à la 4.4.2.

Si le journal mentionne l’une des fonctionnalités dont vous dépendez, planifiez en conséquence. S’il est absent ou vague, c’est en soi un signal d’alerte sur la qualité de maintenance de l’extension.

Étape 3 : mettez d’abord à jour sur un environnement de préproduction pour tout ce qui est risqué

Pour les sites critiques, chaque version majeure d’extension devrait être testée sur une copie de préproduction avant d’être appliquée en production. Un environnement de préproduction n’est qu’un clone actuel de votre site en ligne. La plupart des bons hébergeurs WordPress incluent une préproduction en un clic dans leurs offres. Si le vôtre ne le fait pas, utilisez une extension comme WP Staging ou faites-en créer une par votre développeur.

Appliquez la mise à jour en préproduction. Parcourez les chemins clés. Page d’accueil, une page de catégorie, une page produit, le formulaire de contact, le paiement s’il y en a un, le tableau de bord d’administration, le constructeur de pages si vous en utilisez un. Si quelque chose cloche, vous le découvrez sans affecter aucun visiteur réel.

Pour de petits correctifs sur des extensions mineures, la préproduction est excessive. Faites preuve de jugement. Tout ce qui touche au paiement, à la base de données, à l’éditeur ou à une dépendance essentielle mérite le passage par la préproduction.

Étape 4 : mettez à jour par lots, pas tout d’un coup

L’erreur la plus courante que nous observons est de cliquer sur « mettre à jour » pour trente extensions d’un coup, puis de découvrir que le site est cassé sans savoir quelle extension en est la cause. Isoler un problème parmi une pile de mises à jour simultanées est pénible.

Mettez à jour par petits lots. Trois à cinq extensions à la fois est une taille raisonnable. Appliquez, faites un test rapide, poursuivez. Si quelque chose casse, vous avez un ensemble restreint de suspects à examiner, et votre retour arrière a une portée claire.

Étape 5 : faites un test rapide après chaque lot

Un test rapide est un parcours éclair des parties du site qui comptent le plus. La page d’accueil se charge. L’en-tête et le pied de page s’affichent correctement. La navigation principale fonctionne. Une page interne représentative se charge. Le formulaire de contact envoie. Le panier ajoute et retire des articles. Le tableau de bord s’ouvre. Les journaux ne montrent pas de nouvelles erreurs.

Tenez un test rapide écrit pour chaque site que vous gérez. Cinq minutes par lot, c’est une assurance bon marché.

Étape 6 : ayez un plan de retour arrière prêt

Quand une mise à jour casse quelque chose et que vous ne pouvez pas le corriger rapidement, la bonne décision est de revenir en arrière. L’extension que vous venez de mettre à jour avait une version précédente. La plupart des places de marché d’extensions permettent de télécharger les versions antérieures. Certains sites WordPress ont une extension comme WP Rollback installée précisément à cet effet. Certains hébergeurs vous permettent de restaurer une seule extension depuis un instantané récent.

Quelle que soit la voie choisie, connaissez-la avant de commencer. N’essayez pas de comprendre le processus de retour arrière pendant l’incident.

Étape 7 : planifiez les mises à jour pendant les périodes de faible trafic

Même avec tout ce qui précède, appliquer des mises à jour à votre heure de pointe est un risque inutile. La plupart des entreprises australiennes ont une fenêtre de faible trafic bien identifiée, généralement en fin de soirée ou très tôt le matin. Planifiez les mises à jour de routine sur cette fenêtre. Si vous faites du e-commerce international, choisissez la période réellement la plus creuse pour votre audience.

C’est aussi le moment d’exécuter les migrations de base de données, les changements de thème ou toute autre maintenance plus lourde. Plus l’audience témoin d’un problème temporaire est réduite, mieux c’est.

Étape 8 : documentez les extensions qui ont posé problème

Si une extension particulière casse le site chaque fois que vous la mettez à jour, c’est une information. Soit l’extension est fragile, soit son processus de mise à jour est bâclé, soit votre personnalisation entre en conflit avec elle. Notez-le. Testez les mises à jour de cette extension avec un soin accru à chaque fois. Si le schéma persiste, envisagez de la remplacer.

À l’inverse, si une extension s’est mise à jour proprement cinquante fois de suite, vous pouvez être moins prudent avec elle. L’historique est un signal utile.

L’habitude de fond : ne modifiez pas les fichiers des extensions

La meilleure chose à faire pour rendre les mises à jour d’extensions sûres est de ne jamais modifier directement les fichiers des extensions. Chaque personnalisation devrait vivre dans un thème enfant, une extension spécifique au site ou un gestionnaire d’extraits de code. Ainsi, lorsque l’extension se met à jour, vos modifications restent intactes. Le nombre de fois où nous avons vu une modification sur mesure effacée par une mise à jour de routine est inconfortablement élevé.

Utilisez les hooks et filtres de l’extension. Si une extension ne fournit pas de hook pour ce dont vous avez besoin, demandez-le au développeur ou utilisez une extension plus souple. Modifier les fichiers centraux d’une extension est un raccourci à court terme au coût à long terme.

Besoin d’un coup de main ?

Si mettre à jour les extensions de votre site WordPress est devenu un moment stressant, ou si vous avez cessé de le faire à cause de casses passées, Smart Coding peut prendre en charge la routine. Nous avons affiné ce processus sur de nombreux sites et serions ravis de l’appliquer au vôtre. Si vous préférez un partenaire pour le gérer de bout en bout, l’équipe de Defyn peut remettre votre stack à jour et le maintenir ainsi.

Avatar de Claire Smith
Sponsored Loved this story? Defyn turns articles like this into the websites your competitors wish they had. Talk to us → defyn.com.au