Par

WordPress – Jouer avec le mode maintenance

Lorsque l’on fait une mise à jour automatique de WordPress, un mode “maintenance” se lance, rendant temporairement votre blog inaccessible. Vos visiteurs ont alors droit à un message générique du type “Indisponibilité temporaire pour cause de maintenance. Veillez revenir dans un instant”.

Hélas, il est fréquent qu’une mise à jour “plante”, laissant votre site dans ce mode pour le moins désagréable lorsqu’il devient permanent.

Comment supprimer le mode maintenance ?

A la racine de WordPress se trouve un fichier caché “.maintenance”. Il suffit de le supprimer. Si vous ne trouvez pas ce fichier, il est probable que votre logiciel FTP ne vous montre pas les fichiers cachés. Pas de panique : uploader un nouveau fichier .maintenance vide à la racine de WordPress résoudra votre problème.

Comment déclencher le mode maintenance ?

En plaçant à la racine de WordPress un fichier .maintenance contenant la ligne suivante :

<?php $upgrading = time(); ?>

Ou si vous voulez programmer la fin de ce mode pour une heure précise :

<?php $upgrading = strtotime('2011-01-01 00:00'); //par exemple le 1er janvier 2011 à minuit ?>

La variable $upgrading attend un timestamp. Une fois la date dépassée, le blog quittera donc le mode maintenance.

Comment designer le mode maintenance ?

Il faut reconnaître que la page par défaut de ce mode est légèrement austère, et peu accueillante. Si vous voulez la personnaliser un peu, créez un fichier maintenance.php que vous placerez à la racine du répertoire wp_content/. Copiez/collez les quelques lignes de code ci-dessous :

<?php
$protocol = $_SERVER["SERVER_PROTOCOL"];
if ( 'HTTP/1.1' != $protocol && 'HTTP/1.0' != $protocol )
        $protocol = 'HTTP/1.0';
header( "$protocol 503 Service Unavailable", true, 503 );
header( 'Content-Type: text/html; charset=utf-8' );
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<h1>Indisponibilité temporaire pour cause de maintenance. Veillez revenir dans un instant.</h1>
 
</body>
</html>
<?php die(); ?>

Il ne vous reste plus qu’à modifier le texte si vous le souhaitez, rajouter quelques images, un peu de css… Je suis certain que vous trouverez beaucoup d’idées pour le tunning de cette page si particulière.

Et si je ne veux pas du tout de mode maintenance ?

C’est simple, il suffit de dire à WordPress que l’heure est passée, en créant un fichier .maintenance à la racine du site contenant :

<?php $upgrading = 0; ?>