Générateur Retry-After
Configurez votre maintenance pour le SEO
Code prêt à l’emploi pour Apache, Nginx, PHP et Cloudflare.
Pourquoi le Retry-After est crucial
Le header Retry-After indique aux robots (Google, Bing) et aux clients HTTP quand réessayer. Sans ce header :
- Google peut réduire la fréquence de crawl
- Après 24-48h, risque de perte de classement
- Après 72h+, risque de désindexation
Avec le header correctement configuré :
- Google comprend que c’est temporaire
- Pas d’impact sur l’indexation (jusqu’à 48h)
- Récupération immédiate après la maintenance
Formats acceptés
Format en secondes (recommandé)
Retry-After: 3600
Signifie : « Réessayez dans 3600 secondes (1 heure) »
Avantages : Simple, universel, calculé automatiquement depuis maintenant.
Format date HTTP
Retry-After: Thu, 26 Dec 2024 18:00:00 GMT
Signifie : « Réessayez après le 26 décembre à 18h UTC »
Avantages : Précis pour une heure de fin connue.
Inconvénients : Doit être en UTC/GMT, format strict requis.
Nous recommandons le format en secondes car il est plus simple et évite les erreurs de timezone.
Exemples de code générés
Apache (.htaccess)
.htaccess
RewriteEngine On
# Exclure votre IP
RewriteCond %{REMOTE_ADDR} !^123\\.456\\.789\\.012$
# Exclure les fichiers statiques
RewriteCond %{REQUEST_URI} !\\.(css|js|png|jpg|gif|ico|svg|woff2?)$ [NC]
# Exclure la page maintenance
RewriteCond %{REQUEST_URI} !^/maintenance\\.html$
# Retourner 503
RewriteRule ^(.*)$ /maintenance.html [R=503,L]
# Headers
<IfModule mod_headers.c>
Header always set Retry-After "3600"
Header always set Cache-Control "no-store, no-cache, must-revalidate"
</IfModule>
ErrorDocument 503 /maintenance.html
Nginx
nginx.conf
server {
# ... config existante ...
# Mode maintenance (décommenter pour activer)
# set $maintenance 1;
if ($maintenance = 1) {
return 503;
}
# Exclure votre IP
if ($remote_addr = "123.456.789.012") {
set $maintenance 0;
}
error_page 503 @maintenance;
location @maintenance {
add_header Retry-After 3600 always;
add_header Cache-Control "no-store" always;
root /var/www/errors;
try_files /maintenance.html =503;
}
}
PHP universel
maintenance.php (à inclure en haut de index.php)
<?php
$maintenance_mode = file_exists(__DIR__ . '/.maintenance');
$allowed_ips = ['123.456.789.012'];
$retry_after = 3600; // 1 heure
if ($maintenance_mode && !in_array($_SERVER['REMOTE_ADDR'], $allowed_ips)) {
http_response_code(503);
header('Retry-After: ' . $retry_after);
header('Cache-Control: no-store, no-cache, must-revalidate');
include __DIR__ . '/maintenance.html';
exit;
}
Besoin d’une page maintenance ?
Générez une page HTML professionnelle et personnalisée.