Mettre à jour WordPress sans casser son site

Mis à jour le :

Pour mettre à jour WordPress sans casser votre site : sauvegardez les fichiers et la base de données, testez les versions majeures sur une copie de préproduction, mettez à jour les extensions et le thème, puis le cœur de WordPress et les traductions, et contrôlez le site juste après. Les versions mineures, qui apportent les correctifs de sécurité, s’installent déjà toutes seules sur la plupart des sites.

On me pose régulièrement la question de la marche à suivre. Le bouton de mise à jour n’a rien de compliqué : ce qui compte, c’est ce que vous faites avant et après.

Versions majeures et versions mineures

Une version majeure se lit sur les deux premiers nombres (6.9, 7.0, 7.1) : elle apporte de nouvelles fonctionnalités et des changements techniques. Une version mineure ajoute un troisième nombre (7.1.1, 7.1.2) et sert aux corrections de bugs et de sécurité. Le passage de 6.9 à 7.0 n’est pas plus « majeur » que celui de 7.0 à 7.1, comme le précise le manuel de l’équipe core sur la numérotation des versions.

Exemple : WordPress 7.1 « Mary Lou », sorti le 19 août 2026, a été suivi de la 7.1.1 puis de la 7.1.2, une version de sécurité qui corrige une faille critique. Toutes les versions sont recensées dans mon historique des versions de WordPress.

Ce que WordPress met à jour automatiquement

Depuis WordPress 3.7, un système de mises à jour en arrière-plan, déclenché par WP-Cron, recherche les nouvelles versions deux fois par jour. Ce qu’il installe seul dépend du type d’élément.

Le cœur de WordPress

Les versions mineures s’installent automatiquement dès lors que WordPress peut modifier ses fichiers sans vous demander d’identifiants FTP. Pour les versions majeures, tout dépend de l’âge du site : une installation réalisée avec WordPress 5.6 ou une version ultérieure les reçoit aussi par défaut, alors qu’un site plus ancien reste limité aux versions de maintenance et de sécurité.

Le réglage se trouve en haut de Tableau de bord > Mises à jour, avec un lien pour basculer d’un mode à l’autre (« Activer les mises à jour automatiques pour toutes les nouvelles versions de WordPress. » ou « Basculer sur les mises à jour de maintenance et de sécurité uniquement. »). Ce lien disparaît quand une constante du fichier wp-config.php ou une extension impose le réglage.

Les traductions

Les traductions sont mises à jour automatiquement par défaut. Vous n’avez rien à faire, sauf si le bouton « Mettre à jour les traductions » apparaît dans l’écran des mises à jour.

Les extensions et les thèmes

Pour les extensions et les thèmes, les mises à jour automatiques existent depuis WordPress 5.5, mais elles sont désactivées par défaut. Vous les activez élément par élément :

  • dans Extensions > Extensions installées, avec le lien « Activer les mises à jour auto » de la colonne « Mises à jour automatiques » (ou via les actions groupées) ;
  • dans Apparence > Thèmes, en cliquant sur un thème puis sur le même lien dans sa fiche.

WordPress affiche ensuite le délai avant la prochaine mise à jour automatique et vous envoie un e-mail après chaque mise à jour réussie ou échouée. Seules les extensions reconnues par WordPress.org ou dotées d’un système de mise à jour compatible sont concernées.

Ma recommandation : laissez les versions mineures et les traductions en automatique, et activez les mises à jour auto des extensions au cas par cas, pour celles qui sont bien maintenues et peu critiques. Pour une boutique ou un site très personnalisé, je préfère des mises à jour contrôlées et testées. La documentation de WordPress.org conseille d’ailleurs de pouvoir revenir en arrière avant d’activer les mises à jour automatiques des extensions et des thèmes.

Régler les mises à jour automatiques par le code

