Mode maintenance WordPress : l'activer et en sortir

Mode maintenance WordPress : page temporaire avec heure de retour

Vous avez cliqué sur « Mettre à jour » et votre site affiche désormais une page blanche barrée d'un message ? Un client vous appelle parce que son site est bloqué depuis hier soir ? Et vous vous demandez s'il faut installer une extension, ouvrir un client FTP ou simplement attendre ?

Le mode maintenance WordPress n'a rien de sorcier, à condition de savoir ce qui se passe sous le capot. Dans ce guide, on voit les trois façons de l'activer (extension, fichier .maintenance, page sur mesure), comment en sortir proprement, et la procédure exacte pour débloquer un site coincé sur « Brièvement indisponible pour cause de maintenance planifiée ». Avec, à chaque fois, le code HTTP que votre site renvoie réellement à Google.

En bref

  • WordPress active le mode maintenance tout seul pendant une mise à jour : il dépose un fichier .maintenance à la racine, répond en code 503 et envoie l'en-tête Retry-After: 600. C'est le fameux « WordPress maintenance mode » des tutoriels anglophones.
  • Pour une maintenance volontaire de quelques heures, une extension suffit et évite le FTP.
  • Sans extension, le fichier .maintenance contient une seule ligne : $upgrading = time();. Point à connaître : WordPress considère la maintenance terminée 10 minutes après cet horodatage.
  • Le message par défaut se remplace par un fichier maintenance.php déposé dans wp-content/.
  • Pour en sortir : désactiver l'extension ou supprimer .maintenance, puis vider le cache.
  • Côté SEO, un 503 avec Retry-After pendant quelques heures ne coûte rien. Au-delà de 1 à 2 jours, Google peut retirer les URL de son index.
  • Le fichier robots.txt doit continuer à répondre en 200, jamais en 503.
  • Et surtout : une page de maintenance temporaire n'est pas un service de maintenance. Mettre à jour, sauvegarder et sécuriser, c'est un autre métier.

Pourquoi WordPress passe en mode maintenance tout seul

Vous n'avez rien demandé et pourtant votre site affiche une page de maintenance ? C'est normal, et c'est même plutôt une bonne nouvelle.

Pendant une mise à jour, WordPress commence par déposer un fichier .maintenance à la racine de l'installation, à côté de wp-config.php. Tant que ce fichier existe, le cœur de WordPress interrompt la requête avant de charger le thème et affiche le message :

Brièvement indisponible pour cause de maintenance planifiée. Revenez dans une minute.

Une fois l'opération terminée, WordPress supprime le fichier tout seul et le site redevient disponible. La fenêtre d'indisponibilité d'une mise à jour classique se compte en secondes, rarement en minutes. Pour préparer ce genre d'intervention sans stress, notre tutoriel sur la mise à jour de WordPress détaille l'ordre des opérations, et une sauvegarde du site avant de lancer quoi que ce soit reste la base.

Deux détails que l'on voit mal expliqués ailleurs, et qui expliquent la plupart des sites « coincés » :

  • La fonction wp_is_maintenance_mode() lit l'horodatage $upgrading inscrit dans le fichier et considère la maintenance comme terminée au bout de 10 minutes. Autrement dit, un .maintenance oublié finit par ne plus bloquer personne… sauf si un processus l'écrit à nouveau.
  • Un cache de page mal réglé peut continuer à servir la version 503 alors que le fichier n'existe plus. Le site paraît bloqué, il ne l'est plus.

C'est exactement le sujet de la section 5, si vous êtes déjà dans le mur.

1/ Activer le mode maintenance avec une extension

C'est la méthode que l'on conseille aux personnes qui ne veulent pas toucher au FTP : un maintenance mode plugin WordPress se règle en trois écrans, et se coupe aussi vite.

Deux poids lourds gratuits sur WordPress.org (chiffres relevés le 12 novembre 2026) :

  • LightStart (ex « WP Maintenance Mode »), 400 000+ installations actives, note 4,3/5 sur 874 avis, version 2.6.25 du 29 octobre 2026. Page personnalisable, compte à rebours, formulaire de contact et d'inscription, exclusion d'URL, multisite. Une fois activé, votre site passe en maintenance et les administrateurs connectés voient le site normalement.
  • SeedProd, 600 000+ installations actives, note 4,9/5 sur 4 699 avis, version 6.20.12. Constructeur de pages complet, avec un mode « coming soon » qui répond en 200 (indexable) et un mode maintenance qui répond en 503.

On ne vous impose aucune marque : les deux font le travail, LightStart est plus direct si vous ne voulez qu'une page de maintenance, SeedProd est plus large si vous comptez aussi construire des landing pages.

