Pour mettre votre site en mode maintenance si vous êtes débutant sur WordPress, le plus facile est de passer par un plugin comme « Maintenance » qui ne prendra que quelques secondes à mettre en route.

Car oui, il n’y a pas de fonctionnalité par défaut sur WordPress pour le passer en mode maintenance.

Il existe également d’autres manières de passer en maintenance en éditant certains fichiers de votre site, ce qui est techniquement plus propre que d’ajouter un plugin.

Passer en mode maintenance WordPress avec un plugin

La manipulation ne prend que quelques secondes :

  • Allez dans votre Tableau de bord WordPress dans Extensions > Ajouter une extension
  • Tapez « Maintenance » dans la barre de recherche
  • Choisissez un plugin en cliquant sur « Installer ». Je recommande « Maintenance« 
  • Cliquez ensuite sur « Activer »
  • Allez dans les paramètres de votre plugin et activez la maintenance

Si vous utilisez le plugin « Maintenance », vous pourrez personnaliser complètement et gratuitement la page de maintenance.

À savoir : peu importe le plugin que vous utilisez, vous pourrez quoi qu’il en soit vous connecter à votre tableau de bord après activation. Le mode maintenance ne s’active que pour les visiteurs, pas pour l’interface d’administration de votre site.

Maintenance WordPress via functions.php

Vous pouvez aussi éditer le fichier functions.php situé à la racine de votre site pour passer en monde maintenance. Cela permet d’éviter d’avoir à installer un plugin qui est source de risque sécuritaire et de dysfonctionnement.

Voici les différentes étapes à suivre pour cela :

  • Connectez-vous au serveur de votre site via SFTP avec Filezilla
  • Localisez le dossier contenant votre installation WordPress
  • À la racine de votre installation, faîtes un clic droit sur le fichiers « functions.php » et cliquez sur « éditer »
  • Ajoutez les lignes de code suivantes tout à la fin du fichier :
function custom_maintenance_mode() {
    if ( !current_user_can( 'edit_themes' ) || !is_user_logged_in() ) {
        wp_die(
            '<h1>Site en Maintenance</h1><p>Nous reviendrons bientôt. Merci de votre patience.</p>',
            'Site en Maintenance',
            array( 'response' => 503 )
        );
    }
}
add_action( 'get_header', 'custom_maintenance_mode' );
  • Enregistrez le fichier

Passer en maintenance avec le fichier .maintenance

Si il n’y a pas de fonctionnalité en natif pour passer en mode maintenance, WordPress reconnaît cependant un type de fichier se nommant « .maintenance ».

  • Connectez-vous en SFTP au serveur de votre site
  • Localisez le dossier contenant votre installation WordPress
  • Créez un fichier se nommant « .maintenance » avec un éditeur de texte comme Notepad++
  • Ajoutez-y ces lignes :
<?php
$upgrading = time();
?>
  • Sauvegardez le fichier et mettez le à la racine de votre site

Le mode maintenance avec le functions.php

Il est possible de rediriger tous les utilisateurs vers une page de maintenance faites main. Cela ne vous empêchera pas de consulter votre site car nous ajouterons une exception sur votre adresse IP.

  • Dans un éditeur de texte comme Notepad++, créez un fichier se nommant « maintenance.html »
  • Ajoutez-y les lignes suivantes :
<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="refresh" content="3600"> <!-- Rafraîchit la page toutes les heures -->
    <title>Site en Maintenance</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            text-align: center;
            background-color: #f4f4f4;
            color: #333;
            margin: 0;
            padding: 0;
        }
        .container {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            max-width: 600px;
            padding: 20px;
            background: #fff;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
            border-radius: 10px;
        }
        h1 {
            color: #e63946;
        }
        p {
            font-size: 18px;
            line-height: 1.6;
        }
        a {
            color: #1d3557;
            text-decoration: none;
            font-weight: bold;
        }
    </style>
</head>
<body>
    <div class="container">
        <h1>Site en Maintenance</h1>
        <p>Nous travaillons pour améliorer votre expérience. Le site sera bientôt de retour en ligne.</p>
        <p>Merci de votre patience.</p>
        <p><a href="mailto:contact@votre-site.com">Contactez-nous</a> si vous avez besoin d'aide.</p>
    </div>
</body>
</html>
  • Placez ce fichier à la racine de votre installation WordPress
  • Ajoutez ces lignes à votre fichier .htaccess :
RewriteEngine On
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.000$
RewriteRule ^(.*)$ /maintenance.html [R=503,L]
  • Remplacez la ligne « 123.456.789.000 » par votre adresse IP en ne supprimant pas les caractères spéciaux, puis sauvegardez.

C’est bon, la maintenance est activée !

Il existe d’autres méthodes, si vous souhaitez que je vous les partage n’hésitez pas à me le dire dans le commentaires :

  • Fichier maintenance.php avec un thème enfant
  • Utiliser un index.php temporaire
  • Via le serveur en redirigeant le trafic
Vous bloquez avec cette manipulation ?

Contactez-moi pour que je vous vienne en aide, j'assiste les propriétaires de sites web depuis + de 10 ans maintenant :

Auteur de l'article : Ramzi de Mayboutik
Passionné par le web, je vous transmets mes modestes connaissances WordPress et SEO en détente.