Pour imposer un comportement, par exemple sur un parc de sites, la constante WP_AUTO_UPDATE_CORE du fichier wp-config.php accepte true (toutes les versions), 'minor' (versions mineures uniquement) ou false (aucune) :

// Core: install maintenance and security releases only.
define( 'WP_AUTO_UPDATE_CORE', 'minor' );

AUTOMATIC_UPDATER_DISABLED coupe toutes les mises à jour automatiques, correctifs de sécurité et traductions compris : je la déconseille, sauf si un autre outil prend le relais. DISALLOW_FILE_MODS interdit en plus toute installation ou mise à jour depuis l’administration ; elle est réservée aux sites déployés par Git ou par un pipeline. Ces réglages sont détaillés dans la documentation officielle sur la mise à jour de WordPress.

Pour les extensions, le filtre auto_update_plugin (voir sa référence) force la mise à jour automatique d’une liste précise et laisse le choix dans l’interface pour les autres. À placer dans une extension de fonctions ou un mu-plugin :

<?php
/**
 * Force automatic updates for a list of trusted plugins.
 * Other plugins keep the setting chosen in the Plugins screen.
 *
 * @param bool|null $update Whether to update the plugin.
 * @param object    $item   The update offer.
 * @return bool|null
 */
function wpc_auto_update_trusted_plugins( $update, $item ) {
	$trusted_plugins = array(
		'akismet/akismet.php',
		'your-plugin/your-plugin.php',
	);

	if ( isset( $item->plugin ) && in_array( $item->plugin, $trusted_plugins, true ) ) {
		return true;
	}

	return $update;
}
add_filter( 'auto_update_plugin', 'wpc_auto_update_trusted_plugins', 10, 2 );

Les extensions listées affichent alors « Mises à jour auto activées », sans lien pour les désactiver.

Avant de mettre à jour

Sauvegarder les fichiers et la base de données

Un site WordPress, ce sont des fichiers (le cœur, le dossier wp-content, wp-config.php, .htaccess) et une base de données. La documentation officielle sur les sauvegardes le rappelle : il faut les deux pour restaurer un site, et plusieurs sauvegardes récentes stockées à des endroits différents. L’écran des mises à jour vous le demande d’ailleurs avant toute opération.

L’export de Outils > Exporter ne remplace pas une sauvegarde : le fichier XML reprend vos contenus, mais ni les réglages du site et des extensions, stockés dans la base de données, ni les fichiers. Vérifiez que la sauvegarde est complète et exploitable, puis automatisez-la : voyez comment planifier une sauvegarde automatique des fichiers et de la base MySQL.

Tester sur une préproduction

Pour une version majeure ou une mise à jour importante d’une extension clé (constructeur de pages, boutique, multilingue), testez d’abord sur une copie du site : préproduction proposée par l’hébergeur, sous-domaine protégé par mot de passe ou installation locale. Cochez-y « Demander aux moteurs de recherche de ne pas indexer ce site » dans Réglages > Lecture. Si tout fonctionne, reproduisez les mêmes mises à jour en production.

Vérifier la compatibilité PHP

WordPress 7.0 a relevé la version minimale de PHP à 7.4, et les prérequis officiels recommandent PHP 8.3 ou plus. Le tableau de compatibilité de l’équipe core déclare WordPress 7.1 compatible de PHP 7.4 à PHP 8.5, ce qui ne garantit rien pour vos extensions et votre thème. Votre version de PHP figure dans Outils > Santé du site, onglet « Informations », section « Serveur ».

WordPress refuse de mettre à jour le cœur si le serveur n’atteint pas les versions de PHP et de MySQL requises, et l’écran des mises à jour signale les extensions testées ou non avec votre version (« Compatibilité avec WordPress 7.1 : non testée », par exemple). Changer de version de PHP est une mise à jour à part entière : faites-la séparément, sur la préproduction d’abord.

Lire les notes de version