La marche à suivre, quel que soit le plugin :

  1. Extensions > Ajouter une extension, chercher le nom, installer, activer.
  2. Ouvrir les réglages du plugin et choisir le mode maintenance (et non « coming soon », qui laisse le site indexable).
  3. Personnaliser le texte, l'heure de retour et le logo, puis publier.
  4. Vérifier dans une fenêtre de navigation privée : le site doit afficher la page, et vous devez, vous, garder l'accès à l'admin.

Un piège documenté par LightStart lui-même : le plugin peut devenir instable avec un plugin de cache. Leur recommandation est de désactiver le cache pendant la maintenance, ou à défaut de vider intégralement le cache après chaque modification. Retenez la règle : chaque bascule de mode maintenance se termine par un vidage de cache.

Comparaison de LightStart et SeedProd : installations actives, notes et code HTTP renvoyé en mode maintenance

2/ Activer le mode maintenance sans extension : fichier .maintenance et fonction wp_maintenance()

Vous préférez ne rien installer ? Le mode maintenance WordPress sans plugin existe, il tient en un fichier. Mais il a une limite que personne ne mentionne, et qui vous fera perdre une heure si vous ne la connaissez pas.

La méthode du fichier. Créez un fichier texte nommé exactement .maintenance (sans extension), contenant :

<?php
$upgrading = time();

Déposez-le à la racine WordPress, là où se trouvent wp-config.php et wp-admin. Rechargez le site : il répond en 503 avec le message par défaut.

Trois précautions :

  • C'est un fichier caché : activez l'affichage des fichiers cachés dans votre client FTP (FileZilla) ou dans le gestionnaire de fichiers de votre hébergeur, sinon vous ne le verrez pas.
  • L'horodatage time() date de la création. Au-delà de 10 minutes, wp_is_maintenance_mode() renvoie false et le site redevient public, sans que vous ayez touché à quoi que ce soit.
  • Pour prolonger, il faut réécrire $upgrading avec un horodatage frais. C'est précisément pour cela qu'un plugin est plus confortable dès que la fenêtre dépasse le quart d'heure.

Ce que fait la fonction wp_maintenance(). C'est elle qui exécute tout le mécanisme, et elle est marquée privée dans la référence WordPress : réservée au cœur, pas aux extensions ni aux thèmes. Son déroulé exact :

  1. Si wp_is_maintenance_mode() renvoie false, elle ne fait rien.
  2. Si le fichier wp-content/maintenance.php existe, elle le charge et termine la requête - c'est le point d'entrée pour une page personnalisée (section 3).
  3. Sinon, elle envoie Retry-After: 600 et affiche le message par défaut en wp_die(..., 503).

Conséquence pratique : on n'appelle pas wp_maintenance() à la main dans un thème. C'est l'upgradeur de WordPress qui gère le fichier, et c'est très bien ainsi. Pour activer le mode maintenance WordPress par le code, le fichier .maintenance suffit.

3/ Créer une page de maintenance soignée

Une maintenance page WordPress réussie tient en cinq éléments. Pas un diaporama, pas une animation : cinq informations, servies vite.

  1. Ce qui se passe. « Maintenance en cours », en clair, dans le titre.
  2. Quand le site revient. Une heure précise, pas « bientôt ». Si vous ne savez pas, ne mettez pas de compte à rebours que vous ne pourrez pas tenir.
  3. Comment vous joindre. Une adresse e-mail écrite en clair et un numéro. Un formulaire de contact ne sert à rien si le site est arrêté.
  4. Qui vous êtes. Logo et nom, pour que le visiteur ne croie pas à une panne de son côté.
  5. Du léger. Page statique, CSS en ligne, images en base 64 : c'est la recommandation de Google pour minimiser la charge d'une page d'erreur.

Reste la question technique, et c'est là que la plupart des tutos s'arrêtent trop tôt. Une page publiée dans WordPress ne peut pas s'afficher en mode maintenance natif : le fichier .maintenance interrompt la requête avant le chargement du thème. La seule voie native, c'est le drop-in wp-content/maintenance.php, que wp_maintenance() charge à la place du message par défaut. Un fichier, du HTML, deux en-têtes :

<?php
// wp-content/maintenance.php
header( 'HTTP/1.1 503 Service Unavailable' );
header( 'Retry-After: 3600' );
header( 'Content-Type: text/html; charset=UTF-8' );
?>
<!DOCTYPE html>
<html lang="fr">
<head><meta charset="utf-8"><title>Maintenance en cours</title></head>
<body style="font-family:system-ui;text-align:center;padding:12vh 6vw">
  <h1>Le site revient à 14 h</h1>
  <p>Une mise à jour est en cours. Écrivez-nous à contact@exemple.fr.</p>
