Mises à jour automatiques des plugins WordPress : lesquelles activer ?

Liste des extensions WordPress filtrée sur les mises à jour auto activées : Akismet, UpdraftPlus et Wordfence

L’essentiel à retenir ℹ️

Depuis WordPress 5.5, chaque plugin se règle à part dans Extensions > Extensions installées, colonne Mises à jour automatiques, avec le lien Activer les mises à jour auto. Ma règle : en automatique les plugins de sécurité, l’antispam, la sauvegarde et les petits utilitaires à une seule fonction ; en manuel WooCommerce et ses extensions, les constructeurs de pages, les plugins premium à licence et tout ce qui modifie la base de données. Depuis WordPress 6.6, une mise à jour automatique qui provoque une erreur fatale PHP est annulée toute seule, mais ce filet ne voit ni un panier cassé ni une mise en page de travers. Une sauvegarde quotidienne reste donc obligatoire, et les e-mails de notification se lisent.

Tout activer en automatique ou tout faire à la main ? Si vous hésitez entre les deux, cet article est pour vous. Les deux extrêmes coûtent cher : tout en automatique, c’est le jour où une mise à jour de votre constructeur de pages casse la page d’accueil pendant que vous êtes en vacances. Tout en manuel, c’est le plugin de formulaire qui garde trois semaines une faille connue parce que vous n’avez pas eu le temps de passer dans l’admin.

La bonne réponse se trouve entre les deux, plugin par plugin. Je vous donne ma règle de tri, la manipulation dans l’admin, le filet de sécurité à poser avant, et deux bouts de code pour ceux qui gèrent plusieurs sites. Les libellés cités sont ceux de la version française de WordPress 7.1, relevés dans le code et les traductions officielles. Pour le panorama complet (cœur, thèmes, traductions), j’ai un autre tuto sur la mise à jour automatique de WordPress, de ses plugins et de son thème. Ici, on parle uniquement de tri.

Ce que fait vraiment une mise à jour automatique de plugin

Avant de trier, il faut savoir ce qui se passe quand vous cliquez sur « auto ». WordPress interroge WordPress.org deux fois par jour via WP-Cron, son planificateur de tâches. Quand une nouvelle version d’un plugin coché est disponible, l’installation se lance en arrière-plan, sans vous demander votre avis. Au passage, WP-Cron a besoin d’une visite sur le site pour se déclencher : sur un site sans trafic, la mise à jour peut traîner.

Pendant l’opération, le site passe quelques secondes en mode maintenance. WordPress vérifie aussi la version de PHP exigée par le plugin : si votre serveur est trop ancien, la mise à jour n’est pas tentée. Et depuis WordPress 6.6, juste après l’installation, WordPress appelle la page d’accueil de votre site en coulisses pour détecter une erreur fatale PHP. S’il en trouve une, il restaure l’ancienne version du plugin et vous prévient par e-mail.

Soyons clairs sur les limites de ce retour arrière automatique (rollback en anglais). Il ne concerne que les plugins actifs, pas les thèmes. Il ne teste que la page d’accueil, et uniquement l’erreur fatale. Un tunnel de commande qui ne valide plus, un formulaire qui n’envoie plus rien, une mise en page qui explose sur une page intérieure : il ne voit rien de tout ça. Et si cet appel interne échoue pour une autre raison (pare-feu trop zélé, protection par mot de passe mal réglée), WordPress le prend pour une erreur et annule la mise à jour. C’est un airbag, pas un pilote automatique.

LIRE AUSSI  Font Library WordPress : gérer ses polices sans plugin et héberger ses Google Fonts en local

Ma règle de tri : quel plugin en automatique, lequel en manuel

Je me pose deux questions pour chaque plugin. Que se passe-t-il si je rate une mise à jour de sécurité pendant dix jours ? Et que se passe-t-il si la nouvelle version casse quelque chose sans que je sois là ? La réponse range le plugin dans une des deux colonnes.

En automatique, sans hésiter

