Aujourd’hui, nous allons voir pourquoi activer un mode maintenance est important, et quelles sont les différentes manières de le faire sur WordPress.
Mettre un site en maintenance signifie le rendre temporairement inaccessible au public tout en affichant une page spécifique qui informe les visiteurs que le site est en cours de mise à jour ou de modification. Ainsi, pendant cette période, les internautes ne voient pas le contenu habituel du site, mais un message d’attente ou une page d’information. Cela permet de travailler en arrière-plan, de corriger des erreurs, de mettre à jour WordPress, ses extensions ou son thème, ou encore de déployer de nouvelles fonctionnalités sans que les visiteurs soient les témoins de dysfonctionnements. Une fois les opérations terminées, le mode maintenance est désactivé et le site redevient accessible normalement.
Dans quel cas mettre votre site WordPress en maintenance ?
Il peut s’avérer nécessaire de mettre votre site en maintenance pour plusieurs raisons.
Déjà, comme je l’ai déjà écrit sur ce blog, si vous avez un site WordPress, vous devez en faire la maintenance. Une page de maintenance permet de préserver l’expérience utilisateur en évitant que les personnes visitant votre site ne tombent sur des pages incomplètes ou qui affichent des erreurs.
C’est, d’autre part, plus professionnel : un message clair indiquant que le site est temporairement indisponible inspire bien plus de confiance qu’un site qui paraît cassé.
Enfin, il vous offre un meilleur confort de travail, car vous pouvez effectuer vos modifications en toute tranquillité, sans craindre que vos visiteurs assistent à vos essais en direct.
Sachez qu’il existe un mode maintenance natif à WordPress. Celui-ci s’active automatiquement lors des mises à jour du cœur, des thèmes ou des extensions. Le CMS crée alors un fichier temporaire appelé .maintenance, qui affiche une page très succincte et qui disparaît une fois la mise à jour terminée.
À noter : avec le mode natif de WordPress, si une opération échoue, il peut arriver que ce fichier reste actif et bloque le site. Dans ce cas, pas de panique, il suffit de le supprimer via un client FTP pour rétablir l’accès normal.
Les différentes méthodes pour mettre votre site WordPress en maintenance
Utiliser une extension dédiée
La solution la plus simple consiste à utiliser une extension dédiée. Des extensions, comme WP Maintenance (créée par un Français), permettent d’activer ou de désactiver le mode maintenance très simplement, de personnaliser le message affiché avec un logo, de mettre du texte personnalisé ou un compte à rebours, et même de proposer un formulaire d’abonnement pour rester informé. L’avantage est la simplicité, puisque vous n’avez rien à coder, mais cela implique d’installer une extension supplémentaire.
Pour mettre en place l’extension WP Maintenance
- Connectez-vous à l’interface d’administration de WordPress.
- Rendez-vous dans Extensions > Ajouter
- Dans la barre de recherche, tapez WP Maintenance.
- Cliquez sur Installer, puis sur Activer.
Une fois l’extension activée, un nouveau menu apparaît dans la barre latérale, intitulé WP Maintenance.
En allant dans WP Maintenance > Général, vous cochez l’option Activer le mode maintenance pour rendre le site inaccessible aux visiteurs non connectés. Vous qui avez les droits d’administration, vous pourrez toujours voir et travailler sur votre site normalement.

L’extension permet de personnaliser facilement le message affiché aux visiteurs. Vous pouvez :
- Modifier le titre et le texte principal.
- Ajouter votre logo et/ou une image.
- Choisir les couleurs et la mise en page.
- Intégrer des liens vers vos réseaux sociaux
- etc.
Sauvegardez vos réglages, déconnectez-vous de WordPress ou ouvrez une fenêtre de navigation privée pour vérifier ce que vos visiteurs voient. Vous devriez tomber sur votre nouvelle page de maintenance.
Ajouter du code au fichier functions.php
Il est aussi possible de passer par le fichier functions.php de votre thème-enfant. En ajoutant quelques lignes de code, vous pouvez bloquer l’accès aux personnes visitant votre site, tout en le laissant ouvert aux personnes connectées à l’administration de votre site. Cette méthode ne nécessite pas d’installer d’extension, mais elle demande une certaine aisance technique et peut rebuter les utilisateurs débutants.
Voici le code à ajouter à votre fichier functions.php (je vous invite à sauvegarder le fichier original au préalable, au cas où ^^)
/**
* Active le mode maintenance pour tous sauf les administrateurs connectés.
* N'affecte pas l'administration, AJAX, CRON, REST, ni la page de login (même si l'URL est personnalisée).
* - Retourne un statut HTTP 503 (indisponible temporaire).
*/
function maintenance_mode() {
// Laisser passer le back-office, AJAX, CRON, REST.
if ( is_admin() || wp_doing_ajax() || ( defined( 'DOING_CRON' ) && DOING_CRON ) ) {
return;
}
if ( function_exists( 'rest_is_request' ) && rest_is_request() ) {
return;
}
// Laisser passer la page de login EFFECTIVE (même si un plugin change l'URL).
$req_path = parse_url( $_SERVER['REQUEST_URI'] ?? '/', PHP_URL_PATH ) ?: '/';
$login_url = wp_login_url(); // URL de login actuellement active
$login_path = wp_parse_url( $login_url, PHP_URL_PATH ) ?: '/wp-login.php';
if ( $req_path === $login_path ) {
return;
}
// Laisser passer les administrateurs connectés.
if ( is_user_logged_in() && current_user_can( 'manage_options' ) ) {
return;
}
// Réponse 503 + no-cache + page simple.
status_header( 503 );
nocache_headers();
wp_die(
'<h1>Maintenance en cours</h1><p>Nous effectuons une maintenance programmée sur notre site, celui-ci est donc temporairement indisponible. Revenez un peu plus tard. Merci pour votre compréhension :)</p>',
'Maintenance',
array( 'response' => 503 )
);
}
add_action( 'template_redirect', 'maintenance_mode' );Le résultat sera le suivant :