Avant une version majeure, lisez l’annonce sur le blog officiel de WordPress ; si vous maintenez du code sur mesure, parcourez aussi le « Field Guide » de Make WordPress Core (celui de WordPress 7.1). Pour une extension, le lien « Afficher les détails de la version… » ouvre son journal des modifications.

Mettre à jour depuis l’administration

Dans quel ordre ?

Je mets d’abord à jour les extensions, pour éviter les problèmes de compatibilité, et je termine par le cœur :

  1. les extensions, pour disposer des versions que leurs auteurs ont préparées pour la nouvelle version de WordPress ;
  2. le thème (parent puis enfant) : toute modification faite directement dans les fichiers d’un thème est perdue lors de sa mise à jour, d’où l’intérêt d’un thème enfant ;
  3. le cœur de WordPress, avec sa base de données ;
  4. les traductions.

Sur un site sensible, contrôlez le site entre deux étapes : en cas de souci, vous saurez tout de suite quel élément en est la cause.

Depuis Tableau de bord > Mises à jour

L’écran Tableau de bord > Mises à jour affiche la version installée, la date de la dernière vérification (avec un lien « Vérifier à nouveau. »), puis les mises à jour disponibles pour WordPress, les extensions, les thèmes et les traductions.

Écran Tableau de bord > Mises à jour de WordPress 7.1.2 : version actuelle, mises à jour automatiques limitées aux versions de maintenance et de sécurité avec le lien pour les activer pour toutes les versions, extensions, thèmes et traductions à jour
L’écran des mises à jour de WordPress : version installée, réglage des mises à jour automatiques du cœur et état des extensions, des thèmes et des traductions.
  1. Cochez les extensions, puis cliquez sur « Mettre à jour les extensions ».
  2. Faites de même avec « Mettre à jour les thèmes ».
  3. Cliquez sur « Mettre à jour vers la version… », suivi du numéro de la nouvelle version de WordPress.
  4. Terminez par « Mettre à jour les traductions » si le bouton est présent.

Pendant l’opération, le site passe en mode maintenance, désactivé dès la fin du processus. Cela peut prendre plusieurs minutes ; sans retour au bout de 5 minutes, WordPress renvoie vers l’onglet « Aide » de l’écran. Quand le site est à jour, le bouton devient « Réinstaller la version… », utile pour remplacer des fichiers du cœur modifiés ou corrompus.

Si WordPress vous demande des identifiants FTP

Si un formulaire réclame des identifiants de connexion au lieu de lancer la mise à jour, c’est que les fichiers n’appartiennent pas à l’utilisateur du serveur web : WordPress ne peut pas les modifier directement. Saisissez ces identifiants ou demandez à votre hébergeur de corriger les propriétaires des fichiers, condition indispensable aux mises à jour automatiques. Un hébergement qui ne permet pas les mises à jour en un clic est un signal à prendre au sérieux.

Mettre à jour WordPress avec WP-CLI

En ligne de commande, WP-CLI enchaîne la même séquence en quelques secondes et s’automatise facilement sur plusieurs sites. Si vous découvrez l’outil, commencez par mon guide pour maîtriser WordPress avec WP-CLI.

# 1. Back up the database
wp db export --add-drop-table

# 2. Preview, then update plugins and themes
wp plugin update --all --dry-run
wp plugin update --all
wp theme update --all

# 3. Update WordPress core, then its database
wp core update
wp core update-db

# 4. Update translations
wp language core update
wp language plugin update --all
wp language theme update --all

# 5. Check core files against WordPress.org checksums
wp core verify-checksums

wp core update --minor se limite aux versions mineures et wp plugin update --all --exclude=… écarte une extension à tester à part. Lancez toujours wp core update-db après wp core update (avec --network sur un multisite). Les options sont décrites dans la documentation de wp core update.

Mettre à jour WordPress manuellement