</body>
</html>

Attention au piège : le drop-in est chargé avant l'envoi du 503 et du Retry-After par le cœur. Si vous oubliez les deux lignes header(), votre jolie page de maintenance WordPress répondra 200 et Google l'indexera comme une page normale. C'est le genre d'erreur qui coûte des positions, et personne ne s'en aperçoit avant trois semaines.

Vous pouvez aussi passer par le constructeur d'une extension (LightStart, SeedProd) : plus lourd, mais sans écrire de PHP. Quelle que soit la page de maintenance WordPress retenue, vérifiez son code HTTP avant de la laisser en ligne (section 6).

Les cinq éléments d'une page de maintenance WordPress et les deux en-têtes HTTP à ne pas oublier

4/ Sortir du mode maintenance : désactiver proprement

Sortir du mode maintenance WordPress est le geste inverse, et il se rate aussi souvent que l'activation. Trois cas, une même fin de procédure.

Avec une extension. Désactivez le mode maintenance dans les réglages du plugin, ou désactivez le plugin lui-même. Puis videz le cache du site et celui du CDN. Sans ce vidage, une partie de vos visiteurs verra encore la page pendant des heures.

Sans extension. Supprimez le fichier .maintenance à la racine. Le site redevient immédiatement public, dans la limite du cache.

Et on vérifie, toujours. Trois commandes, dix secondes :

curl -I -X GET "https://www.exemple.fr/"
curl -I -X GET "https://www.exemple.fr/un-article/"
curl -I -X GET "https://www.exemple.fr/robots.txt"

Vous devez voir HTTP/1.1 200 OK sur les trois. Si la page d'accueil répond 200 mais qu'un article répond encore 503, c'est le cache. Si c'est robots.txt qui répond 503, vous bloquez tout le crawl : à corriger dans la minute.

Dernier réflexe : vérifiez qu'aucun mode « coming soon » n'est resté actif. Un site qui répond 200 avec une page « bientôt disponible » est indexé avec cette page - et là, ce n'est plus une question de maintenance, c'est une page à retirer de l'index.

5/ Site bloqué sur « Brièvement indisponible pour cause de maintenance planifiée » : le débloquer en 2 minutes

Le cas classique : WordPress bloqué en maintenance après une mise à jour interrompue. Le message exact que voit votre visiteur est « Brièvement indisponible pour cause de maintenance planifiée ». La cause, dans 9 cas sur 10 : le fichier .maintenance n'a pas été supprimé, parce que la mise à jour a échoué en cours de route (timeout PHP, permissions de fichiers, coupure réseau).

La procédure complète, sans rien casser :

  1. Vérifier qu'aucune mise à jour ne tourne encore. Tableau de bord > Mises à jour. Si une opération est en cours, attendez qu'elle se termine.
  2. Supprimer le fichier .maintenance. Par FTP ou via le gestionnaire de fichiers de l'hébergeur, dans le dossier racine (celui qui contient wp-config.php, wp-admin et wp-content). Activez l'affichage des fichiers cachés.
  3. Vider le cache. Cache du plugin, cache serveur, CDN. C'est l'étape la plus souvent oubliée quand « ça ne marche toujours pas ».
  4. Vérifier le code HTTP avec curl -I sur l'accueil et sur une page profonde.
  5. Relancer la mise à jour interrompue, après une sauvegarde, plutôt que de laisser le site sur une version à moitié installée.

Si le fichier réapparaît tout seul, ce n'est pas de la magie : un processus d'update boucle, un cron est coincé ou une tâche planifiée réécrit le fichier. Direction les logs PHP de l'hébergeur et le rapport d'erreurs de WordPress.

Et si vous n'avez ni les accès FTP ni le temps de chercher, notre service de dépannage WordPress en 2H prend le relais, à partir de 75 €HT, avec un diagnostic gratuit avant intervention et un dépannage garanti 30 jours.

Les quatre étapes pour débloquer un site WordPress coincé sur le message de maintenance planifiée

6/ Impact SEO : code 503, en-tête Retry-After et durée à ne pas dépasser

C'est le point qui décide si votre pause coûte des positions ou pas. Et il ne dépend pas du message affiché, mais du code HTTP renvoyé.

Réponse du site Ce que Google en déduit Effet sur le référencement
503 + Retry-After indisponibilité temporaire URL conservée, recrawl différé
200 avec une page de maintenance page normale le contenu de maintenance remplace votre page dans l'index
404 ou 410 page supprimée URL retirée de l'index
noindex sur la page exclusion volontaire URL retirée de l'index
503 sans Retry-After temporaire, sans date Google revient à son propre rythme

