time_read21mn de lecture

Comment fonctionnent les mises à jour automatiques de WordPress ?

23 juin 2023

Comment fonctionnent les mises à jour automatiques de Wordpress ?

Comme nous le savons, il est important de mettre à jour régulièrement son site WordPress. Lorsque l’on décide de mettre à jour WordPress, il est généralement recommandé de suivre la procédure suivante :

  • Sauvegardes des fichiers Web et de la base de données ;
  • Désactivation de toutes les extensions ;
  • Mise à jour ;
  • Activation des extensions les unes après les autres ;
  • Vérification du fonctionnement de votre site internet.

Bien que les tâches permettant la mise à jour de votre site soient simples, cela peut être fastidieux si vous avez plusieurs sites à mettre à jour. Dans ce but, depuis la version WordPress 3.7, la mise à jour automatique de WordPress est active par défaut afin d’améliorer la sécurité de votre site, mais aussi en faciliter l’administration.

Grâce à cet article, vous allez découvrir comment automatiser le processus de mise à jour à chaque nouvelle version WordPress publiée, que ce soit pour le noyau, les thèmes ou les extensions.

Mises à jour automatique de WordPress

WordPress dispose de différents types de mises à jour qui sont les suivants :

  • Mise à jour du noyau WordPress
  • Update des plugins
  • Mises à jour des thèmes
  • Mises à jour des différentes traductions

De plus, la mise à jour du noyau WordPress comprend 3 catégories de mises à jour qui sont les suivantes :

  • Une mise à jour de développement: Il est conseillé d’installer ce type de mise à jour uniquement sur des sites internet en développement.
  • Update mineures du noyau: Il s’agit principalement de mise à jour de maintenance et de sécurité.
  • Mises à jour majeures du noyau.

En ajoutant deux constantes sur le fichier de configuration “wp-config.php“, il vous est possible d’automatiser le processus de mise à jour.

Comment contrôler les mises à jour via wp-config.php ?

Quelques constantes sont fournies par WordPress afin de vous permettre de contrôler les mises à jour. En effet, vous avez par exemple la possibilité de définir la valeur de “AUTOMATIC_UPDATER_DISABLED” sur “true” afin de désactiver toutes les mises à jour :

define( 'AUTOMATIC_UPDATER_DISABLED', true );

Grâce à la constante WP-AUTO_UPDATE_CORE , il vous sera possible de contrôler les mises à jour du noyau. En effet, il vous sera possible de définir si vous désirez des mises à jour mineures, majeures ou de développement. Vous pouvez définir les constantes comme suit :

#Désactivation toutes les mises à jour du noyau
define( 'WP_AUTO_UPDATE_CORE', false );

#Activer toutes les mises à jour, y compris les mises à jour mineures et majeures
define('WP_AUTO_UPDATE_CORE', true );

