500 — erreur interne du serveur

Ce qu’est une erreur interne du serveur HTTP 500, comment Googlebot traite les erreurs serveur pendant l’exploration, pourquoi des 500 persistantes provoquent une désindexation et comment les diagnostiquer et les corriger.

Première publication : 28 juin 2026 · Dernière mise à jour : 8 août 2026 · Advanced
Langues

Une erreur 500 est un code générique d’échec côté serveur — la RFC 9110 la définit comme une condition inattendue qui a empêché le serveur de satisfaire la requête, et rien de plus ; elle ne dit pas ce qui a échoué, pendant combien de temps ni si une nouvelle tentative réussira. Google retente généralement une 500 isolée, mais des 500 persistantes à l’échelle du site entraînent la réponse documentée de Google : exploration plus lente, puis retrait de l’index si les erreurs ne disparaissent pas. John Mueller a proposé une règle empirique personnelle — un taux d’erreur supérieur à environ 1 % est probablement un vrai problème — mais Google ne publie aucun seuil ferme. Commencez le diagnostic par les journaux serveur, puis consultez le rapport « Erreur serveur (5xx) » de GSC ; les conflits de plugins et l’épuisement des ressources sont courants sur certaines piles (WordPress notamment), et non une liste universelle.

TL;DR — La RFC 9110 définit 500 comme une condition inattendue qui a empêché le serveur de satisfaire la requête — c’est toute la limite du code de statut lui-même ; la cause, la durée et l’opportunité d’une nouvelle tentative relèvent du diagnostic, pas de la sémantique. La réaction documentée de Google est progressive : les 500 isolées sont généralement réessayées ; les 500 persistantes à l’échelle du site ralentissent l’exploration et, si elles ne sont pas résolues, entraînent un retrait de l’index. Mueller a proposé une règle empirique personnelle — des taux d’erreur supérieurs à environ 1 % indiquent probablement un problème — mais ce n’est pas un seuil Google documenté, et la séquence nouvelle tentative → exploration ralentie → retrait décrit des comportements documentés, pas un minuteur fixe. Diagnostiquez d’abord depuis les journaux serveur, puis avec le rapport « Erreur serveur (5xx) » de GSC et les statistiques d’exploration « par réponse ». La distinction 500/503 compte : 503 est le code reconnu pour dire « revenez plus tard » avec une fenêtre de grâce d’environ 2 jours ; une 500 incontrôlée ne bénéficie pas de cette grâce.

Evidence for this claim RFC 9110 defines 500 as an unexpected condition encountered by the server that prevented it from fulfilling the request. Scope: web requests Confidence: high · Verified: RFC 9110: HTTP Semantics

Ce qu’est réellement une 500

Commencez par la spécification, et non par le raccourci des praticiens. La RFC 9110 — la norme de sémantique HTTP — définit une 500 Internal Server Error comme une condition inattendue qui a empêché le serveur de satisfaire la requête. C’est toute la limite de ce que le code de statut vous dit. Il n’identifie ni la cause racine, ni le composant défaillant, ni la durée probable du problème, ni la réussite éventuelle de la même requête après une nouvelle tentative, ni la probabilité du rétablissement. Tout ce qui dépasse « le serveur a rencontré quelque chose qu’il ne pouvait pas gérer » relève du diagnostic, et non de la sémantique du code — le diagnostic se trouve dans vos journaux d’erreur serveur, pas dans la spécification ou le navigateur.

Evidence for this claim A 500 response means the server encountered an unexpected condition that prevented it from fulfilling the request. Scope: RFC 9110 defines the generic response semantics; it does not diagnose the underlying server fault. Confidence: high · Verified: IETF: RFC 9110 §15.6.1 — 500 Internal Server Error

Dans le guide des codes de statut HTTP d’Ahrefs, je garde volontairement la définition destinée aux praticiens très directe : le serveur “encounters some kind of issue and doesn’t have a better or more specific error code.” (traduction) : « rencontre un problème quelconque et ne dispose pas d’un code d’erreur meilleur ou plus précis ». C’est une paraphrase en langage clair de la même limite RFC — toujours un fourre-tout, toujours un symptôme plutôt qu’un diagnostic.

Le statut appartient à la famille 5xx aux côtés de 502 (mauvaise passerelle), 503 (service indisponible) et 504 (délai de passerelle dépassé) — tous côté serveur, mais 500 est celui qui signifie « aucun meilleur code ne s’applique ». Puisque le statut lui-même ne contient aucun détail de diagnostic, recharger la page dans un navigateur ne vous apprend pas pourquoi l’erreur est survenue ; vos journaux serveur sont la source de vérité.

