Voici comment j'ai géré cela dans le passé avec Apache (sans changement apparent au classement):
1. Créez une page de maintenance avec une ouverture / fermeture définie pour la fenêtre de maintenance - faites en sorte que la fenêtre de maintenance soit environ deux fois plus longue que la durée prévue de la maintenance afin que vous puissiez la restaurer si nécessaire
2. Réécrivez la règle pour diriger le trafic vers la page de maintenance:
RewriteEngine on
RewriteCond %{REMOTE_ADDR} !^1\.2\.3\.4
RewriteCond %{REQUEST_URI} !maintenance\.html$
RewriteRule .* /maintenance.html [L,R=307]
(Où 1\.2\.3\.4
est une expression rationnelle pour votre IP)
3. Maintenance et tests complets, commentez les directives de réécriture
La redirection temporaire 307 est, à ma connaissance, l'en-tête de réponse approprié pour une situation de maintenance, je n'ai jamais vu de problèmes de maintenance d'une durée de 1 à 3 heures sur des sites moyennement occupés (soit 100 à 500 utilisateurs / heure).
Éditer:
Selon les commentaires de John Mueller, vous devez également configurer votre serveur Web pour générer une erreur 503 avec un délai de nouvelle tentative pour indiquer que les araignées ne doivent pas mettre en cache le contenu de la page de maintenance.
À cette fin, vous pouvez suivre le HowTo 503 / Retry-After de AskApache .
<meta name="robots" content="noindex" />
balise sur la page de maintenance - ajoutera cela