#Activer uniquement les mises à jour mineures
define('WP_AUTO_UPDATE_CORE, 'minor' );

Cependant, il est à noter que la valeur par défaut diffère selon le type d’installation que vous avez déployé. En effet, la constante WP_AUTO_UPDATE_CORE est défini sur “true” pour les installations en développement tandis que pour les installations stables, cette valeur est définie sur mineure.

Il existe une autre constante permettant de désactiver les mises à jour automatiques. Cependant, en réglant cette valeur sur “true” vous allez aussi interdire les modifications de fichiers, les installations et mises à jour manuelles des thèmes et extensions. La commande est la suivante :

define( 'DISALLOW_FILE_MODS', true);

Vous avez aussi la possibilité de désactiver l’éditeur de fichier présent sur votre Tableau de bord WordPress à l’aide de la constante DISALLOW_FILE_EDITS.

Comment contrôler les mises à jour à l’aide de filtres API?

Il a été vu précédemment que l’ajout de constantes permettait d’activer ou désactiver des mises à jour. Cependant, WordPress fournit également des filtres permettant de contrôler vos mises à jour.

En effet, il est possible de contrôler les différentes mises à jour WordPress grâce à des filtres tel que “auto_update_$type“. La valeur “$type” correspondant au core, plugin, theme ou translation (traduction).

De ce fait, il est tout à fait possible d’automatiser toutes les mises à jour en y retournant true par le biais d’un filtre comme suit :

add_filter( 'auto_update_core',  '__return_true' );

Si vous désirez activer les mises à jour pour les thèmes, les extensions et les fichiers de traductions, le code sera le suivant :

add_filter('auto_update_theme', '__return_true' );
add_filter('auto_update_plugin', '__return_true' );
add_filter('auto_update_translation', '__return_true' );

Grâce aux exemples présentés ci-dessus, vous êtes désormais en mesure d’activer les mises à jour automatiques sur votre formule WordPress. Cependant, ces filtres ne nous permettent pas d’avoir un contrôle complet sur les mises à jour. Il est possible d’automatiser la mise à jour pour deux extensions spécifiques à l’aide du code suivant :

function cb_auto_update_plugins ( $update, $item ) {
$plugins = array ( 'hello', 'akismet' );
if ( in_array( $item->slug, $plugins ) ) {

//mise à jour plugins
return true;
} else {
return $update;
}
}
add_filter( 'auto_update_plugin', 'cb_auto_update_plugins', 10, 2 );

Le code ci-dessus va vérifier si l’élément à mettre à jour se trouve dans le tableau ‘plugins’ puis va retourner la réponse true ou false selon le cas.

Il est également possible de faire la différence en les différentes mises à jour (développement, mises à jour mineures ou majeures grâce aux filtres suivants :

add_filter( 'allow_dev_auto_core_updates', '__return_false' );
add_filter( 'allow_minor_auto_core_updates', '__return_true');
add_filter ('allow_major_auto_core_updates', '__return_true');

En principe, les mises à jour WordPress s’effectue sans erreur. Cependant, il peut arriver parfois que la mise à jour échoue et que votre site devienne de ce fait, inaccessible. Par conséquent, il est préférable d’être averti par email après toutes mises à jour ou tentative de mises à jour.

Comment recevoir un email de notification de mises à jour?

Selon le résultat obtenu lors de la mise à jour, WordPress enverra un email à l’administrateur du site. Cependant l’email peut être différent selon le type de résultat obtenu. En effet, vous pouvez recevoir l’un des emails suivants :

  • Un e-mail de résultat : L’email est envoyé suite à une mise à jour du noyau
  • Email de notification : Cela est envoyé lorsque WordPress n’a pas réussi à exécuter la mise à jour de votre site
  • Un courriel de debogage : Ce dernier est envoyé uniquement s’il s’agit d’une version de développement.

Par conséquent, chaque fois qu’une mise à jour de votre site WordPress a réussi ou échoué, un email de résultat est envoyé. Le sujet du mail est différent selon le type de message.

Grâce à la mise en place de la constante auto_core_update_send_email, vous pouvez être prévenu par email de l’état de votre mise à jour. Vous pouvez aussi désactiver la notification en renvoyant false comme dans l’exemple ci-dessous :

apply_filters( ‘auto_core_update_send_email’, ‘__return_false’ );

Le code est largement personnalisable selon vos besoins. En effet, vous pouvez par exemple prévoir d’étendre les mises à jour aux versions majeures du noyau. Vous pouvez aussi demander l’activation des notifications par email selon le résultat obtenu. Vous pouvez par exemple suivre l’exemple suivant qui enverra une notification qu’en cas d’erreur :

function cb_auto_core_update_send_email ( $send, $type, $core_update, $result )
if ( !empty( $type ) && $type = 'success' ) {

//pas envoi email
return false;
}
return $send;
}
}
add_filter( 'auto_core_update_send_email', 'cb_auto_core_update_send_email', 10, 4 );