Liste des extensions WordPress filtrée sur les mises à jour auto activées : Akismet, UpdraftPlus et Wordfence
  • Les plugins de sécurité (Wordfence, Solid Security et consorts) : leur métier, c’est de réagir vite. Un pare-feu en retard d’une version, c’est un videur qui ne connaît pas les nouvelles têtes.
  • L’antispam (Akismet) : petit, stable, sans impact sur l’affichage.
  • Le plugin de sauvegarde (UpdraftPlus, BackWPup) : vous voulez qu’il fonctionne le jour où vous en aurez besoin.
  • Les petits utilitaires à une seule fonction : redirections, plan du site, gestion des avatars, masquage de l’adresse de connexion. Peu de code, peu de risques, et souvent des failles faciles à exploiter quand ils sont oubliés.

Sachez que certains plugins de sécurité gèrent leurs mises à jour eux-mêmes. Wordfence, par exemple, a sa propre option « mettre à jour Wordfence automatiquement » dans ses réglages, indépendante de la colonne de WordPress. Vérifiez les deux endroits avant de conclure qu’il est en manuel.

En manuel, toujours

  • WooCommerce et ses extensions (paiement, livraison, abonnements) : une mise à jour majeure peut toucher la base de données et le tunnel de commande. Une boutique qui n’encaisse plus pendant un week-end, ça pique.
  • Les constructeurs de pages (Elementor, Divi, WPBakery) : ils dessinent toutes vos pages. Une régression, et c’est tout le site qui se décale.
  • Les plugins premium à licence : licence expirée, mise à jour bloquée côté éditeur, extension « Pro » pas encore compatible avec la version gratuite. Mieux vaut cliquer vous-même.
  • Tout ce qui migre la base de données : plugins de membres, LMS, CRM, multilingues. Une migration qui s’interrompt au milieu ne se rattrape pas avec un simple retour arrière du plugin.
  • Les plugins modifiés à la main ou développés sur mesure : la mise à jour écraserait vos retouches.

Reste le cas des plugins inactifs. Ma réponse est simple : supprimez-les. Un plugin désactivé reste sur le serveur, ses fichiers restent exploitables, et le filet de WordPress 6.6 ne le teste même pas puisqu’il n’est pas chargé. Pas la peine de réfléchir à ses mises à jour s’il n’existe plus.

Activer ou couper la mise à jour auto, plugin par plugin

  1. Allez dans Extensions > Extensions installées.
Écran Extensions installées de WordPress avec la colonne Mises à jour automatiques à droite du tableau
  1. Repérez la colonne Mises à jour automatiques, tout à droite du tableau.
  2. Pour chaque plugin de votre colonne « automatique », cliquez sur Activer les mises à jour auto. Le lien devient Désactiver les mises à jour auto, et une mention Mise à jour automatique planifiée dans… apparaît quand une version est en attente.
Lien Activer les mises à jour auto encadré dans la colonne de droite de la liste des plugins WordPress
  1. Pour aller plus vite, cochez plusieurs plugins et choisissez Activer les mises à jour auto dans le menu Actions groupées.
Menu Actions groupées de WordPress avec l'option Activer les mises à jour auto sélectionnée
  1. Contrôlez le résultat avec les filtres en haut de la liste : Mises à jour auto activées et Mises à jour auto désactivées.
Filtres Mises à jour auto activées et désactivées en haut de la liste des extensions WordPress

Pas de lien dans la colonne pour un plugin ? Deux explications. Soit c’est un plugin premium qui ne passe pas par le système de mise à jour de WordPress : il gère tout de son côté, regardez ses propres réglages. Soit la colonne affiche Mises à jour auto activées ou désactivées en texte simple, sans lien : le réglage est imposé par du code (votre hébergeur, un plugin de gestion ou un développeur). Et si la mention indique La mise à jour automatique est en retard, c’est WP-Cron qui ne tourne pas. Côté thèmes, le même réglage se trouve dans Apparence > Thèmes, dans la fiche de détails de chaque thème.

LIRE AUSSI  Comment personnaliser les menus d'administration de WordPress

Le filet de sécurité avant d’appuyer sur « auto »

Premier réflexe : une sauvegarde automatique quotidienne, fichiers et base de données, stockée hors du serveur. Si vous n’en avez pas, réglez ça avant de toucher à la moindre case, avec ma méthode pour sauvegarder un site WordPress. Une mise à jour automatique la nuit, une sauvegarde la nuit d’avant : vous avez toujours un point de retour de moins de 24 heures.