La mise à jour manuelle sert quand l’administration est inaccessible ou que la mise à jour en un clic échoue systématiquement. La procédure de la documentation « Updating WordPress » :

  1. Sauvegardez les fichiers et la base de données, puis vérifiez la sauvegarde.
  2. Téléchargez la dernière version sur la page de téléchargement de fr.wordpress.org et décompressez l’archive.
  3. Désactivez toutes les extensions.
  4. Sur le serveur, supprimez les dossiers wp-admin et wp-includes, puis envoyez ceux de la nouvelle version.
  5. Envoyez le contenu du nouveau dossier wp-content en écrasant les fichiers existants, sans rien supprimer de ce qui s’y trouve (thèmes, extensions, médias).
  6. Envoyez les fichiers de la racine de l’archive : elle ne contient ni wp-config.php ni .htaccess, qui restent intacts.
  7. Supprimez le fichier .maintenance s’il est resté à la racine après une tentative ratée.
  8. Ouvrez /wp-admin/ : si WordPress affiche « Mise à jour de la base de données nécessaire », cliquez sur « Mettre à jour la base de données de WordPress ».
  9. Réactivez les extensions une par une, puis videz les caches.

Après la mise à jour : les vérifications

  • Videz les caches (extension de cache, cache serveur, CDN).
  • Parcourez les pages clés : accueil, un article, les formulaires et, sur une boutique, le tunnel de commande en mode test.
  • Dans l’administration, ouvrez l’éditeur, enregistrez un brouillon et vérifiez les écrans de vos extensions principales.
  • Consultez Outils > Santé du site, qui signale notamment quand « Les mises à jour d’arrière-plan ne fonctionnent pas comme prévu ».
  • Si le journal d’erreurs est activé (WP_DEBUG_LOG), parcourez les nouvelles entrées de wp-content/debug.log.

En cas de problème

Le site affiche « Indisponibilité temporaire pour cause de maintenance »

Pendant une mise à jour, WordPress crée à la racine du site un fichier caché .maintenance. Tant qu’il est présent, les visiteurs voient « Indisponibilité temporaire pour cause de maintenance. Veuillez revenir dans un instant. » (en anglais « Briefly unavailable for scheduled maintenance. Check back in a minute. »), avec un code HTTP 503. Pour personnaliser cette page, créez un fichier wp-content/maintenance.php.

Si la mise à jour est interrompue, le fichier reste en place. WordPress l’ignore au bout de 10 minutes, mais l’administration affiche alors « Une mise à jour automatique de WordPress a échoué en cours de route ». Supprimez .maintenance par FTP ou SSH (affichez les fichiers cachés) ou avec wp maintenance-mode deactivate, puis relancez la mise à jour. Si l’avertissement persiste alors que tout est à jour, voyez comment masquer l’erreur de mise à jour échouée dans WordPress.

« Il y a eu une erreur critique sur ce site » : le mode de récupération

Si une mise à jour provoque une erreur PHP fatale, WordPress affiche ce message et, depuis la version 5.2, envoie à l’adresse d’administration un e-mail « Votre site connaît un problème technique ». Il nomme l’extension ou le thème en cause et contient un lien vers le mode de récupération, valable 24 heures par défaut.

Dans ce mode, l’élément fautif est mis en pause pour vous seul : vous accédez à l’administration, vous le désactivez, puis vous cliquez sur « Sortir du mode de récupération » dans la barre d’outils. La constante RECOVERY_MODE_EMAIL envoie ces e-mails à une autre adresse (voir la présentation du mode de récupération).

Le retour arrière automatique des extensions

  • Depuis WordPress 6.3, l’ancienne version d’une extension ou d’un thème est copiée dans wp-content/upgrade-temp-backup/ avant la mise à jour, puis restaurée si celle-ci échoue en cours de route (voir la note de développement de WordPress 6.3).
  • Depuis WordPress 6.6, après la mise à jour automatique d’une extension active, WordPress vérifie que le site ne renvoie pas d’erreur fatale ; sinon, il réinstalle la version précédente et vous prévient par e-mail (voir le ticket Trac correspondant).