Par défaut, les administrateurs seront avertis lorsqu’une mise à jour de WordPress active un indicateur particulier. Vous serez aussi averti su l’installation de la mise à jour échoue. Afin de permettre une certaine discrétion lors de l’envoi des emails à l’administration, il vous faudra utiliser le code suivant :

apply_filters( 'send_core_update_notification_email', '__return_true' ):

Il est aussi possible de contrôler les emails de débogage en utilisant la constante “automatic_updates_send_debug_email“. Bien que cela soit actif uniquement par défaut sur les installations en développement, il est tout à fait possible de l’activer sur une version stable en utilisant la valeur true :

apply_filters( 'automatic_updates_send_debug_email', '__return_true' );

Pourquoi désactiver les mises à jour WordPress ?

Les mises à jour ne doivent être négligées, cependant il peut être nécessaire de les désactiver. En effet, il est possible que des problèmes d’incompatibilité posent problème. Il n’est pas rare que des thèmes et/ou extensions utilisées ne soient pas compatible avec le dernier noyau WordPress. Par conséquent, certaines fonctionnalités pourraient ne plus fonctionner. De plus, votre site pourrait ne plus s’ouvrir. Dans cette optique, si votre site dispose d’un grand nombre d’extensions, il peut être préférable d’effectuer les mises à jour manuellement.

Si vous êtes développeur, il est nécessaire de faire attention aux noms que vous allez donner à vos thèmes et extensions. En effet, lors de l’exécution des mises à jour, WordPress va rechercher les mises à jour pour chacune des extensions installées par vos soins. De ce fait, si une nouvelle version est disponible pour un plugin et/ou thème, il écrasera les fichiers de votre extension, si cette dernière porte le même nom qu’une extension existante.

Comment contrôler les mises à jour à l’aide d’une extension?

Il existe un moyen encore plus simple de contrôler les mises à jour WordPress. Grâce à Easy Updates Manager, vous serez en mesure de contrôler les mises à jour WordPress. En effet, cette extension permet de gérer toutes les typologies de mises à jour, y compris les thèmes et extensions. De plus, il vous est possible de gérer les emails de notification et d’une fonctionnalité permettant la journalisation des mises à jour de vos extensions.

mises à jour automatique WordPress

En cas d’incompatibilité d’une version précédente d’un thème ou plugin, vous avez la possibilité de restaurer une version précédente en utilisant le plugin WP Rollback. Cependant, il est à noter que ce dernier plugin ne vous sera pas utile si votre site tombe en panne.

mises à jour automatique WordPress

Il est possible de vérifier la compatibilité sur les mises à jour automatique à l’aide du plugin Background Update Tester.

Conclusion

Grâces aux mises à jour automatiques de WordPress, vous êtes en mesure de gagner beaucoup de temps. Cependant, dans certaines situations, il est nécessaire de désactiver certaines mises à jour.  En effet, il peut y avoir des problèmes d’incompatibilité entre le noyau et les plugins utilisés.

hebergement web

Avatar de l'auteur

Auteur de l'article

Fabrice S.

Développeur web full stack et consultant SEO. Je suis Fabrice, expert en développement web Full Stack, consultant SEO et noms de domaine chez LWS 🌐. J'adore partager mes astuces et mon expérience pour vous aider à briller sur le web ! Suivez-moi pour des conseils pratiques et fun 😊.

Il y a 302 jours

note article

5/5 (106 votes)

Commentaires (0)
Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

White Book for other Category

Hébergement Web LWS - 3 mois offerts

Hébergement Web Starter LWS GRATUIT pendant 3 mois ! 🚀

Cette offre exclusive comprend tout ce dont vous avez besoin pour créer votre site web GRATUITEMENT : Hébergement 250Go SSD, 5 sites webs hébergeables, WordPress et autres CMS en 1 clic, support réactif 7J/7, serveurs en France...