Deuxième chose : un site de test (staging, préproduction en français) pour les plugins de la colonne manuelle. Beaucoup d’hébergeurs en proposent un en un clic. Vous y appliquez la mise à jour de WooCommerce ou d’Elementor, vous passez une commande de test, vous ouvrez trois pages clés. Si tout tient, vous refaites la manip en production.

Et le contrôle le plus souvent oublié : vérifiez dans Outils > Santé du site que le test des requêtes de bouclage passe : le message attendu est « Votre site peut lancer des requêtes de bouclage ». C’est précisément l’appel interne qu’utilise le retour arrière de WordPress 6.6. S’il est en échec, le filet ne fonctionne pas comme prévu. Pour le reste de la procédure manuelle, mon guide pour réussir une mise à jour WordPress sans casser votre site prend le relais.

Pour les développeurs : piloter le tri par le code

Si vous gérez plusieurs sites, cliquer plugin par plugin devient vite pénible. Le filtre auto_update_plugin décide pour chaque plugin. Attention : toute valeur forcée par ce filtre écrase les choix faits dans l’admin, et la colonne affiche alors un texte sans lien. Avant de coller quoi que ce soit, faites une sauvegarde et testez sur un site de préproduction. Placez le code dans un mu-plugin (un fichier PHP dans wp-content/mu-plugins/) plutôt que dans le functions.php du thème, qui saute au premier changement de thème.

<?php
// wp-content/mu-plugins/tri-mises-a-jour-auto.php
add_filter( 'auto_update_plugin', function ( $update, $item ) {
	if ( empty( $item->slug ) ) {
		return $update;
	}

	// Toujours en automatique (slugs du répertoire WordPress.org)
	$toujours_auto = array( 'akismet', 'wordfence', 'updraftplus' );

	// Jamais en automatique, quel que soit le réglage de l'admin
	$jamais_auto = array( 'woocommerce', 'elementor' );

	if ( in_array( $item->slug, $toujours_auto, true ) ) {
		return true;
	}
	if ( in_array( $item->slug, $jamais_auto, true ) ) {
		return false;
	}

	// Pour tous les autres, on respecte le choix fait dans l'admin
	return $update;
}, 10, 2 );

Le filtre jumeau auto_update_theme fait la même chose pour les thèmes. Le filtre plugins_auto_update_enabled, lui, ne fait que masquer la colonne dans l’admin, sans rien activer ni désactiver : pratique sur un site client pour éviter qu’on y touche. Et la constante AUTOMATIC_UPDATER_DISABLED placée dans wp-config.php coupe toutes les mises à jour en arrière-plan, y compris les correctifs de sécurité du cœur et les e-mails de notification. Je la déconseille sur un site en production.

En ligne de commande avec WP-CLI

Autre option si vous avez un accès SSH à votre hébergement : WP-CLI, l’outil en ligne de commande de WordPress. La commande wp plugin auto-updates et ses sous-commandes enable, disable et status font le même travail que les liens de l’écran Extensions, sans ouvrir l’admin. Sur dix sites, un petit script fait le tri en quelques secondes.

# Activer la mise à jour auto de trois plugins
wp plugin auto-updates enable akismet wordfence updraftplus

# La couper pour la boutique et le constructeur de pages
wp plugin auto-updates disable woocommerce elementor

# Afficher l'état de tous les plugins
wp plugin auto-updates status --all

Ces commandes modifient le même réglage que l’admin. Un filtre auto_update_plugin placé dans un mu-plugin garde donc le dernier mot sur les plugins qu’il force.

LIRE AUSSI  « Allowed memory size exhausted » sur WordPress : augmenter la limite de mémoire PHP

Les e-mails de notification : les garder, mais seulement les utiles

Après chaque passage, WordPress envoie un e-mail à l’adresse d’administration du site : mises à jour réussies, échouées, ou un mélange des deux. Quand une mise à jour échoue plusieurs fois vers la même version, seul le premier échec déclenche un e-mail. Un retour arrière après erreur fatale compte comme un échec : c’est l’e-mail qu’il ne faut surtout pas rater.

Avec dix sites en automatique, les e-mails de réussite deviennent du bruit, et le bruit fait rater l’alerte. Plutôt que de tout couper avec add_filter( 'auto_plugin_update_send_email', '__return_false' );, je garde uniquement les e-mails qui signalent un problème :