Comment Googlebot traite une 500

Le robot de Google est conçu pour rester prudent : il adapte son rythme à la santé de votre serveur, et les réponses 5xx font partie des signaux qu’il lit comme « ralentissez ». La documentation actuelle de Google confirme la forme de cette réaction : les réponses 5xx et 429 provoquent une réduction temporaire du rythme d’exploration (proportionnelle au nombre d’URL touchées), et les URL qui continuent à échouer peuvent finir par être retirées de l’index, tandis que le contenu déjà indexé est conservé entre-temps dans l’attente d’une actualisation réussie. Evidence for this claim Google reduces crawling in response to 5xx errors and eventually removes persistently failing URLs from its index. Scope: Google documents the general 5xx progression; it does not provide a guaranteed retry or recovery timeline for an individual URL. Confidence: high · Verified: Google: How HTTP status codes affect Google's crawlers John Mueller a décrit cette même progression avec ses propres mots, lors d’une session Google SEO Office Hours relayée par Search Engine Journal :

“We don’t have any strong thresholds on that. But essentially what happens with 500 errors is we’ll try to retry them. And if we continue to see …the 500 errors then we will …slow down crawling. And if we continue to see that there are 500 errors then we will drop those URLs from the index.” (traduction) : « Aucun seuil ferme n’est fixé à ce sujet. En pratique, Google réessaie les erreurs 500 ; lorsqu’elles persistent, il ralentit l’exploration, puis retire les URL de l’index si elles continuent. »

Lisez cela comme une description de comportements documentés — nouvelle tentative, exploration plus lente, retrait possible — et non comme un minuteur fixe en trois étapes avec transitions ou délais garantis ; Google ne publie pas les seuils exacts auxquels une étape devient la suivante. Une 500 isolée sur une URL est généralement réessayée, et la récupération lors de l’exploration suivante met habituellement fin à l’incident — mais c’est une description du cas courant, pas la garantie qu’une panne ponctuelle n’a aucun coût. Le risque réellement documenté réside dans les erreurs qui ne disparaissent pas.

Pourquoi les 500 à l’échelle du site sont pires que les erreurs isolées

Une dynamique plus dangereuse apparaît lorsqu’une grande partie du site renvoie 500 en même temps. La documentation actuelle de Google confirme que la réduction du rythme dépend du nombre d’URL touchées — plus la partie défaillante du site est grande, plus l’exploration ralentit. Mueller a formulé le raisonnement de manière plus précise, en présentant l’hypothèse que l’exploration de Google pourrait elle-même participer à la surcharge :

“But if a large part of a site consistently has 500 errors and we might assume that maybe we’re causing the problem and we’ll slow down crawling of the whole site and at some point we’ll say well, it looks like these pages are really gone, we’re going to drop them.” (traduction) : « Lorsqu’une grande partie d’un site renvoie constamment des erreurs 500, Google peut soupçonner que son exploration contribue au problème ; il ralentit alors l’exploration de tout le site et finit par retirer les pages qui semblent réellement disparues. »

Traitez cette formulation causale précise — « nous supposons que nous en sommes la cause » — comme la caractérisation personnelle de Mueller, et non comme une formulation reprise mot pour mot de la documentation officielle actuelle de Google : le mécanisme sous-jacent est documenté (davantage d’URL en échec, davantage de réduction du rythme), même si le raisonnement causal exact est plus facile à vérifier dans sa déclaration que dans les documents. Dans tous les cas, la boucle pratique mérite d’être retenue : une exploration agressive en situation d’épuisement des ressources peut déclencher davantage de 500 → Google ralentit l’exploration de tout le site → et, si les erreurs persistent malgré tout, les pages sortent de l’index. Cela signifie aussi qu’un problème 500 n’est pas toujours un bug de code : le serveur peut parfois plier sous une charge concurrente qui ne se manifeste que lors de pics de robots ou de trafic.

À partir de quel niveau est-ce « trop » ?

Il n’existe pas de limite ferme — la documentation de dépannage de Google ne publie aucun seuil de taux d’erreur. Mueller a proposé une règle empirique personnelle dans SEO Office Hours (à nouveau relayée par Search Engine Journal, et non publiée officiellement par Google) :

“My feeling is if you’re seeing something more than one percent then that sounds like something is kind of broken.” (traduction) : « J’ai le sentiment que si vous voyez quelque chose de supérieur à 1 %, cela ressemble à un problème quelconque. »