L’inconvénient de cette méthode est que pour désactiver le mode maintenance, il vous faudra supprimer ce code ou le commenter.
Créer une page maintenance.html en créant un mu-plugin (must use plugin = extension indispensable)
Cette méthode permet de gérer le mode maintenance de votre site et de personnaliser entièrement l’affichage. Si vous êtes néophyte avec le concept des mu-plugins, je vous invite à lire l’article dédié à ce sujet.
En premier lieu, créer un fichier maintenance.html :
<!doctype html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Site en maintenance</title>
<meta name="robots" content="noindex, nofollow">
<style>
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; display:flex;min-height:100svh;align-items:center;justify-content:center;background:#f6f6f8}
.card{max-width:640px;background:#fff;padding:2rem;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.07);text-align:center}
h1{margin:0 0 .5rem}
p{color:#555;margin:.25rem 0}
</style>
</head>
<body>
<div class="card">
<h1>Maintenance en cours</h1>
<p>Nous effectuons une maintenance programmée sur notre site, celui-ci est donc temporairement indisponible. Revenez un peu plus tard. Merci pour votre compréhension</p>
</div>
</body>
</html>Ce code est un exemple, j’ai mis le style directement dans ce fichier, mais la meilleure méthode est de créer et d’attacher une feuille de style. D’ailleurs, ici, c’est du code html et un style très basique. Vous pouvez en créer un plus poussé, comme ajouter votre logo, une image. Et vous devrez également améliorer la version responsive.
Transférez ce fichier à la racine de votre site.
Nous allons maintenant créer le mu-plugin
Rendez-vous, sur le serveur FTP, dans le dossier wp-content. S’il n’y a pas de dossier mu-plugins, créez-le.
Créez maintenant un fichier maintenance-mode.php et insérez le code suivant :
<?php
/**
* Plugin Name: MU - Maintenance (maintenance.html)
* Description: Affiche maintenance.html aux visiteurs non admins, en 503.
* Version: 1.0.2
* Author: Valérie Galassi
*/
if (! defined('ABSPATH')) {
exit; // Empêche l'exécution en accès direct
}
/**
* Interrupteur via wp-config.php :
* define( 'WP_MAINTENANCE_MODE', true ); // true = ON, false = OFF
*
* Par défaut, la maintenance est DÉSACTIVÉE si aucune constante n'est définie.
*/
if (! defined('WP_MAINTENANCE_MODE')) {
return; // Pas de constante = pas de maintenance
}
if (! WP_MAINTENANCE_MODE) {
return; // Constante définie mais false = pas de maintenance
}
function mu_maintenance_mode_serve_html()
{
if (is_admin() || wp_doing_ajax() || (defined('DOING_CRON') && DOING_CRON)) {
return;
}
if (function_exists('rest_is_request') && rest_is_request()) {
return;
}
$req_path = parse_url($_SERVER['REQUEST_URI'] ?? '/', PHP_URL_PATH) ?: '/';
$login_path = wp_parse_url(wp_login_url(), PHP_URL_PATH) ?: '/wp-login.php';
if ($req_path === $login_path) {
return;
}
if (is_user_logged_in() && current_user_can('manage_options')) {
return;
}
if (preg_match('~/maintenance\.html$~', $req_path)) {
return;
}
$maintenance_file = ABSPATH . 'maintenance.html';
status_header(503);
nocache_headers();
if (file_exists($maintenance_file)) {
header('Content-Type: text/html; charset=UTF-8');
readfile($maintenance_file);
exit;
}
wp_die(
'<h1>Maintenance en cours</h1><p>Le site revient très vite.</p>',
'Maintenance',
array( 'response' => 503 )
);
}
add_action('template_redirect', 'mu_maintenance_mode_serve_html', 0);Transférez ce fichier dans le dossier mu-plugins sur votre serveur FTP.
Avec cette méthode, vous pouvez activer et désactiver le mode maintenance en ajoutant la constante suivante à votre fichier wp-config.php :
define('WP_MAINTENANCE_MODE', true); // true = ON, false = OFF
Comme je le disais au début de cet article, mettre un site WordPress en maintenance est une étape indispensable dès lors que l’on procède à des mises à jour, à des changements de design ou à l’ajout de nouvelles fonctionnalités. Cela permet d’assurer une meilleure expérience pour les visiteurs, de préserver l’image professionnelle du site et de travailler dans un environnement sécurisé et serein.
Selon votre niveau technique et vos besoins, vous pouvez opter pour la méthode qui vous convient le mieux. La méthode consistant à afficher une page maintenance.html personnalisée est particulièrement efficace si vous souhaitez un rendu que vous maîtrisez totalement.
Quelle que soit l’approche choisie, l’important est de prévenir clairement tes visiteurs et de leur garantir que l’indisponibilité n’est que temporaire. Un site bien géré, même en maintenance, reste un site professionnel.
N’hésitez pas à sortir de votre zone de confort et choisissez la méthode un peu plus technique 🙂