<?php
// N'envoie l'e-mail des mises à jour auto de plugins que s'il y a au moins un échec
add_filter( 'auto_plugin_update_send_email', function ( $enabled, $update_results ) {
	foreach ( $update_results as $update_result ) {
		if ( true !== $update_result->result ) {
			return true; // un échec ou un retour arrière : on prévient
		}
	}
	return false; // que des réussites : pas d'e-mail
}, 10, 2 );

Le filtre auto_theme_update_send_email joue le même rôle pour les thèmes. Petit conseil : envoyez ces alertes vers une adresse que vous lisez vraiment, pas vers une boîte « contact » que personne n’ouvre.

Mes recommandations

Premier conseil : faites le tri une bonne fois, avec la liste ci-dessus, puis revoyez-le à chaque nouveau plugin installé. Deuxième conseil : pas d’automatique sans sauvegarde quotidienne, jamais. Et le plus sous-estimé : les plugins en manuel exigent un rendez-vous fixe, une fois par semaine, sinon « manuel » finit par vouloir dire « jamais ». Les failles récentes, comme wp2shell dans le cœur de WordPress, montrent à quelle vitesse une faille publiée se retrouve exploitée.

Si vous gérez plusieurs sites, un outil comme MainWP rassemble les mises à jour manuelles sur un seul tableau de bord. Et les mises à jour ne sont qu’une brique : voyez aussi mes conseils pour améliorer la sécurité de votre site WordPress.

Bref : passez en automatique la sécurité, l’antispam, la sauvegarde et les petits utilitaires, gardez en manuel la boutique, le constructeur de pages et les plugins premium, et lisez les e-mails d’échec. Si je ne devais garder qu’une règle : un plugin qui peut vous faire perdre de l’argent s’il casse se met à jour quand vous êtes devant l’écran.

Foire aux questions

Il n’y a pas d’heure fixe. WordPress vérifie deux fois par jour via WP-Cron, à partir du moment où la tâche a été planifiée sur votre site, et seulement si une visite déclenche WP-Cron. La mention « Mise à jour automatique planifiée dans… » de l’écran Extensions donne le délai restant.

Lisez d’abord l’e-mail reçu : il nomme le plugin en cause. Désactivez ce plugin (par FTP en renommant son dossier si l’admin est inaccessible), coupez sa mise à jour auto, puis restaurez la sauvegarde de la veille ou réinstallez la version précédente.

Soit le plugin ne passe pas par le système de mise à jour de WordPress (cas de certains plugins premium), soit le réglage est imposé par du code, soit les mises à jour en arrière-plan sont coupées sur tout le site, par exemple par la constante DISALLOW_FILE_MODS ou AUTOMATIC_UPDATER_DISABLED. Demandez à votre hébergeur ou à votre développeur.

Non. Passez en automatique les plugins de sécurité, l’antispam, la sauvegarde et les petits utilitaires, et gardez la main sur WooCommerce, le constructeur de pages et les plugins premium. Le critère : ce que vous coûte une panne en votre absence, comparé à une faille non corrigée pendant dix jours.

Seulement si leur éditeur a branché le plugin sur le système de mise à jour de WordPress. Dans ce cas, le lien « Activer les mises à jour auto » apparaît comme pour un plugin du répertoire WordPress.org. Sinon, cherchez l’option dans les réglages du plugin, et vérifiez que la licence est toujours valide.

Non. Il ne s’applique qu’aux plugins actifs mis à jour automatiquement, et seulement en cas d’erreur fatale PHP détectée sur la page d’accueil. Pour un thème, votre seul point de retour reste la sauvegarde.

Steve Chevillard

A propos de Steve Chevillard

Je suis responsable du numérique pour Philo éditions (Philosophie magazine, Sciences Humaines, Philonomist) et j'utilise WordPress depuis la fin des années 2000. J'ai créé astuceswp.fr en 2018 pour partager mon expérience et aider ceux qui veulent se lancer sur WordPress ou aller plus loin avec leur site. Je publie des tutoriels pratiques sur WordPress, l'hébergement, le SEO et les outils numériques, en essayant de rester le plus clair et accessible possible. Mon objectif : vous donner les clés pour être autonome sur votre site, sans vous noyer dans le jargon technique.