Le 30 octobre 2020, le système de mise à jour automatique de WordPress mettait à jour les sites internet en production de la version 5.5.2 à la version 5.5.3-alpha, une version non définitive. L’équipe Core avait dû temporairement suspendre les téléchargements de la version 5.5.2 en raison d’un bug. Mais un effet de bord imprévu s’est produit : l’API de WordPress s’est mise à servir la version alpha à la place. WP Tavern titrait : « WordPress Auto-Update System Misfires, Updating Live Sites to an Alpha Release. » Une agence y reportait plus d’une centaine de sites affectés. Cet incident contribuait à la méfiance des utilisateurs vis-à-vis des mises à jour automatiques sur WordPress.

J’ai moi-même eu plusieurs sites touchés quand je travaillais encore en agence (justement après y avoir défendu l’intérêt des mises à jour automatiques… aie.). Suite à cet incident, et comme beaucoup d’autres utilisateurs, nous avions fait choix d’adopter le bon vieux réflexe d’attendre quelques jours avant de mettre à niveau nos sites pour toute mise à jour. Une pratique toujours d’actualité dans la communauté WordPress.

Sur Reddit en 2022, un utilisateur se posait la question « Am I dumb for intentionally waiting to update WP? », pratique partagée dans la majorité des réponses. Cloudways formalisera le conseil en 2025 : « Wait a few days after major plugin updates (unless it’s a security fix) ». En mai 2026, à la veille de WordPress 7.0, les retours sont les mêmes : « For production updates, I’ll wait a few days, at least. ».

Treize ans après que WordPress 3.7 a introduit les mises à jour automatiques en arrière-plan, la pratique reste adoptée et essentiellement manuelle.

Quelles pratiques de mise à jour en 13 ans ?

Aujourd’hui les propriétaires de sites et professionnels qui souhaitent contrôler le timing des mises à jour ont essentiellement deux stratégies :

Désactiver les mises à jour automatiques et gérer manuellement

Bloquer les mises à jour automatiques en définissant par exemple une constante dans le fichier wp-config.php comme AUTOMATIC_UPDATER_DISABLED ou WP_AUTO_UPDATE_CORE. Puis mettre à jour au moment souhaité manuellement ou via l’hébergement web qui peut inclure des solutions dédiées.

L’introduction, en août 2020, du bouton d’activation des mises à jour automatiques dans WordPress 5.5 n’a pas fondamentalement changé la donne. Comme le soulignait alors Wordfence, cette fonctionnalité se résumait à une simple option intégrée à l’interface d’administration (en anglais) : activé ou désactivé.

Une approche rigoureuse adoptée par de nombreux professionnels va donc être de :

  1. Désactiver les mises à jour automatiques pour garder le contrôle.
  2. Surveiller les nouvelles versions dès leur publication.
  3. Attendre quelques jours pour évaluer les retours de la communauté.
  4. Mettre à jour manuellement une fois la version validée, tester en amont en préproduction pour les mises à niveau risquées identifiées.

Cette méthode, bien qu’efficace, présente un inconvénient majeur : une maintenance WordPress sérieuse est chronophage et donc potentiellement coûteuse. Oublier de vérifier régulièrement les mises à jour exposera le site à des risques de sécurité ou de compatibilité.

Utiliser une extension dédiée

Avant et après l’incident de 2020, certaines extensions apporteront leurs solutions à ce problème. Prenons le cas des deux gestionnaires de mise à jour les plus utilisés sur le dépôt WordPress.org dont j’ai moi-même été utilisateur.

Companion Auto Update, extension entièrement gratuite lancée en 2016, a introduit des mises à jour automatiques pour le cœur, les extensions et les thèmes, accompagnées d’un système de notifications et de journalisation. L’extension proposera en 2020 sa fonctionnalité de report des mises à jour de x jours limité à 31 jours et appliqué uniformément à toutes les mises à jour automatiques. Cette solution présente toutefois des limites : le report s’applique à l’ensemble des éléments, sans possibilité de différencier les délais selon le type de mise à jour et les mises à jour du cœur WordPress ne sont pas concernées (version 3.8.5, 17 mars 2022). On notera aussi, que le report est global et non par version : si plusieurs extensions publient des mises à jour à des dates différentes, elles partagent le même compteur de délai plutôt que d’avoir un délai individuel.

Easy Updates Manager implémente aussi sa solution en 2018. Présente sur le dépôt depuis 2015, a l’origine comme stops-core-theme-and-plugin-updates, sa première raison d’être était la désactivation granulaire des mises à jour. L’extension c’est transformée au fil du temps en gestionnaire de mise à jour avancé scindé en une proposition gratuite et premium. La fonctionnalité de mises à jour différées, réclamée par leurs utilisateurs, sera ajoutée à la version premium de l’extension : ce qui est toujours le cas aujourd’hui. L’approche reprend celle de Companion : un paramètre de délai global appliqué à tous les niveaux, plutôt qu’un compte à rebours par version basé sur le moment où le site découvre chaque mise à jour.

Une première implémentation limitée

Companion Auto Update et Easy Update Manager ont tous deux le grand mérite d’avoir proposé une solution à la problématique partagée par les utilisateurs : laisser maturer une mise à jour avant de l’appliquer. Toutefois, leurs approches sont similaires, à savoir un délai global appliqué uniformément à l’ensemble des mises à jour. Ce fonctionnement ne reflète pas avec justesse l’approche adoptée par de nombreux professionnels : attendre pour chaque nouvelle version, à partir du moment où celle-ci est disponible.