Ces deux mécanismes ne détectent pas une mise à jour qui casse l’affichage sans erreur fatale : ils ne remplacent pas une sauvegarde.

Revenir à la version précédente

Si le problème vient d’une extension, la désactiver (au besoin en renommant son dossier dans wp-content/plugins) suffit souvent, le temps qu’un correctif sorte. Pour le cœur, la documentation officielle déconseille de revenir en arrière, pour des raisons de sécurité et parce que la base de données a pu évoluer : si c’est inévitable, restaurez ensemble les fichiers et la base de données d’une même sauvegarde.

Vous préférez qu’un professionnel teste et applique les mises à jour à votre place ? C’est le cœur de mon offre de maintenance préventive WordPress.

Questions fréquentes

Faut-il désactiver les extensions avant de mettre à jour WordPress ?

Pas pour une mise à jour en un clic : une sauvegarde et un test sur préproduction vous protègent davantage. La documentation officielle le demande en revanche pour une mise à jour manuelle, où les fichiers du cœur sont remplacés à la main.

Combien de temps prend une mise à jour de WordPress ?

Le plus souvent, quelques secondes à quelques minutes. Pendant ce temps, le site est en mode maintenance : ne fermez pas l’onglet avant la fin.

Que risque-t-on à ne pas mettre à jour WordPress ?

Les versions mineures corrigent des failles, parfois critiques comme avec WordPress 7.1.2. Ces correctifs sont reportés sur les anciennes branches jusqu’à la 4.7, mais seule la dernière version est activement prise en charge. Les extensions et thèmes obsolètes sont l’autre porte d’entrée : les mises à jour font partie des mesures de base pour sécuriser un site WordPress contre les attaques.

Pourquoi mon site ne se met-il pas à jour automatiquement ?

Plusieurs causes sont possibles : WordPress ne peut pas écrire dans ses fichiers sans identifiants FTP, une constante ou une extension bloque les mises à jour, WP-Cron ne s’exécute pas, ou le site est versionné avec Git ou SVN. Dans ce dernier cas, l’écran des mises à jour indique « Ce site semble être sous contrôle de version. Les mises à jour automatiques sont désactivées. »

Avatar de Aurélien Denis

Protégez votre site WordPress

Vos données sont précieuses,
ne prenez pas le risque de tout perdre.
Confiez-moi votre maintenance !

Ces articles devraient t’intéresser…