Traitez ~1 % comme un test olfactif officieux attribué à Mueller, et non comme une limite Google documentée ou appliquée. En dessous, tout va probablement bien ; au-dessus, cela mérite une enquête — mais ne considérez pas le dépassement de 1 % comme un déclencheur automatique et ne considérez pas le fait de rester en dessous comme une garantie. Le seul nombre auquel Google s’engage publiquement est l’absence de nombre : “we don’t have any strong thresholds.” (traduction) : « nous n’avons pas de seuils fermes ».

500 contre 503 : la distinction qui compte

C’est là que beaucoup se trompent. Une 503 Service Unavailable est la manière reconnue de dire à un robot « je suis temporairement indisponible, revenez plus tard ». Google la traite comme intentionnelle et lui accorde une fenêtre de grâce. La documentation de dépannage de Google est explicite :

“Return 503 or 429 HTTP response status codes temporarily for Googlebot requests when your server is overloaded. Googlebot will retry these URLs for about 2 days. Note that returning ‘no availability’ codes for more than a few days will cause Google to permanently slow or stop crawling URLs on your site.” (traduction) : « Renvoyez temporairement des codes de réponse HTTP 503 ou 429 aux requêtes de Googlebot lorsque votre serveur est surchargé. Googlebot réessaiera ces URL pendant environ 2 jours. Notez que renvoyer des codes d’“indisponibilité” pendant plus de quelques jours amènera Google à ralentir ou arrêter définitivement l’exploration des URL de votre site. »

Le contraste est le suivant : 503 est intentionnelle et bénéficie d’une grâce de nouvelle tentative d’environ 2 jours ; une 500 incontrôlée est involontaire et n’en bénéficie pas — elle est simplement réessayée jusqu’à ce que Google abandonne. Conséquence pratique : pour une maintenance planifiée ou une défense délibérée contre une surcharge, renvoyez 503 (idéalement avec un en-tête Retry-After), et non 500 ni une page d’erreur 200. Ne maquillez jamais une panne réelle en 200.

Comment diagnostiquer une 500

Procédez par couches — application/code, plateforme/CMS, infrastructure et ressources, puis configuration — en commençant par ce qui est le moins coûteux et le plus susceptible d’apporter une réponse. Les étapes marquées (spécifique à WordPress) sont des pratiques WordPress courantes, et non des correctifs universels ; adaptez-les à votre pile réelle.

  1. Journaux d’erreur serveur. error.log / access.log (ou le lecteur de journaux de votre plateforme). Faites correspondre les horodatages aux requêtes en échec. C’est ici que se trouve la trace de pile, l’erreur fatale PHP ou l’échec de connexion DB. Tout le reste est une hypothèse tant que vous ne les avez pas lus.
  2. GSC — rapport « Erreur serveur (5xx) ». Le rapport d’indexation des pages de Google Search Console signale les URL sur lesquelles Google voit lui-même des 500. Ouvrez ensuite Statistiques d’exploration et lisez la ventilation « par réponse » dans le temps — c’est ainsi que vous distinguez un incident ponctuel d’un vrai problème persistant de disponibilité.
  3. Bing Webmaster Tools. Ses alertes d’erreur d’exploration regroupent les erreurs serveur (5xx) et vous orientent vers les URL concernées et l’outil d’informations d’exploration.
  4. Reproduisez le problème comme un robot, pas seulement dans un navigateur. Une page peut renvoyer 500 à Googlebot tout en se chargeant pour vous — sous l’effet d’une charge déclenchée par l’exploration, d’une mauvaise configuration de détection de robots ou de pare-feu, ou de limites de capacité qui n’apparaissent que sous trafic robot concurrent. Utilisez l’inspection d’URL (GSC), Fetch as Bingbot ou curl avec un user-agent de robot pour trouver les échecs propres aux robots. « Cela fonctionne dans mon navigateur » ne suffit pas.
  5. Conflits de plugins, thèmes ou modules (schéma spécifique à WordPress ; adaptez ailleurs). Faites d’abord une sauvegarde — prévoyez toujours un retour arrière avant de désactiver quoi que ce soit. Désactivez ensuite les extensions et réactivez-les une par une pour isoler la coupable, en vérifiant les permissions et la propriété des fichiers que vous touchez. Les guides de dépannage WordPress des hébergeurs rapportent souvent ce schéma, mais c’est une observation propre à une pile et non une preuve qu’il s’agit partout de la cause principale — sur un autre CMS ou une application personnalisée, l’équivalent peut être un conflit de module tiers, de package ou de middleware.
  6. Épuisement des ressources. Limites de mémoire PHP, limites de connexions à la base de données, capacité d’hébergement mutualisé, pics de trafic ou d’exploration. Votre hébergeur peut souvent le confirmer de son côté.
  7. Configuration et changements récents. .htaccess cassé, mauvaise modification de configuration serveur, déploiement récent ou identifiants de base de données erronés. Les changements récents sont le meilleur endroit où chercher en premier.

