maintenance WordPress

WordPress bloqué en mode maintenance : la solution rapide

Votre site affiche « Indisponible pour cause de maintenance programmée » et ne revient pas ? Dans 9 cas sur 10, une mise à jour a été interrompue et WordPress a laissé derrière lui un fichier caché nommé .maintenance à la racine du site. Supprimez ce fichier par FTP ou via le gestionnaire de fichiers de votre hébergeur, et le site redevient accessible immédiatement. Aucun contenu n’est perdu.

Ce qui se passe réellement quand WordPress passe en maintenance

Dès que vous lancez une mise à jour du cœur, d’un thème ou d’une extension, WordPress crée un fichier caché appelé .maintenance à la racine de votre installation, au même niveau que wp-config.php et le dossier wp-content. Ce fichier ne contient qu’une seule ligne de PHP : un horodatage qui indique à quel moment la mise à jour a démarré.

<?php $upgrading = 1735838412; ?>

Tant que ce fichier existe, WordPress ne charge ni votre thème, ni vos extensions, ni même la base de données. Il renvoie une page quasi vide, accompagnée d’un code HTTP 503, qui protège vos visiteurs d’un site à moitié cassé pendant la manipulation. En temps normal, cette page ne dure que quelques secondes : une fois la mise à jour terminée, WordPress supprime le fichier tout seul.

Le problème apparaît quand la mise à jour s’interrompt avant l’étape de nettoyage : onglet fermé trop tôt, temps d’exécution PHP dépassé, mémoire insuffisante, coupure réseau, ou conflit entre deux extensions mises à jour en même temps. Le fichier reste sur le serveur, et votre site reste verrouillé.

Avant de toucher à quoi que ce soit : attendez dix minutes

C’est le détail que la plupart des tutoriels passent sous silence, et il change complètement le diagnostic. WordPress intègre un garde-fou : la fonction wp_is_maintenance_mode(), dans wp-includes/load.php, compare l’horodatage du fichier à l’heure courante. Si plus de dix minutes se sont écoulées, le fichier est considéré comme périmé et le site est servi normalement, même si .maintenance est toujours présent sur le serveur.

Concrètement : patientez dix minutes complètes, puis rechargez le site en forçant le rafraîchissement (Ctrl+F5 sur Windows, Cmd+Maj+R sur Mac) et dans une fenêtre de navigation privée, pour écarter votre propre cache navigateur.

  • Le site est revenu ? Le mécanisme a fonctionné. Passez directement à la section sur la mise à jour interrompue, car celle-ci n’est probablement pas terminée.
  • Le site est toujours bloqué ? Ce n’est plus une simple maintenance en cours : la mise à jour a réellement échoué, ou vous n’êtes pas face au mode maintenance natif de WordPress. Continuez.

La solution : supprimer le fichier .maintenance

Ce fichier ne contient aucune donnée : ni article, ni page, ni image, ni réglage. Ce n’est qu’un drapeau temporaire. Le supprimer est sans danger.

Méthode 1 — Par FTP avec FileZilla

  1. Connectez-vous à votre serveur avec les identifiants FTP ou SFTP fournis par votre hébergeur.
  2. Le nom du fichier commençant par un point, il est masqué par défaut. Dans FileZilla, activez Serveur > Forcer l’affichage des fichiers cachés.
  3. Ouvrez le dossier racine de votre site. Il s’appelle généralement public_html, www ou htdocs : c’est celui qui contient wp-config.php, wp-admin et wp-content.
  4. Repérez le fichier .maintenance, faites un clic droit puis supprimez-le.
  5. Rechargez votre site en navigation privée.

Méthode 2 — Par le gestionnaire de fichiers de l’hébergeur

Si vous n’avez pas de client FTP sous la main, tous les panneaux d’hébergement (cPanel, Plesk, ou l’interface propre à votre hébergeur) proposent un gestionnaire de fichiers en ligne. La logique est identique : activez l’affichage des fichiers cachés dans les réglages du gestionnaire, ouvrez la racine du site, supprimez .maintenance. C’est la voie la plus rapide quand vous êtes sur mobile ou sur un poste qui n’est pas le vôtre.

Méthode 3 — En SSH ou avec WP-CLI

cd /home/utilisateur/public_html rm .maintenance

Si WP-CLI est installé sur votre hébergement, la commande wp maintenance-mode deactivate fait la même chose de façon plus propre, et wp maintenance-mode status vous confirme l’état avant intervention.

Le fichier est supprimé mais le message persiste ?

Trois causes possibles, dans l’ordre de fréquence.

  • Un cache sert encore l’ancienne page. Cache serveur (LiteSpeed, Varnish, Nginx FastCGI), extension de cache, ou CDN type Cloudflare : tous ont pu mettre la page de maintenance en mémoire. Videz-les, en commençant par le cache de l’hébergeur puis celui du CDN.
  • Le fichier est recréé automatiquement. Si une tâche planifiée relance la mise à jour en boucle, le fichier réapparaît quelques secondes après sa suppression. Désactivez temporairement les mises à jour automatiques en ajoutant define( 'AUTOMATIC_UPDATER_DISABLED', true ); dans wp-config.php, le temps de régler le problème.
  • Ce n’était pas le mode maintenance de WordPress. Voir la section suivante.

Attention : il existe deux « modes maintenance » très différents

Celui décrit jusqu’ici est le mode natif, automatique et involontaire. Mais une page de maintenance soignée, avec votre logo, un compte à rebours ou un formulaire d’inscription, ne vient pas de WordPress : elle vient d’une extension comme SeedProd, WP Maintenance, ou du mode « Coming soon » d’Elementor.