Une approche plus pertinente consisterait à lancer un compte à rebours par mise à jour au moment où le site WordPress la détecte, ce compte à rebours s’exécutant silencieusement en arrière-plan, puis à laisser l’installation se déclencher une fois le délai écoulé.

Updatronix 1.1, différer les mises à jour par élément et par version

Updatronix est un nouveau gestionnaire de mises à jour avancé pour WordPress développé par mes soins et dont j’ai publié la première version en mars 2026. C’est ma deuxième extension, plus poussée, après m’être fait les dents sur ZenPress.

La version 1.1, publiée en juin 2026, introduit la possibilité de différer toutes les mises à jour automatiques de WordPress avec un niveau de précision plus fin : un délai configurable appliqué individuellement à chaque mise à jour découverte par le site (cœur, extension, thème), chacune bénéficiant de son propre compte à rebours.

Étendre le fonctionnement natif de la découverte des mises à jour WordPress

Régulièrement, via le système de cron (en anglais), votre site internet interroge l’API WordPress pour découvrir si de nouvelles mises à jour sont disponibles. L’instant ou cette requête est faite dépend de votre site, par défaut ce processus est déclenché deux fois par jour à partir de l’instant ou vous avez installé WordPress, c’est ce qui explique que vous ne détectez pas les mises à jour disponible au même instant selon les sites.

Afin de permettre de différer les mises à jour automatiques, Updatronix se greffe sur ce fonctionnement natif (et permet également de le reconfigurer comme vous voulez, mais ce n’est pas le sujet ici). Par exemple : Si une nouvelle version d’une extension est publiée le lundi mais que le cron de votre site s’exécute le mercredi, alors le mercredi est le jour zéro.

Comment ça fonctionne

Updatronix ne remplace par le moteur de mise à jour, il se greffe à l’instant où WordPress décide d’installer celle-ci après l’avoir découverte, et pose une question : cette offre exacte a-t-elle été vue depuis au moins X jours ? (X dépendant de la configuration que vous aurez choisi).

Pour y répondre, Updatronix tient un registre de chaque mise à jour détectée : de quoi il s’agit (extension, thème, cœur, traduction), son nom et sa version, avec la date à laquelle votre site l’a découverte pour la première fois. À chaque passage du cron, si le délai configuré n’est pas encore écoulé, l’installation est mise en attente et la date à laquelle elle deviendra éligible est enregistrée. Une fois le délai passé, WordPress procède à l’installation normalement, sans intervention de votre part. Ce registre se nettoie de lui-même, quand une mise à jour disparaît du dépôt son entrée est automatiquement supprimée (par exemple : quand une extension retirée, ou encore une version remplacée par une plus récente).

Interface utilisateur

Tant qu’une mise à jour est différée, les pages pertinentes de l’interface d’administration de WordPress (Mises à jour, Thèmes, Extensions) affichent une notification d’information.

Les journaux de mise à jour d’Updatronix enregistrent chaque offre différée avec le statut Annulé et la date exacte à laquelle elle devient éligible, l’administrateur voit ce qui est en attente et quand la mise à jour sera installée. La mise à jour différée ne déclenche pas les notifications par e-mail natives.

L’avantage de différer les mises à jour « par offre » plutôt que globalement

L’approche d’un professionnel qui s’occupe d’une maintenance WordPress est plus fine que « je vais tout bloquer pendant 7 jours ». On l’a vu, les utilisateurs attendes que telle ou telle extension précise soit sortie depuis quelques jours et donc testée par la communauté avant de la laisser s’installer. L’avantage d’un compte à rebours propre à chaque élément permet de mieux se rapprocher de cette pratique éprouvée de mise à jour plutôt que de tout retarder d’un seul tenant.

Pour comprendre comment WordPress découvre les mises à jour en premier lieu, j’ai publié une documentation (en anglais) : Discovery: How WordPress detects available updates.

Comment différer les mises à jour automatiques de WordPress avec Updatronix

Configuration rapide dans le gestionnaire avancé de mise à jour.

Mettre à jour vos sites sereinement

Je prépare la version professionnelle que je souhaite abordable : Updatronix 3000 (wow trop stylé comme nom n’est-il pas ?). Elle enrichit Updatronix de nouvelles fonctionnalités destinées aux développeuses et développeurs, aux utilisatrices et utilisateurs avancés et aux agences.

  • Outils développeurs/développeuses : Des hooks, des fonctions et une API pour intégrer Updatronix à votre propre flux de travail. (Par exemple: Déclenchement de sauvegardes, automatisation des rapports de maintenance…).
  • Mises à jour sécurisées : Vérification de la compatibilité PHP, alertes pour les extensions abandonnées et protection du contrôle de version (git).
  • Flux de mise à jour : Définissez l’ordre exact dans lequel vos extensions se mettent à jour.
  • Marque blanche agence.

Bientôt disponible, modèle économique : un paiement, une licence, un site, mises à jour à vie. Pour les utilisateurs qui auront besoins d’un support avancé, ce qui est le plus chronophage, une offre complémentaire annuelle sera disponible.

J’espère que vous aurez trouvé cette publication intéressante ! Si vous avez des questions, ou que vous voulez apporter votre contribution, n’hésitez pas à me contacter ou à laisser un petit commentaire !


Discussion

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *


Auteur

Photo de Quentin Le Duff

Quentin Le Duff

Quentin Le Duff est développeur WordPress depuis dix ans, certifié Opquast® Expert & ISTQB. Il travaille avec WordPress au quotidien : développement d’extensions open source et de thèmes, hébergement et maintenance des sites de ses clients, et rédaction sur l’écosystème WP.