Comment la corriger (adaptez le correctif à la cause)

Faites correspondre le correctif à la couche désignée par le diagnostic. Voici des schémas courants rapportés dans les écrits de praticiens, et non une liste classée ou universelle de ce qui est le plus probable dans votre pile précise :

  • La configuration ou le déploiement a causé l’erreur → annulez le changement ; corrigez .htaccess, la configuration ou les identifiants.
  • Épuisement des ressources → augmentez les limites (mémoire PHP, connexions DB) ou passez à une offre d’hébergement supérieure ; si l’exploration déclenche la surcharge, c’est aussi une question de rythme d’exploration.
  • Conflit de plugin ou de module → retirez ou remplacez l’extension fautive.
  • Bug de code → corrigez le code et ajoutez la gestion d’erreur manquante.
  • Vous ne parvenez pas à l’identifier → transmettez à votre hébergeur les horodatages exacts et les lignes de journal. Ne devinez pas en production.

Éviter la réapparition

Superviser et alerter sur les taux de 5xx, tester les changements en préproduction avant leur mise en production, tester la charge avant les pics de trafic connus et — si l’exploration de Googlebot est elle-même le déclencheur — gérer la charge d’exploration (et renvoyer délibérément 503/429 pendant une vraie surcharge, au lieu de laisser le serveur émettre des 500 incontrôlées).

FAQ

Une erreur 500 nuit-elle au SEO ? Le risque documenté concerne surtout la persistance à grande échelle. Les 500 isolées sont généralement réessayées, sans pénalité documentée pour un incident ponctuel ; des 500 persistantes à l’échelle du site ralentissent l’exploration et peuvent entraîner une désindexation.

Au bout de combien de temps Google désindexe-t-il une page qui renvoie 500 ? Il n’existe pas de calendrier fixe. Google réessaie d’abord et ralentit l’exploration ; le retrait de l’index ne survient que si les erreurs continuent. Corrigez le problème et les pages reviennent généralement une fois les explorations redevenues fructueuses.

Pourquoi mon site renvoie-t-il 500 à Googlebot mais se charge-t-il dans mon navigateur ? Les 500 propres aux robots indiquent généralement un problème de capacité ou de gestion des robots — charge déclenchée par l’exploration, règles de pare-feu ou de détection, ou limites qui ne se déclenchent que sous trafic robot concurrent. Fiez-vous aux journaux, et non à un contrôle manuel dans un navigateur.

Les 500 peuvent-elles ralentir l’exploration de tout mon site, et pas seulement des pages touchées ? Oui — la documentation de Google confirme que la réduction du rythme dépend du nombre d’URL en échec ; une grande partie du site qui renvoie 500 ralentit donc l’exploration partout. Mueller a également présenté le raisonnement comme une suspicion de Google que sa propre exploration participe à la surcharge — sa caractérisation personnelle, et non une formulation reprise mot pour mot des documents officiels actuels.

Qu’est-ce qui provoque une 500 dans WordPress ? Sur WordPress précisément, les hébergeurs et la communauté WordPress citent le plus souvent les conflits de plugins ou de thèmes, un .htaccess corrompu ou l’atteinte de la limite de mémoire PHP — c’est ce qui est rapporté pour cette plateforme, et non l’affirmation que ce sont les causes principales universelles de toute 500. L’ordre de diagnostic ci-dessus (journaux d’abord, puis changements récents) reste le même quel que soit le CMS.

Est-il sûr de réessayer automatiquement une requête après une 500 ? Seulement après avoir vérifié la méthode et l’idempotence de la requête — le statut 500 lui-même n’autorise aucune politique de nouvelle tentative. GET, HEAD, PUT et DELETE sont généralement sûres à réessayer parce qu’elles sont idempotentes (les répéter ne devrait pas produire d’effets secondaires supplémentaires) ; un POST simple ne l’est généralement pas, sauf si votre API garantit explicitement l’idempotence (par exemple avec une clé d’idempotence) — le réessayer aveuglément risque de créer une commande en double, un e-mail en double ou un paiement débité deux fois. Lorsque vous réessayez, utilisez un backoff exponentiel avec jitter, plafonnez le nombre de tentatives et définissez un budget de nouvelles tentatives afin qu’un serveur en difficulté ne subisse pas une tempête de retentatives en plus de ce qui échoue déjà.

Try it live

This is a real endpoint on this site — not a simulation. Hit it from the button, open it in a new tab, or curl -i it from your terminal, and the server answers with the actual status code this article is about.

Open in new tab ↗

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.