Dans ce cas, aucun fichier .maintenance à chercher : connectez-vous à /wp-admin (l’accès administrateur reste ouvert avec ces extensions, contrairement au mode natif) et désactivez l’option dans les réglages de l’extension concernée. Si vous avez repris un site existant, c’est souvent un mode activé par le prestataire précédent et jamais coupé.

Terminer proprement la mise à jour interrompue

Supprimer le fichier débloque l’affichage, mais ne termine pas la mise à jour. Votre site tourne peut-être avec une extension à moitié copiée. Une fois l’accès rétabli :

  1. Rendez-vous dans Tableau de bord > Mises à jour et relancez celles qui restent en attente.
  2. Une par une, jamais en lot. C’est précisément la mise à jour groupée de dix extensions qui provoque le dépassement de délai.
  3. Si WordPress vous propose de terminer une mise à jour de la base de données, acceptez.
  4. Vérifiez ensuite les pages clés du site : accueil, une page de contenu, le tunnel de commande si vous avez une boutique.

Si une extension précise fait systématiquement échouer la mise à jour, remplacez-la manuellement : téléchargez l’archive depuis le répertoire officiel, supprimez l’ancien dossier dans wp-content/plugins/, et déposez le nouveau à la place. Si le site refuse toujours de se charger, désactivez l’extension en FTP le temps de trouver une alternative.

Éviter que le problème se reproduise

  • Ne fermez jamais l’onglet pendant une mise à jour, et ne rechargez pas la page.
  • Sauvegardez avant toute mise à jour majeure, base de données comprise.
  • Mettez à jour aux heures creuses, quand le serveur est le moins sollicité.
  • Surveillez les limites PHP de votre hébergement : un max_execution_time à 30 secondes ou une mémoire limitée à 128 Mo suffisent à faire échouer la mise à jour d’une grosse extension.

Quand le problème vient en réalité de l’hébergement

Un blocage isolé, cela arrive à tout le monde. Un blocage à chaque mise à jour, non. Si le scénario se répète, la cause est presque toujours en amont de WordPress : temps d’exécution PHP trop court, mémoire insuffisante, disque saturé, ou serveur mutualisé surchargé aux heures de pointe. Commencez par demander à votre hébergeur de relever max_execution_time et memory_limit ; c’est gratuit et souvent suffisant. Si la réponse est qu’aucun réglage n’est possible sur votre offre, c’est l’offre qui est le problème.

Questions fréquentes

Combien de temps dure normalement le mode maintenance ?

Quelques secondes, rarement plus. WordPress crée le fichier au démarrage de la mise à jour et le supprime dès qu’elle est terminée. Même en cas d’échec, le garde-fou des dix minutes est censé rendre le site accessible automatiquement. Un site qui reste bloqué au-delà de dix minutes vous dit donc quelque chose de précis : la mise à jour n’a pas simplement traîné, elle s’est interrompue avant l’étape de nettoyage, ou un cache continue de servir l’ancienne page.

Supprimer le fichier .maintenance présente-t-il un risque ?

Non. Ce fichier ne contient qu’une ligne de PHP avec un horodatage, aucune donnée de votre site. Vos articles, pages, médias et réglages sont dans la base de données et dans wp-content, que vous ne touchez pas ici. Le seul point de vigilance : si vous le supprimez pendant qu’une mise à jour est réellement en cours, vous exposez brièvement des visiteurs à un site en cours de modification. Vérifiez donc que rien ne tourne avant de supprimer.

Je ne trouve pas le fichier .maintenance, que faire ?

Deux explications. Soit les fichiers cachés ne sont pas affichés : tout nom commençant par un point est masqué par défaut, il faut activer l’option correspondante dans votre client FTP ou votre gestionnaire de fichiers. Soit vous ne regardez pas au bon endroit : le fichier se trouve à la racine de l’installation WordPress, celle qui contient wp-config.php, et non dans wp-content ni dans un sous-dossier.

Puis-je accéder à l’administration pendant le mode maintenance ?

Non, et c’est ce qui rend la situation déroutante. Le mode maintenance natif coupe le chargement avant même l’administration : ni /wp-admin, ni /wp-login.php ne répondent, pour vous comme pour vos visiteurs. Le seul accès possible passe par les fichiers, donc par FTP, SSH ou le gestionnaire de fichiers de l’hébergeur. À l’inverse, les extensions de maintenance laissent l’administration accessible aux comptes connectés.

Le mode maintenance nuit-il au référencement ?

Pas s’il dure quelques minutes. La page renvoie un code HTTP 503, qui signale aux moteurs une indisponibilité temporaire et les invite à repasser plus tard : c’est exactement la réponse attendue dans ce cas de figure. Le risque apparaît si le blocage se prolonge sur plusieurs jours, car Google finit par réduire la fréquence d’exploration et peut désindexer des pages. Un blocage détecté et corrigé dans la journée n’a aucune conséquence durable.

Comment activer volontairement le mode maintenance ?

Pour une intervention courte, créez vous-même un fichier .maintenance à la racine contenant <?php $upgrading = time(); ?>. Comme la valeur est recalculée à chaque chargement, le mode reste actif tant que vous ne supprimez pas le fichier. Pour une page présentable avec logo et message, préférez une extension dédiée, qui vous laissera aussi l’accès à l’administration pendant les travaux.

Faut-il restaurer une sauvegarde après un blocage ?

Dans la grande majorité des cas, non : supprimer le fichier puis relancer les mises à jour en attente suffit. La restauration se justifie si le site reste cassé après déblocage, par exemple une erreur critique ou un thème qui ne s’affiche plus, signe que des fichiers ont été copiés à moitié. Restaurez alors la sauvegarde la plus récente antérieure à la mise à jour, puis reprenez les mises à jour une par une.