Trois règles à retenir, toutes issues de la documentation Google :

  • Le 503 est le bon code. Mieux vaut un 503 qu'une page d'erreur en 200 : c'est écrit noir sur blanc dans les recommandations pour une indisponibilité planifiée.
  • Retry-After accepte deux formats : un nombre de secondes ou une date HTTP. WordPress envoie 600 par défaut, soit dix minutes. Si votre intervention doit durer deux heures, annoncez 7200 plutôt que de laisser Google revenir pour rien.
  • La durée est la vraie variable. Google recommande de désactiver tout le site « pour une très courte période, quelques jours au maximum », et prévient qu'un 503 prolongé peut finir par être lu comme une indisponibilité définitive, avec retrait des URL de l'index. En pratique : quelques heures pour une mise à jour, jamais plus de 48 h pour une vraie intervention. Au-delà, gardez une page d'accueil indexable en 200 et limitez les fonctionnalités.

Deux effets de bord à connaître :

  • Pendant un 503, Google ne peut pas rafraîchir les titres, descriptions, métadonnées ni données structurées. Un site en maintenance ne met donc pas à jour son SEO, il le met en pause.
  • Le robots.txt doit rester en 200 et accessible. Un robots.txt en 503 bloque tout le crawl, y compris après la maintenance.

7/ Mode maintenance ou maintenance WordPress : ne pas confondre

C'est la confusion la plus fréquente, et elle coûte cher. Une page de maintenance, c'est un panneau temporaire. La maintenance WordPress, c'est l'entretien régulier du site.

Mode maintenance (la page) Service de maintenance (le métier)
Durée minutes à quelques heures toute l'année
Objet cacher le site pendant une intervention mises à jour, sécurité, sauvegardes
Réalisé par une extension ou un fichier un humain qui suit le site
Code HTTP 503 + Retry-After aucun, le site reste en ligne

Un plugin maintenance WordPress affiche une page, et c'est tout. Il ne met pas à jour vos extensions à votre place, il ne teste pas vos formulaires après une mise à jour de thème, il ne détecte pas une faille et il ne restaure pas une sauvegarde à 23 h un dimanche. Ce sont deux outils différents, et l'un ne remplace pas l'autre.

C'est précisément le rôle de notre formule de maintenance WordPress : mise à jour hebdomadaire du cœur, du thème et des extensions, diagnostic et correction des failles, sauvegardes automatiques et manuelles, accès aux extensions premium, test des formulaires, rapport mensuel et intervention 7j/7. Le tarif est fixe : 752 €HT/an, soit 62,67 €HT/mois. Et si vous voulez d'abord vérifier que c'est le bon cadre pour votre site, le détail des tarifs est en ligne et vous pouvez nous poser la question directement.

FAQ : 5 questions

Comment savoir si mon site est en mode maintenance ?

Deux vérifications suffisent. Ouvrez le site dans une fenêtre de navigation privée : vous devez voir la page de maintenance. Puis lancez curl -I -X GET "https://votre-site.fr/" : un site en maintenance renvoie HTTP/1.1 503, avec un en-tête Retry-After si WordPress ou votre extension le prévoit.

Le mode maintenance WordPress pénalise-t-il le référencement ?

Pas pour une intervention de quelques minutes à quelques heures. Un 503 accompagné de Retry-After signale une indisponibilité temporaire : Googlebot reporte son passage et conserve l'URL. En revanche, une page de maintenance servie en 200, un 404 ou un noindex font sortir les pages de l'index, et là, il faut des semaines pour revenir.

Combien de temps puis-je laisser un site en mode maintenance ?

Le plus court possible. Google parle de quelques jours au maximum pour une désactivation complète, et prévient qu'un 503 prolongé peut aboutir au retrait des URL de l'index. Notre repère : quelques heures pour une mise à jour lourde, 48 h maximum pour une intervention planifiée.

Pourquoi le mode maintenance reste-t-il actif après la mise à jour ?

Parce que le fichier .maintenance n'a pas été supprimé après l'échec de la mise à jour, ou parce qu'un cache sert encore la version 503. Supprimez le fichier à la racine, videz tous les caches, puis vérifiez le code HTTP avant de relancer la mise à jour.

Peut-on activer le mode maintenance WordPress sans plugin ?

Oui : un fichier .maintenance contenant $upgrading = time(); à la racine suffit. Mais WordPress considère la maintenance terminée au bout de 10 minutes, et il faut alors réécrire l'horodatage. Pour une fenêtre plus longue, une extension reste plus simple à piloter.

Le mode maintenance, ce n’est pas la maintenance

Une page temporaire ne protège pas votre site. Notre maintenance WordPress, si : mises à jour chaque semaine, sauvegardes, sécurité et intervention 7j/7, pour 752 €HT/an.

Sources