16 réponses
  1. Avatar de darknote
    darknote

    je suis contre la mise à jour automatique,je lis trop souvent des messages,des commentaires qui parlent de soucis après,je préfère la mise à jour manuelle,plus sûr,et facile à faire !

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Je n’ai jamais rencontré un seul soucis avec ce système parfaitement fonctionnel… bien souvent, c’est l’offre d’hébergement qui est de mauvaise qualité ! 😉

  2. Avatar de billboc
    billboc

    moi non plus je ne désactive pas les plugin… pourtant on lit ça partout ! c’est vrai que wordpress les désactive ?

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Je suis quasi-sûr !

  3. Avatar de David
    David

    Bonjour, je tombe sur ce post à l’heure ou WP 3 est enfin disponible.
    Pouvez-vous me dire si la désactivation des plugins est fortement conseillée ou pas ?

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Je ne suis pas sûr à 100% mais il me semble que WordPress les désactive lors de la mise à jour… personnellement, je ne le fais jamais ! 😉

  4. Avatar de Wolforg
    Wolforg

    @KingPopo,
    Il me semble avoir déjà vu ce souci sur un site client ou Wp Security Scan était installé, je pense que c’est dans les paramètres de ce plugin qu’il y a une fonctionalité cachant les maj, surement pour les admin de site laxistes au niveau des maj ne voulant pas être harcelés pas les user (si si, y’en a et j’en connais plein 😉
    Regarde dans les otpions et dans le doute désactive ce plugin, tu en sauras surement plus. Sinon la traditionelle méthode consiste à désactiver les plugins un par un pour voir où se trouve le conflit (en commençant par Wp-Cycle, c’est le seul que je ne connais pas 😉

  5. Avatar de Aurélien Denis
    Aurélien Denis

    @Kev : merci à toi ! 😉

    @KingPopo : tu peux toujours procéder à une mise à jour en manuelle mais je ne peux t’en dire plus qu’à je ne connais personne qui ait rencontré ce problème… 🙁

    Peut-être un souci d’hébergeur…

  6. Avatar de KingPopo
    KingPopo

    Merci Wolforg,
    version de WP 2.8.4
    Plugins : Akismet, All in One SEO Pack, Contact Form 7, Google Analytics for WordPress, Really Simple CAPTCHA, WordPress Database Backup, WP-Cycle et enfin WP Security Scan.
    Hébergeur : LWS
    Merci pour ton aide.

  7. Avatar de Wolforg
    Wolforg

    S@lut KingPopo,
    Pour t’aider (si c’est possible) il faudrait en savoir un peu plus comme par exemple la version de wordpress utilisée, les plugins activés et éventuellement ton hébergeur 🙂

  8. Avatar de KingPopo
    KingPopo

    Merci pour ce tuto très bien expliqué. J’ai un petit soucis, mon installation WP ne détecte pas les nouvelles mises à jour ! Comment puis-je remédier à cela ?
    Par avance, merci.

  9. Avatar de Kev
    Kev

    HAAA Merci d’avoir répondu a ma demande. C’est super sympa.
    Je garde ta vidéo bien au chaud elle va me servir 🙂

  10. Avatar de Wolforg
    Wolforg

    S@lut,
    Je viens de tomber sur un article de Wp Recipes expliquant la manipulation à effectuer en cas de plantage de mise à jour sur certains serveurs « lents ».
    Il suffit d’editer le fichier wp-admin/includes/files.php et de modifier à la ligne 448 le paramétrage concernant le timeout.
    Bien évidemment cette modification n’est à effectuer que quand tout le reste a échoué, on ne rapellera jamais assez combien il est déconseillé de modifier les fichiers du coeur de WordPress

    Voili, voilà, c’était la Lozère, à vous Cognac Jay 😉

  11. Avatar de Aurélien Denis
    Aurélien Denis

    @Thierry Benquey & Wolforg : merci pour toutes vos informations complémentaires et pertinentes. 😎

  12. Avatar de Wolforg
    Wolforg

    Je rejoins Thierry sur la limpidité de ce didactiel et j’ajouterai même aux précautions d’usage (sauvegarde de la base de données et du repertoire wp-content) de bien penser à désactiver les plugins avant de lancer la mise à jour. Si l’hébergeur est un peu « léger » la non-désactivation des plugins entraîne souvent une erreur de » memory size allowed », ce qui peut entraîner un moment de panique 😉

    Ré@gissons, p@rticipons…

  13. Avatar de Thierry Benquey
    Thierry Benquey

    D’une limpidité qui fait chaud au coeur en comparaison avec d’autres tutoriels vus ailleurs.
    A préciser que les maj de WordPress et des plugins, peut etre important pour les gens qui ont peu de capacité de stockage, beaucoup d’images, etc… Que les maj automatoques vous remettent tout plein de fichiers inutiles et parfois conséquents sur votre serveur. Les fichiers langues qui ne vous intéressent pas par ex, les po et les mo, les screenshots, les licences, les .txt. C’est pourquoi je pratique toujours la maj manuelle. Car je dispose effectivement de peu de capacité de stockage et que chacun de mes articles comporte au moins une image.
    Bonne continuation et toujours bravo.
    Amitié
    Thierry