Famille 5xx Intermédiaire / avancé 9 min

Code HTTP 503 Service Unavailable : causes, impacts SEO et solutions

Le seul code d’erreur qu’on serve volontairement. Bien accompagné, il protège l’indexation pendant une maintenance ; servi en 200 par une page « nous revenons bientôt », il la détruit.

Mis à jour le · Écrit et vérifié par Damien Hernandez

Réponse courte

Le code HTTP 503 (Service Unavailable), que le visiteur voit comme une erreur 503, signale que le serveur est temporairement incapable de traiter une requête pourtant valide. L’URL existe, le contenu aussi : c’est l’infrastructure qui est en pause ou saturée. C’est le seul code d’erreur qu’on sert volontairement, pendant une maintenance, et bien accompagné il protège l’indexation au lieu de la dégrader.

Il peut venir du serveur d’origine comme d’un intermédiaire : proxy inverse, CDN ou répartiteur de charge émettent leurs propres 503 quand l’origine ne répond pas assez vite.

Retry-After

l’en-tête qui distingue une maintenance maîtrisée d’une panne : il dit à Googlebot quand revenir.

Pas de seuil

publié par Google : il retire de l’index les URL qui renvoient durablement une erreur serveur, et conseille de ne pas dépasser quelques jours pour une mise en pause.

200

le code à ne surtout pas servir sur une page de maintenance : c’est le piège du soft 503.

Une indisponibilité, trois points de vue

Ce que voit chacun pendant que le service est coupé. Choisissez un point de vue.

Le visiteur

Nous revenons bientôt.
Maintenance en cours, retour prévu à 14 h.

Une page lisible, avec un horaire de retour. Elle peut être soignée : ce qui compte pour le référencement, ce n’est pas ce qu’elle affiche.

Googlebot

HTTP/1.1 503 Service Unavailable
Retry-After: 3600
Cache-Control: no-store

Un code qui dit « revenez plus tard », et un horaire. Le robot reprogramme sa visite sans rien retirer de l’index.

Vous

php-fpm : pool saturé (max_children)
mysql : connexions 151/151
load average : 14,2

Une infrastructure à diagnostiquer. Le 503 vous donne le temps de le faire, à condition d’être servi correctement.

Comment diagnostiquer une erreur 503 ?

Quatre étapes, du plus fréquent au plus discriminant. La première élimine à elle seule la moitié des cas : elle vérifie ce que le serveur répond vraiment, plutôt que ce que la page affiche.

  1. 01Confirmer le code réellement renvoyé. Une page « nous revenons bientôt » peut très bien être servie en 200. Vérifiez les en-têtes plutôt que l’écran.
  2. 02Identifier qui émet le 503. Serveur d’origine, proxy inverse, CDN ou pare-feu applicatif : les quatre en produisent. « backend fetch failed » désigne un intermédiaire.
  3. 03Regarder la charge au moment de l’incident. Processeur, mémoire, processus disponibles, connexions à la base. Un pic ou un traitement coûteux suffit à saturer une capacité correcte le reste du temps.
  4. 04Lire les journaux, dans cet ordre. Serveur web, puis PHP, puis applicatif, puis base de données. La seule étape qui isole un dépassement de délai d’une saturation.

Le raccourci à éviter. Afficher une page de maintenance en laissant le serveur répondre 200. C’est un « soft 503 » : Google peut indexer cette page à la place de votre contenu, et classer les URL en soft 404. La page de maintenance doit être servie avec un code 503.

Préparez votre réponse de maintenance

Les en-têtes comptent plus que le corps de la page. Réglez la maintenance prévue : l’outil génère la réponse, la configuration serveur, et dit ce que Google en fera.

Voici ce qu’un serveur doit renvoyer pendant une maintenance annoncée d’une heure.

HTTP/1.1 503 Service Unavailable
Content-Type: text/html; charset=UTF-8
Retry-After: 3600
Cache-Control: no-store

Retry-After accepte une durée en secondes ou une date. Cache-Control: no-store évite qu’un cache intermédiaire continue de servir le 503 après le rétablissement, ce qui prolongerait la panne bien après sa fin.

Corriger une erreur 503 : les causes fréquentes

Pour chaque cause, le signe qui la trahit et la correction associée.

CauseCe qui la trahitCorrection
Surcharge du serveurProcessus saturés, mémoire pleine, pics de trafic corrélésAugmenter la capacité, alléger les traitements coûteux
Maintenance planifiéeAucune anomalie, l’indisponibilité est voulueServir un 503 avec Retry-After, jamais un 200
Délai dépassé en amont« backend fetch failed » émis par le proxy ou le CDNRéduire le temps de réponse de l’origine
Limitation de débit503 servis à certaines adresses seulementExclure Googlebot des règles de limitation
Attaque par saturationVolume anormal de requêtes, protection déclenchéeFiltrer en amont, sans bloquer les robots légitimes
Base de données indisponibleConnexions refusées ou épuisées dans les journauxVérifier le pool de connexions et les requêtes lentes

Une erreur 503 sous WordPress

Pendant une mise à jour, WordPress crée un fichier .maintenance à la racine du site et affiche « Briefly unavailable for scheduled maintenance. Check back in a minute. », servi d’après son code en 503 avec Retry-After: 600.[7] Si la mise à jour a été interrompue, la documentation officielle conseille de supprimer ce fichier ; le code l’ignore de toute façon au bout de dix minutes. Un 503 qui persiste vient donc probablement d’ailleurs : extensions (renommez le dossier wp-content/plugins), puis thème, puis journaux.[6]

Quel est l’impact SEO d’une erreur 503 ?

Tant que l’indisponibilité reste brève, pratiquement aucun. Ce qui coûte, c’est la durée et la récurrence. Pour simuler un incident de plusieurs jours, voir le simulateur de la fiche 5xx.

01 · Exploration

Exploration

Googlebot enregistre un échec et reprogramme sa visite. Répétés, ces échecs le poussent à ralentir sa cadence.

02 · Indexation

Indexation

Si l’indisponibilité dure, Google finit par retirer les URL de l’index : sa documentation parle d’URL qui renvoient durablement une erreur serveur, sans donner de seuil. Le 503 ne doit pas devenir une solution permanente.

03 · Soft 503

Soft 503

Une page de maintenance servie en 200 peut être indexée à la place du contenu, et les URL basculer en soft 404.

04 · Revenus

Revenus

Sur un tunnel de commande ou de réservation, l’effet est commercial avant d’être organique.

Une maintenance sans nuire au référencement

Le cas d’usage légitime du 503 se joue en trois décisions. Google documente explicitement cette procédure : elle n’a rien d’une astuce.[3]

01

Un vrai 503 partout

Sur toutes les URL concernées, page d’accueil comprise.

02

Retry-After réaliste

Une durée plutôt trop longue que trop courte.

03

Aucune mise en cache

Pour que le rétablissement soit immédiat.

Une maintenance de quelques heures traitée ainsi ne laisse aucune trace. La même maintenance servie en 200 peut faire indexer une page vide sur vos requêtes stratégiques, et il faut ensuite du temps pour la faire remplacer par le vrai contenu.

Sur votre site

Vos pages de maintenance répondent-elles le bon code ?

Je relève les codes de réponse servis à Googlebot sur trente jours, les soft 503 compris, et je vous dis lesquels traiter en premier.

Demander un audit technique →

Éviter les erreurs 503

  • Dimensionner la capacité : un pic de trafic ou de robots sature les processus PHP et la base de données ; surveillez-les avant la limite.
  • Chasser les requêtes lentes, qui occupent un processus longtemps.
  • Planifier les maintenances hors des heures de pointe, avec un 503 et un Retry-After (le générateur ci-dessus prépare la réponse).
  • Superviser avec une alerte sur les pages stratégiques, et annoncer la reprise sur une page de statut hébergée hors du site.

Les bonnes pratiques à retenir

  • Vérifier le code réellement renvoyé après chaque mise en maintenance, jamais l’affichage seul.
  • Accompagner tout 503 volontaire d’un en-tête Retry-After.
  • Ne pas laisser une indisponibilité s’installer sur des pages stratégiques : Google ne publie aucun seuil, et conseille de ne pas dépasser quelques jours pour une mise en pause.
  • Interdire la mise en cache des réponses 503, pour ne pas prolonger la panne après sa fin.
  • Exclure les robots des règles de limitation de débit qui produisent des 503.

Les codes à ne pas confondre avec un 503

Questions fréquentes sur le code 503

Quelle est la différence entre un 503, un 500 et un 504 ?

Le 503 annonce une indisponibilité temporaire, donc un retour. Le 500 signale une erreur interne sans notion de durée. Le 504 indique qu’un intermédiaire n’a pas obtenu de réponse à temps. Des trois, le 503 est le seul qu’on serve volontairement.

Combien de temps un 503 peut-il durer sans risque ?

Une coupure de quelques heures, bien servie, reste sans conséquence en pratique. Au-delà, Google ne publie aucun seuil : sa documentation indique qu’il retire de l’index les URL qui renvoient durablement une erreur serveur, et qu’il réaugmente progressivement son rythme d’exploration une fois les réponses 2xx revenues.

Faut-il vraiment ajouter un en-tête Retry-After ?

Oui pour une indisponibilité voulue. Une durée réaliste, plutôt surestimée : un délai trop court fait revenir le robot sur une porte encore fermée.

Pourquoi mon CDN renvoie-t-il un 503 alors que mon serveur va bien ?

Un proxy ou un CDN émet ses propres 503 quand l’origine ne répond pas dans le délai qu’il s’accorde. La correction porte sur le temps de réponse, pas sur la disponibilité.

Que faire si le 503 est intermittent ?

Un 503 qui va et vient traduit presque toujours une saturation ponctuelle. Corrélez les horodatages des erreurs avec les pics de trafic et les métriques de charge.

Sources

  1. 1RFC 9110 : Sémantique du protocole HTTP, section 503
  2. 2MDN : l’en-tête Retry-After
  3. 3Google Search Central : mettre une activité en ligne en pause
  4. 4Google Search Central : gérer une indisponibilité planifiée
  5. 5Constats issus d’audits de logs, méthode décrite dans la fiche Analyse de logs
  6. 6WordPress : les erreurs courantes (fichier .maintenance)
  7. 7WordPress : le code du mode maintenance (wp_maintenance)
Lire avec l'IAprompt pré-rempli · service tiers
Damien Hernandez, consultant SEO senior

AUTEUR

Damien Hernandez

Consultant SEO senior, 17 ans d'expérience. Les délais et effets décrits ici viennent de la documentation Google et d'incidents constatés en audit de logs.

à proposLinkedInméthodologie

Quels codes Googlebot rencontre-t-il chez vous ?

Je relève les codes de réponse servis à Googlebot et je vous dis lesquels traiter en premier.

Demander un audit technique →