Guide : Server Error (5xx)
Ce que the "Server error (5xx)" status dans la recherche Google Console's Page Indexation report signifie — pourquoi a 500-level réponse slows exploration and eventually drops pages, how to diagnose and fix it, and the correct façon to prendre a site bas on objectif with a 503 and Retry-After.
Langues
1 indice probant sur cette page
- Outil en ligne associéHTTP Status & Redirect Checker
"Server error (5xx)" in Search Console's Page Indexation report signifie Googlebot requested une URL and le serveur renvoyé a 500-level error (500, 502, 503, 504) au lieu de a 200, so lune page can't be indexé. Two harms follow: Google slows exploration — proportionate to how nombreux URLs are erroring — and quelconque content from a 5xx is ignored; persistent 5xx eventually drops already-indexed URLs. Recovery is automatic une fois le serveur renvoie 2xx, but the fréquence d’exploration ramps back gradually. Courant causes are an overloaded or misconfigured host, app/DB errors, upstream/CDN échecs, and a CDN/WAF (or rate limiting → 429, qui Google buckets with 5xx) blocking Googlebot — vérifier with reverse DNS/IP ranges avant modification security rules, since a Googlebot user-agent is spoofable. Diagnose via Statistiques d’exploration host availability, server logs, and the Inspection d’URL live tester (une page working now doesn't prove ce que Googlebot saw précédent). The un nuance: Google's par défaut advice is to stay online with limited functionality during a closure; si vous doit entièrement disable, 503 + Retry-After is correct pour a day or two at la plupart (weeks of downtime harms indexation with aucun fixed recovery temps), and votre robots.txt doit garder returning 200 throughout, parce que a 503 on robots.txt peut pause exploration site-wide.
TL;DR — “Server error (5xx)” signifie Google tried to charger votre page and votre server answered with an error (a 500-level code) au lieu de showing lune page. Google can’t index an error, so l’URL won’t apparaître in search. A rapide blip is fine — Google simplement backs off and retries — but si the errors garder happening, votre pages peut eventually drop out of Google. Fix le serveur, and exploration comes back on its propre.
Ce que ce status signifie
Ce étiquette signifie Google’s requête reçu a server réponse in the 5xx range. Evidence for this claim Google reports Server error 5xx when the server returned a 500-level response for the requested page. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: Page indexing report Google slows exploration in réponse to 5xx errors and peut eventually supprimer persistently failing URLs. Evidence for this claim Google slows crawling for 5xx responses and may eventually remove persistently failing URLs from the index. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: HTTP status codes
Quand Googlebot demande votre serveur pour une page, le serveur réponses with a code d’état.
A 200 signifie “here’s the page.” A 5xx is a whole family of error codes —
500, 502, 503, 504 — que tout mean “something went wrong on my end.” Quand
Search Console montre Server error (5xx) sous Non indexée, it’s telling vous
Google asked pour que URL and got un of ceux errors back au lieu de lune page.
Google can’t index an error page. There’s aucun contenu réel to lire, so l’URL stays out of search jusqu’à le serveur starts responding normally à nouveau.
Is ce an emergency?
It dépend on si it’s a one-off or a pattern:
- A brief hiccup — votre serveur was busy pour a minute, a deploy restarted it — is normal. Google notices the error, slows bas, and tries à nouveau plus tard. Aucun lasting harm.
- Errors que garder happening are the problem. The plus long votre serveur garde returning 5xx, the plus Google crawls vous, jusqu’à eventually pages que were in Google obtenir dropped.
Google doesn’t publish a “safe” number of flagged URLs — the crawl-rate hit scales with cependant nombreux URLs are erroring, pas a fixed threshold. So prioritize by ce que en réalité matters: is it an important page, is it encore failing quand vous vérifier à nouveau, and is it a handful of URLs or a lot of les? A unique important URL que garde failing deserves attention now; a one-time blip on a low-value page usually resolves itself. A lot of URLs flagged, or the même ones flagged over and over, signifie something on votre site is en réalité broken and nécessite attention.
How to commencer fixing it
- Vérifier si votre site is en réalité up. Visit a flagged page yourself. Si it errors pour vous aussi, that’s votre réponse — le serveur has a problem.
- Demander votre host or developer. 5xx errors almost toujours come from le serveur, the app, or the database — pas from anything in votre page’s content or SEO settings.
- Regarder at Statistiques d’exploration in Search Console (Settings → Statistiques d’exploration). It montre si Google has been hitting errors à travers votre whole site recently.
- Une fois it’s fixed, tell Google to re-check. In lune page Indexation report, ouvrir the “Server error (5xx)” problème and click Validate Fix. Google re-crawls the affected URLs and clears les as ils come back clean.
The un chose personnes obtenir incorrect
Si vous ever besoin to prendre votre site bas on objectif — pour maintenance, dire —
don’t simplement montrer an error page or a “we’ll be back soon” page que renvoie a
normal 200. And don’t faire it a 404. The correct déplacer is a 503 status (it
literally signifie “service unavailable, temporarily”). Que indique Google “I’m bas
pour a bit, come back plus tard” instead of “ce page is broken” or “ce page is
gone.” There’s a correct façon to do que, covered in the Avancé tab.
Vouloir the complet version — exactly how Google reacts to 5xx, the 500-vs-502-vs-503 differences, how to diagnose the causer, and the proper maintenance-mode setup? Switch to the Avancé tab.
TL;DR — “Server error (5xx)” signifie le serveur renvoyé a 500-level code quand Googlebot requested l’URL, so lune page can’t be indexé. Two distinct harms: Google slows the fréquence d’exploration (proportionate to how nombreux URLs are erroring) and ignores quelconque content a 5xx renvoie; si the errors persist, already-indexed URLs are preserved at premier, alors dropped. Recovery is automatic une fois vous retourner
2xx, but the fréquence d’exploration ramps back up gradually. Google buckets 429 (rate limiting / “server overloaded”) with 5xx. Causes: overloaded/misconfigured host, app/DB errors, upstream or CDN échecs, a CDN/WAF blocking Googlebot (vérifier with reverse DNS/IP ranges avant modification security rules — a Googlebot user-agent is spoofable). Diagnose with Statistiques d’exploration host availability → server logs → Inspection d’URL live tester. Google’s par défaut recommendation pour planned closures is to stay online with limited functionality; si vous doit entièrement disable, the correct réponse is 503 + Retry-After pour a day or two (“a few days at most” — weeks of it harms indexation with aucun fixed recovery temps) — and robots.txt doit garder returning 200, parce que a 503 on robots.txt peut pause exploration site-wide. Alors run Validate Fix (optional — it simplement tracks the fix).
Ce que the status en réalité reports
The étiquette reports la réponse Google observed, pas the spécifique origin, proxy, database, or CDN échec que caused it. Evidence for this claim Google reports Server error 5xx when the server returned a 500-level response for the requested page. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: Page indexing report Google’s HTTP guidance defines the separate explorer and indexation effects. Evidence for this claim Google slows crawling for 5xx responses and may eventually remove persistently failing URLs from the index. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: HTTP status codes
Google’s propre definition is un line: votre serveur renvoyé a 500-level error quand
lune page was requested. That’s it. Googlebot made une requête, and au lieu de a 200
with content it got a 500, 502, 503, 504, or similaire. L’URL lands sous
Non indexée parce que là was aucun usable content to index.
Garder un chose straight: ce is à propos de the réponse code, pas lune page’s
content, markup, or SEO setup. A 5xx is a server-and-infrastructure problem. Aucun
amount of editing lune page’s HTML fixes a 502 coming from an overloaded backend.
How Google treats 5xx — the explorer economics
Ce is the partie la plupart explainers skip, and it’s the whole raison 5xx matters plus
que, dire, a 404. Google’s HTTP-errors documentation spells out the behavior:
- Exploration slows bas. 5xx (and 429) errors prompt Google’s robots d’exploration to temporarily slow bas. The decrease in fréquence d’exploration is proportionate to the number of individual URLs returning a server error — a handful of erroring URLs is a nudge; a site-wide 5xx is a hard brake.
- Le contenu is ignored. Anything Google receives from une URL returning a 5xx is thrown away. There’s aucun “partial credit” pour an error corps — Google ne fait pas index a “site down” message vous served with a 500.
- Indexé URLs are preserved, alors eventually dropped. Already-indexed URLs stay dans l’index at premier. But Google’s indexation pipeline removes URLs que persistently retourner a server error. So a short outage costs vous nothing in the index; a prolonged un costs vous lune pages.
- Recovery is automatic — but gradual. Une fois le serveur starts responding with
2xxà nouveau, Google gradually increases the fréquence d’exploration back up. Vous don’t fichier a ticket; vous fix le serveur and the explorer ramps back cautiously on its propre.
Que sequence — slow bas → ignore content → preserve → eventually drop → recover on 2xx — is the accuracy spine of ce whole topic.
429 counts as a server error. Worth flagging parce que la plupart competitor content
misses it: Google treats a 429 Too Many Requests as a signal que le serveur is
overloaded, and buckets it with 5xx. Si votre rate limiting or bot protection is
firing 429s at Googlebot, you’re getting the même explorer slowdown as a 500.
The courant 5xx codes, by probable root causer
Knowing qui 5xx you’re getting is a starting point pour où to regarder — pas proof of what’s broken. RFC 9110 (the HTTP specification) defines chaque code by ce que the responding component was doing, and quelconque of ces peut be emitted by an origin server, an application server, a charger balancer, a CDN, or a proxy sitting in front of the réel origin. Treat le code as the premier clue, alors correlate it contre edge, origin, application, and database/dependency logs pour the même requête avant vous conclude qui couche en réalité failed:
- 500 Internal Server Error — per the spec, “le serveur encountered an unexpected condition que prevented it from fulfilling la requête.” That’s deliberately generic: it’s souvent application code or a runtime/config error, but le code d’état alone doesn’t prove que — vérifier app logs to confirmer.
- 502 Bad Gateway — “le serveur, pendant que acting as a gateway or proxy, reçu an invalid réponse from an inbound server.” Ce points at an upstream interaction, pas a unique vendor: vérifier the chain of charger balancer, reverse proxy, CDN, and the origin behind les.
- 503 Service Unavailable — “le serveur is currently unable to handle the requête due to a temporary overload or scheduled maintenance.” Regarder at capacity, trafic spikes, and si something is in a maintenance state. (Ce is aussi le code vous vouloir to send on objectif during planned downtime — voir ci-dessous.) Remarque the spec’s propre caveat: an overloaded server isn’t requis to retourner 503 at tout — “some servers might simply refuse the connection,” qui peut montrer up as a timeout or connection error au lieu de a clean code d’état.
- 504 Gateway Timeout — “le serveur, pendant que acting as a gateway or proxy, did pas recevoir a timely réponse from an upstream server.” It marks a timeout boundary, pas qui upstream component was slow: vérifier long database requêtes, slow third-party calls, and an origin struggling sous charger.
A practical thread runs via ces: 5xx souvent traces back to an overloaded or slow backend, so server performances fonctionner — faster requêtes, lighter server-side rendering, plus capacity — is frequently partie of the fix, pas a side quest. But parce que the même code d’état peut come from quelconque couche in the chain, le code narrows votre search; the logs tell vous où the échec en réalité happened.
Courant causes
- Overloaded host. Trafic spikes (notamment aggressive exploration) outrun votre server’s capacity and it starts shedding requêtes as 5xx.
- Application or database errors. Unhandled exceptions, a downed DB, a bad deploy, exhausted connection pools.
- Misconfiguration. A broken config après a modifier, an expired dependency, a complet disk.
- Upstream / CDN échecs. Votre origin is fine but a proxy, charger balancer, or CDN in front of it is returning 502/504 — or the CDN itself had an outage.
- A CDN/WAF or rate limiter blocking Googlebot. Bot protection, security rules, or rate limiting que mistakes Googlebot pour an attacker peut retourner 5xx or 429 seulement to Googlebot pendant que réel utilisateurs voir le site fine. Ce un is under-covered and a frequent real-world causer — qui is pourquoi vous have to reproduce as Googlebot, pas simplement vérifier lune page in votre navigateur.
How to diagnose it
Fonctionner from the whole-site view bas to the unique URL:
- Statistiques d’exploration → Host availability. In Search Console, Settings → Statistiques d’exploration. The host status section and the by-response-code breakdown montrer si 5xx is a persistent, large-scale problème or an isolated blip, and roughly quand it commencé.
- Server and accès logs. The ground truth. Filter votre logs to Googlebot (verified — voir the Scripts tab) and regarder at le code d’états it en réalité reçu and quand. Logs va montrer vous a CDN/WAF blocking Googlebot que a navigateur tester jamais voudrait.
- Inspection d’URL → Live Tester. Run a flagged URL via Inspection d’URL and utiliser Tester Live URL. Ce confirms si Google-InspectionTool peut accès lune page correct now — utile, but it’s a current-state vérifier, pas proof of ce que happened at the précédent temps Google logged the 5xx. Une page que loads fine pour vous (in a navigateur, or via Live Tester) minutes or hours plus tard doesn’t rule out a réel error at the moment Googlebot en réalité hit it — temps, IP, geo, cache state, and bot-detection rules peut tout differ entre the two requêtes.
- Reproduce as Googlebot. Requête l’URL with Googlebot’s user-agent (and, si
vous pouvez, from outside votre network) to catch WAF/rate-limit rules que seulement fire
pour the bot. Treat ce as a differential tester, pas verified proof of ce que
Googlebot itself saw — a
Googlebotuser-agent string is trivial to spoof in soit direction. Avant vous loosen a WAF, CDN, or rate-limit rule parce que “it’s seulement blocking Googlebot,” confirmer the trafic in votre logs is réel Googlebot via reverse DNS or Google’s publié IP ranges (voir the Scripts tab) — don’t modifier a security contrôler fondé on the user-agent header alone.
Comment corriger it
Une fois vous know the causer, the fixes follow Google’s propre “fixing server errors” guidance:
- Confirmer the scale in Statistiques d’exploration avant vous modifier anything — is ce persistent and grand, or a one-off?
- Reduce excessive page chargement pour dynamic requêtes. Cache expensive pages, optimize slow requêtes, and arrêter generating heavy réponses on every hit.
- Assurez-vous the host isn’t bas, overloaded, or misconfigured. Ajouter capacity, fix the config, restart the broken service, vérifier the database.
- Assurez-vous you’re pas inadvertently blocking Google. Audit CDN/WAF/bot rules and rate limites pour anything firing 5xx or 429 at Googlebot.
- Contrôler exploration wisely. Si aggressive exploration is overloading vous, the
réponse is a temporary
503/429to ease the bot off — pas a permanent block.
The correct façon to prendre a site bas on objectif — 503 + Retry-After
Parfois vous vouloir le site unavailable: a migration, scheduled maintenance, pausing an online business. Doing it incorrect turns a planned event into a deindexing event. Google’s Pause votre online business dans la recherche Google doc is explicit à propos de the correct approach.
Google’s par défaut recommendation is to garder le site up, simplement limited. Si the closure is temporary and vous plan to reopen, Google’s propre preference is que vous “keep your site online and limit the functionality” plutôt que prendre it entièrement offline. Complet disable-and-503 is the urgent option, pas the par défaut un.
Quand vous do besoin the whole site bas, utiliser 503 (Service Unavailable) with a Retry-After header. Google: “Si vous devez urgently disable le site pour 1-2 days, alors retourner an informational error page with a 503 HTTP réponse status code.” And pair it with the header: “Utiliser the retry-after HTTP header with a meilleur effort date or duration.” The 503 says “temporarily bas,” and Retry-After indique the bot roughly quand to come back — but treat que header as advisory, pas a guarantee: it’s a best-effort signal, pas a promise Google va recrawl at que exact temps.
It’s a short-term mesurer seulement. Google calls it “an extreme mesurer que devrait seulement be taken pour a very short period of temps (a few days at la plupart).” And the warning que competitors leave out: “Complètement closing a site même pour simplement a few weeks peut have negative consequences on Google’s indexation of votre site.” Google is explicit que there’s aucun façon to shortcut votre façon back from que soit — “there’s aucun fixed temps pour a recovery from a complet removal, and there’s aucun mechanism to speed que up.” En d’autres termes, a correct 503 protects vous pour a day or two — but aucun code d’état, and aucun amount of validating in Search Console, saves vous from the indexation damage of being bas pour weeks, or donne vous a guaranteed comeback date. Si vous besoin a long outage, that’s a différent conversation (and probably a redirection or a réel plan).
Pourquoi pas a 200 or a 404
- Don’t serve a 200 “under maintenance” page. Google va treat que page’s content as the réel page and may index votre “we’ll be back soon” message. The content from a proper 503, by contrast, is ignored — qui is ce que vous vouloir.
- Don’t retourner a 404 (or 403/410). Google’s guidance is explicit: don’t block
le site by returning 403, 404, or 410 during downtime. A
404signals gone, pas temporarily bas; vous vouloir lune page preserved, and a 503 fait que.
The robots.txt trap — garder it crawlable
Ce is the unique most-missed detail, and it peut pause exploration pour votre entier
site. During a 503 maintenance window, votre robots.txt fichier doit garder
returning 200 and stay crawlable. Google is blunt: “Don’t retourner a 503 HTTP
réponse code d’état pour the robots.txt fichier parce que ce blocks tout exploration.”
Carve robots.txt out of the maintenance handler so it toujours réponses 200 — don’t
rely on ce que se produit si vous don’t.
Pour context, Google’s robots.txt spec doc lays out ce que en réalité se produit si robots.txt itself starts erroring, and it’s staged plutôt que an instant, permanent lockout: pour the premier 12 hours Google arrête exploration le site pendant que encore retrying robots.txt; pour the suivant 30 days it falls back to the dernier connu bon version of robots.txt pendant que encore trying to récupérer a fresh un; and après 30 days, si le site is sinon reachable, Google drops the mis en cache version and behaves as si there’s aucun robots.txt fichier at tout (i.e., aucun explorer restrictions from it) plutôt que continuing to block. Si there’s aucun mis en cache version to fall back on in the premier placer, Google likewise assumes there’s aucun explorer restriction. None of que is a raison to risk it on objectif — a multi-day explorer pause at the commencer of the window is encore réel damage — it simplement signifie “robots.txt 503’d” isn’t a permanent, unrecoverable state si it se produit by accident and obtient fixed.
Validating the fix in GSC
Après le serveur is sain à nouveau:
- Ouvrir the Server error (5xx) problème in lune page Indexation report.
- Click Validate Fix. Google re-crawls the affected URLs in batches.
- Watch the validation state. As URLs come back
200, ils clair; si some encore error, the validation flags les and vous diagnose ceux specifically.
Vous don’t have to wait pour validation to re-crawl naturally — but Validate Fix
prioritizes the affected définir and donne vous a status to track. Remember the explorer
rate itself ramps back gradually une fois you’re returning 2xx, so don’t expect an
instant snap-back to votre old explorer volume.
Où ce sits
A 5xx is a crawl-and-serve problem, so it touches the neighbors: persistent 5xx hammers votre fréquence d’exploration (the lever Googlebot pulls quand votre serveur struggles), and the host-level view of it lives in the Statistiques d’exploration report and its host status. It’s distinct from a 404 (introuvable), qui signals gone plutôt que broken and is handled far plus gently. Pour the bigger picture of how discovery and fetching fonctionner, voir the exploration hub; pour the rest of lune page Indexation statuses, voir the GSC Page Indexation hub.
AI summary
A condensed prendre on the Avancé version:
- Ce que c’est: “Server error (5xx)” in GSC Page Indexation signifie Googlebot
requested une URL and le serveur renvoyé a 500-level code (500/502/503/504)
au lieu de a
200. Lune page lands sous Non indexée — there’s aucun usable content to index. It’s a server/infrastructure problem, pas a content un. - How Google reacts: exploration slows bas (proportionate to how nombreux URLs
are erroring), content from a 5xx is ignored, already-indexed URLs are
preserved alors eventually dropped si errors persist, and the fréquence d’exploration
recovers gradually une fois vous retourner
2xx. - 429 counts: Google buckets
429 Too Many Requests(“server overloaded”) with 5xx — rate limiting Googlebot triggers the même slowdown. - Codes as a starting point, pas proof: 500 = an unexpected server-side condition; 502 = a gateway/proxy got a bad réponse from upstream; 503 = overloaded or in maintenance; 504 = a gateway/proxy timed out waiting on upstream. Quelconque of ces peut originate at the origin, app, database, charger balancer, or CDN — correlate logs à travers layers avant assuming qui un.
- Courant causes: overloaded/misconfigured host, app/DB errors, upstream/CDN échecs, and a CDN/WAF or rate limiter blocking Googlebot (renvoie 5xx/429 to the bot pendant que utilisateurs voir le site fine) — confirmer it’s really Googlebot via reverse DNS/IP ranges avant modification a security rule; the user-agent alone is spoofable.
- Diagnose: Statistiques d’exploration host availability → Googlebot-filtered server logs → Inspection d’URL live tester → reproduce as Googlebot. Une page working now montre the current state seulement, pas ce que Googlebot saw at the temps it logged the error.
- Planned downtime — the correct façon: Google’s par défaut preference is to stay online with limited functionality. Si vous doit entièrement disable, utiliser 503 + Retry-After (Retry-After is best-effort, pas a guarantee), pour a day or two (“a few days at most”); weeks of downtime harms indexation with aucun fixed recovery temps afterward. Pas a 200 “maintenance” page (Google indexes it) and pas a 404 (signals gone).
- The robots.txt trap: garder
robots.txtreturning200during a 503 window — a 503 on robots.txt peut pause exploration site-wide (Google’s spec doc: 12 hours of aucun exploration, alors up to 30 days on the mis en cache robots.txt, avant it falls back to assuming aucun restrictions). - Validate: fix le serveur, alors Validate Fix in lune page Indexation report (optional — Google updates the problème count on quelconque recrawl soit façon); the explorer rate ramps back gradually.
Documentation officielle
Primary-source documentation from the moteur de recherches.
- Page Indexation report — the report itself, notamment the “Server error (5xx)” status definition and the “fixing server errors” guidance.
- How Code d’état HTTPs affecter Google’s robots d’exploration — exactly how Google handles 5xx and 429: explorer slowdown, ignored content, preservation alors drop, and recovery on 2xx.
- Pause votre online business dans la recherche Google — the canonical “how to take a site down correctly” doc: 503 + Retry-After, “a few days at most,” and the robots.txt-must-stay-crawlable rule.
- How to deal with planned site downtime (Search Central blog, 2011) — the older but still-cited write-up of the même 503 advice.
- How Google interprets the robots.txt specification — the staged behavior quand robots.txt itself renvoie a 5xx: a 12-hour pause, alors up to 30 days on the mis en cache version, avant Google falls back to assuming aucun restrictions.
- Optimize votre budget d’exploration — how server réponses (notamment 5xx) factor into explorer capacity.
Bing / Microsoft
- Bing Webmaster Guidelines — Bing surfaces server errors in its explorer reporting; comme Google, it recommends a 503 with a Retry-After header pour temporary downtime so Bingbot comes back plutôt que dropping pages.
Quotes from the source
On-the-record statements from Google. Chaque lien is a deep lien que jumps to the quoted passage on the source page.
Google — lune page Indexation status definition
- “Your server returned a 500-level error when the page was requested.” — Google, Page Indexation report aider doc. Jump to quote
Google — how 5xx is handled (Code d’état HTTPs doc)
- “5xx and 429 server errors prompt Google’s crawlers to temporarily slow down with crawling. For Google Search, already indexed URLs are preserved in the index, but eventually dropped.” Jump to quote
- “Any content Google receives from URLs that return a 5xx status code is ignored.” Jump to quote
- “Google decreases the crawl rate for the site. The decrease in crawl rate is proportionate to the number of individual URLs that are returning a server error.” Jump to quote
- “Once the server starts responding with a 2xx status code, Google gradually increases the crawl rate for the site.” Jump to quote
- “Google’s crawlers treat the 429 status code as a signal that the server is overloaded, and it’s considered a server error.” Jump to quote
Google — taking a site bas correctement (Pause votre online business)
- “If you need to urgently disable the site for 1-2 days, then return an informational error page with a 503 HTTP response status code.” Jump to quote
- “This is an extreme measure that should only be taken for a very short period of time (a few days at most).” Jump to quote
- “Completely closing a site even for just a few weeks can have negative consequences on Google’s indexing of your site.” Jump to quote
- “Use the retry-after HTTP header with a best effort date or duration.” Jump to quote
- “Don’t return a 503 HTTP response status code for the robots.txt file because this blocks all crawling.” Jump to quote
Fixing a “Server error (5xx)” — checklist
Fonctionner top to bottom; the early steps tell vous si ce is an emergency.
- Confirmer the scale. GSC → Settings → Statistiques d’exploration → host availability and the by-response-code chart. Persistent/large-scale, or an isolated blip?
- Reproduce it. Charger a flagged URL yourself, alors run Inspection d’URL → Tester Live URL to voir the error from Google’s side correct now.
- Vérifier it’s pas bot-specific. Requête l’URL with Googlebot’s user-agent (and from outside votre network) — catch CDN/WAF/rate-limit rules que seulement fire pour the bot (5xx or 429).
- Lire the logs. Filter server/accès logs to verified Googlebot; confirmer qui code d’états it reçu and quand the 5xx commencé.
- Identifier le code. 500 (app/DB) · 502 (bad upstream) · 503 (overload / maintenance) · 504 (upstream timeout) — it points vous at the couche to fix.
- Reduce charger on dynamic requêtes. Cache expensive pages, optimize slow requêtes, fix the heavy server-side fonctionner behind 503/504.
- Fix host health. Capacity, config, restarts, database, dependencies.
- Audit Google-blocking. CDN/WAF/bot/rate-limit rules returning 5xx/429 to Googlebot.
- Vérifier
robots.txtrenvoie 200 — surtout si a maintenance handler is involved (a 503 on robots.txt peut pause exploration site-wide). - Run Validate Fix une fois le serveur is sain; watch the validation state.
Planned-downtime (“503 done right”) checklist
Avant vous put le site into maintenance mode:
- Serve 503 (Service Unavailable), pas 200, 403, 404, or 410.
- Ajouter a
Retry-Afterheader (a best-effort date or duration). - Garder it short — 1–2 days, a few days at la plupart. Weeks of downtime harms indexation regardless of le code d’état.
- Exclude
robots.txtfrom the maintenance rule so it garde returning200and stays crawlable. - Serve a utile, human-readable maintenance page in the 503 corps (le contenu is ignored by Google, but réel utilisateurs va voir it).
- Quand you’re back, confirmer pages retourner
200and the fréquence d’exploration recovers (it ramps up gradually).
5xx cheat sheets
The courant 5xx codes — ce que ils mean and où to regarder
| Code | Meaning | Probable causer | Où to regarder |
|---|---|---|---|
| 500 | Internal Server Error | App/code or runtime/config error | Application logs |
| 502 | Bad Gateway | Bad réponse from an upstream server | Proxy / charger balancer / CDN → origin |
| 503 | Service Unavailable | Overloaded, or bas pour maintenance | Capacity, trafic, maintenance state |
| 504 | Gateway Timeout | Aucun timely réponse from upstream | Slow DB / backend / third-party calls |
| 429 | Aussi Nombreux Requêtes | Rate limiting (treated as a server error) | WAF / rate limiter blocking Googlebot |
How Google reacts to a 5xx
| Ce que se produit | Detail |
|---|---|
| Fréquence d’exploration drops | Proportionate to how nombreux URLs are erroring |
| Content ignored | A 5xx corps is jamais indexé |
| Indexé URLs preserved | …at premier |
| Alors dropped | Si the 5xx persists |
| Recovery | Automatic on 2xx, but fréquence d’exploration ramps back gradually |
Qui code d’état pour qui situation
| Situation | Utiliser | Don’t utiliser |
|---|---|---|
| Page genuinely broke | Fix it → 200 | Leave the 5xx up |
| Planned short downtime / maintenance | 503 + Retry-After | 200 maintenance page, 404, 403, 410 |
| robots.txt during maintenance | Garder it 200 | 503 (peut pause exploration site-wide) |
| Overloaded by aggressive exploration | Temporary 503 / 429 to ease the bot off | A permanent block |
| Page permanently gone | 404 / 410 | 503 (signals “temporary”) |
The mental models
1. A 5xx is “broken,” a 404 is “gone.”
Google handles les very differently. A 404 is fine — une fois découvert, Googlebot
simplement retries it and it drops gently. A 5xx dit something is incorrect with the
server, so Google slows bas, ignores le contenu, and — si it persists — drops
votre pages. Quand you’re choosing a code d’état on objectif, choisir the un whose
meaning matches reality.
2. Slow bas → ignore → preserve → drop → recover.
That’s the lifecycle of a 5xx, in order. The takeaways fall out of it: short
outages are tolerated (you’re encore in “preserve”), prolonged outages cost vous the
index (you’ve reached “drop”), and the cure is simply returning 2xx (qui moves
vous to “recover” — gradually).
3. The proportionality rule. The explorer slowdown is proportionate to how nombreux URLs are erroring. Un flaky URL is a nudge; a site-wide 5xx is a hard brake. Ce indique vous où to triage: a petit flagged définir is low-urgency; a host-level error is an emergency.
4. 503 is a fonctionnalité, pas simplement an error. Pour planned downtime, 503 + Retry-After is the correct, SEO-safe réponse — parce que it’s temporary by design. But it’s a short-term outil: a few days at la plupart. Aucun code d’état protects vous from the indexation damage of being bas pour weeks.
5. robots.txt is load-bearing.
Treat votre robots.txt as the un URL que doit jamais 5xx. A 503 on robots.txt
doesn’t simplement hide robots.txt — it pauses exploration pour the whole site. Whatever
maintenance rule vous écrire, carve robots.txt out of it.
6. Reproduce as the bot, pas as yourself. The nastiest 5xx causes (WAF rules, rate limiting) fire seulement pour Googlebot. Si lune page loads fine in votre navigateur but GSC dit 5xx, vous haven’t reproduced the problem yet — tester with Googlebot’s user-agent and lire the logs.
Vérifier ce que code d’état une URL en réalité renvoie
The premier déplacer is confirming la réponse code from the command line — and, ideally, as Googlebot, since some 5xx/429s seulement fire pour the bot.
macOS / Linux
# Status code as a normal client
curl -s -o /dev/null -w "%{http_code}\n" https://www.example.com/page/
# Status code as Googlebot (catches WAF / rate-limit rules that target the bot)
curl -s -o /dev/null -w "%{http_code}\n" \
-A "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" \
https://www.example.com/page/
# Full response headers — confirm a 503 carries a Retry-After during maintenance
curl -sI https://www.example.com/page/Windows (PowerShell)
# Status code (note: 5xx throws, so capture the response in the catch block)
try {
(Invoke-WebRequest -Uri "https://www.example.com/page/" -UseBasicParsing).StatusCode
} catch {
$_.Exception.Response.StatusCode.value__
}
# As Googlebot
try {
(Invoke-WebRequest -Uri "https://www.example.com/page/" -UseBasicParsing `
-UserAgent "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)").StatusCode
} catch { $_.Exception.Response.StatusCode.value__ }Confirmer the trafic was really Googlebot (avant trusting votre logs)
A “Googlebot” 5xx in votre logs pourrait be a spoofed user-agent. Vérifier with a reverse + forward DNS vérifier — Google publishes aucun shortcut.
macOS / Linux
# 1) Reverse DNS the IP from your logs — it should end in googlebot.com or google.com
host 66.249.66.1
# 2) Forward DNS that hostname back — it must resolve to the same IP
host crawl-66-249-66-1.googlebot.comWindows
nslookup 66.249.66.1
nslookup crawl-66-249-66-1.googlebot.comMaintenance mode fait correct — 503 + Retry-After, robots.txt stays 200
The critical bit: serve 503 pour le site, but jamais pour robots.txt.
Apache (.htaccess)
# Let robots.txt through untouched so crawling isn't halted
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/robots\.txt$
RewriteCond %{REQUEST_URI} !^/maintenance\.html$
RewriteRule ^ /maintenance.html [R=503,L]
# Attach the headers to the 503 response
<If "%{REQUEST_URI} != '/robots.txt'">
Header always set Retry-After "86400"
</If>
ErrorDocument 503 /maintenance.htmlNginx
location / {
# robots.txt is matched by a more specific block below, so it's exempt
return 503;
}
location = /robots.txt {
# Always serve the real robots.txt with a 200
try_files $uri =404;
}
error_page 503 /maintenance.html;
location = /maintenance.html { internal; }
# Add Retry-After to 503 responses (a day, in seconds)
add_header Retry-After 86400 always;Confirmer it with curl -sI from the section ci-dessus: le site URLs devrait retourner
503 with a Retry-After header, and https://www.example.com/robots.txt
devrait encore retourner 200.
Outils pour finding and confirming a 5xx
Commencer with the outils que peut vérifier status directement contre votre flagged URLs, alors narrow to logs si the réponse isn’t obvious from a unique requête.
- Bulk Code d’état HTTP Checker — paste every URL Search Console flagged sous “Server error (5xx)” (up to 500 at une fois) and voir the réel code d’état, chaîne de redirections, and latency pour chaque un correct now. Ce is the fastest façon to confirmer si a fix really took avant vous click Validate Fix in GSC, or si some URLs are encore erroring.
- Website Bas Checker — a single-URL “is it en réalité bas correct now” vérifier from a live vantage point, with réponse timing and redirections. Bon pour the premier step in ce article’s diagnosis flow: “visit a flagged page yourself” — avant vous go digging in logs.
- HTTP Header Checker — inspect the complet
réponse headers à travers every redirection hop. Utiliser it to confirmer a
503en réalité carries aRetry-Afterheader during planned maintenance, and to vérifier querobots.txtis encore answering200with aucun maintenance rule accidentally catching it. - Log Fichier Analyzer — drop in votre serveur accès log and voir status-code waste and explorer activity by bot, plus a spoofer report que separates verified Googlebot from user-agents faking it. Ce is the outil pour the trickiest causer in ce article: a CDN/WAF or rate limiter que renvoie 5xx or 429 seulement to Googlebot pendant que réel visitors voir le site fine — something a navigateur tester alone won’t catch.
From Google and third-party robots d’exploration:
- Search Console — Statistiques d’exploration report (Settings → Statistiques d’exploration) is the whole-site view of host availability and the by-response-code breakdown covered in the Avancé tab.
- Screaming Frog SEO Spider / Ahrefs Site Audit peut explorer votre site the façon Googlebot voudrait and surface qui URLs are erroring at scale, au-delà the handful Search Console has déjà sampled.
Mistakes que turn a fixable 5xx into an indexation problem
- Serving a
200“we’ll be back soon” page during maintenance au lieu de a503. Google treats whatever comes back with a200as the réel page and may index votre maintenance message in placer of votre réel content. Serve a503à la place — its content is ignored, qui is ce que vous vouloir. - Returning a
404,410, or403during planned downtime. Ces dire “gone” or “forbidden,” pas “temporarily unavailable.” Google’s guidance is explicit: don’t block a paused site ce façon. A503preserves lune page’s standing in the index; a404/410doesn’t. - Letting maintenance mode retourner
503pourrobots.txtaussi. A blanket rule que 503s everything, robots.txt inclus, pauses exploration pour the entier site — pas simplement lune pages vous meant to prendre bas. Carve robots.txt out of the maintenance handler so it toujours réponses200. - Assuming une page que loads fine correct now rules out an précédent Googlebot-only
5xx. A CDN/WAF or rate limiter peut retourner 5xx or 429 to Googlebot specifically
pendant que every human visitor sees a normal
200— and the fact it fonctionne pour vous ce minute doesn’t tell vous ce que it renvoyé quand Google en réalité hit it. Tester with Googlebot’s user-agent, lire the logs, and confirmer the trafic is really Googlebot (reverse DNS/IP ranges) avant vous trust the user-agent header alone. - Leaving a “temporary” maintenance window up pour weeks. A
503is seulement correct pour a short outage — Google’s propre wording is “a few days at most.” Même a technically-correct 503 réponse causes indexation harm si le site stays bas pour weeks, and Google is explicit que there’s aucun fixed recovery temps or façon to speed un up après que.
Confirming a 5xx fix en réalité took
Chaque tester ci-dessous checks un spécifique claim après vous believe le serveur error is resolved. Run les in order — the premier two catch la plupart faux “it’s fixed” calls.
Tester 1 — The flagged URLs retourner 200 correct now
- Tester to run: Run the Bulk Code d’état HTTP Checker
contre every URL Search Console flagged, or
curl -sIchaque un. - Attendu result: A clean
200on every URL, consistently à travers repeat requêtes, pas intermittent. - Échec interpretation: Quelconque URL encore returning 5xx signifie the underlying
server/host problème isn’t resolved; a mix of
200s and5xxs à travers repeats points at an overloaded or unstable upstream, pas a one-time bug. - Monitoring window: Immediate — a unique clean réussir is suffisant to déplacer on to clicking Validate Fix.
- Rollback trigger: Quelconque 5xx recurrence avant vous click Validate Fix — hold off and garder diagnosing au lieu de validating a fix que hasn’t stuck.
Tester 2 — Google’s propre re-crawl clears it
- Tester to run: Ouvrir the Server error (5xx) problème in lune page Indexation report and click Validate Fix.
- Attendu result: The validation state moves to “Validation passed” as
Google re-crawls the affected URLs and confirms
2xx. - Échec interpretation: A “Validation failed” result on spécifique URLs — même après votre propre checks looked clean — usually signifie ceux URLs are encore erroring pour Googlebot specifically, qui points back at a bot-targeted WAF/rate-limit rule.
- Monitoring window: Google re-crawls the flagged définir in batches on its propre schedule; there’s aucun publié fixed cadence pour ce, so vérifier back periodically plutôt que expecting a spécifique turnaround date. Validating isn’t même requis — Google updates the problème count whenever it recrawls une page with connu problèmes, validation or pas — but it fait prioritize the affected définir and donne vous a status to track.
- Rollback trigger: Quelconque URL que obtient re-flagged sous Server error (5xx) après previously passing validation.
Tester 3 — Statistiques d’exploration host availability recovers
- Tester to run: Search Console → Settings → Statistiques d’exploration → host status.
- Attendu result: The host availability graph renvoie to normal, with aucun nouveau red flags in the by-response-code breakdown.
- Échec interpretation: A graph that’s encore showing red après vous believe the fix landed signifie Google’s robots d’exploration are encore hitting errors — the fix hasn’t reached whatever Googlebot is en réalité requesting.
- Monitoring window: Autoriser a few days après the fix pour Statistiques d’exploration to reflect it; it’s a rolling report, pas real-time.
- Rollback trigger: Host status flipping back to red après a period of green.
Tester 4 — robots.txt encore renvoie 200
- Tester to run:
curl -sIon votrerobots.txtURL, or run it via the HTTP Header Checker. - Attendu result:
200, exactly as it did avant the incident or maintenance window. - Échec interpretation: A
503(or quelconque non-200) on robots.txt signifie you’re blocking exploration pour the whole site, pas simplement l’URLs vous meant to affecter. - Monitoring window: Immediate.
- Rollback trigger: Quelconque non-200 réponse on robots.txt — treat ce as the unique highest-priority chose to fix premier.
Tester 5 — Googlebot obtient the même réponse a navigateur fait
- Tester to run: Requête l’URL with Googlebot’s user-agent (voir the Scripts tab) and cross-check contre the Log Fichier Analyzer’s verified-Googlebot vs. spoofer report.
- Attendu result: Googlebot reçoit the même
200a normal navigateur requête obtient. - Échec interpretation: A status mismatch entre the Googlebot-UUne requête and a normal navigateur requête signifie a WAF, rate limiter, or bot-detection rule is targeting the bot specifically.
- Monitoring window: Immediate.
- Rollback trigger: Quelconque mismatch entre ce que Googlebot reçoit and ce que réel trafic receives.
The standing KPIs pour server health
Ces aren’t a one-time fix vérifier (that’s the Validation Tests tab) — they’re ce que to garder an eye on quarter over quarter so a 5xx pattern doesn’t construire up unnoticed.
5xx rate in votre serveur/accès logs
- Ce que it indique vous: The ground-truth share of requêtes en réalité failing at le serveur, independent of ce que Search Console has gotten autour to sampling and reporting.
- How to pull it: The Log Fichier Analyzer — drop in votre accès log and voir status-code waste, filterable to Googlebot.
- Benchmark / realistic range: There’s aucun universal sain percentage ici — establish votre propre baseline from a known-good period and watch pour a rise contre it, plutôt que chasing an invented target number.
- Cadence: Vérifier après quelconque deploy or trafic spike; a weekly glance is suffisant sinon pour la plupart sites.
GSC Statistiques d’exploration — host status by réponse code
- Ce que it indique vous: Google’s propre recent lire on how souvent its robots d’exploration hit errors on votre host, independent of votre propre logs.
- How to pull it: Search Console → Settings → Statistiques d’exploration.
- Benchmark / realistic range: Même honesty rule s’applique — track votre propre trend line plutôt que a fixed percentage; treat quelconque nouveau red flag in the host status section as worth investigating, whatever the number.
- Cadence: A weekly glance, or immédiatement après quelconque connu outage or maintenance window.
Uptime / origin availability
- Ce que it indique vous: Si the origin server itself is reachable at tout — upstream of whatever code d’état Googlebot ends up seeing.
- How to pull it: An uptime monitor pour continuous coverage, or an ad hoc vérifier with the Website Bas Checker.
- Benchmark / realistic range: Dépend entirely on votre hosting tier and quelconque SLA you’re on — there’s aucun universal “good” uptime figure to borrow; utiliser votre propre host’s SLA, or votre propre historical baseline, as the référence point.
- Cadence: Continuous si vous pouvez, or at minimum a vérifier après quelconque connu incident.
Server error (5xx) count in lune page Indexation report
- Ce que it indique vous: How nombreux URLs Google currently has flagged as erroring — the lagging, official record, as opposed to the real-time server/log view.
- How to pull it: Search Console → Page Indexation → Non indexée → Server error (5xx).
- Benchmark / realistic range: Zero is the honest target pour quelconque URL vous vouloir indexé. Anything ci-dessus zero is worth running via ce article’s diagnosis steps, whatever the count.
- Cadence: Whenever vous vérifier Search Console généralement, and toujours après a connu incident or deploy.
AI prompts pour 5xx diagnosis and maintenance-mode examiner
Two prompts construit autour the spécifique tasks ce article walks via — paste votre propre données into soit un.
Prompt: spot patterns in raw log lines autour a 5xx incident
Here are raw server/access log lines from around the time my site started
returning 5xx errors:
<paste log lines>
From only what's in these lines, tell me:
1. Which HTTP status codes appear, and in what proportion.
2. Whether requests from Googlebot's IP ranges or user-agent get a different
status code than other traffic (this could indicate a WAF or rate limiter
targeting the bot specifically).
3. Any timing pattern — recurring at a fixed interval, clustered around a
traffic spike, or starting right after a specific timestamp.
Don't guess at a root cause you can't see in the data — only report what the
log lines actually show.Prompt: examiner a maintenance-mode config pour the robots.txt trap
Here is my maintenance-mode configuration (nginx/Apache/other):
<paste config>
Check specifically whether this configuration:
1. Returns a 503 status code for regular site pages during maintenance.
2. Excludes /robots.txt from the 503 rule, so robots.txt keeps returning 200.
3. Sets a Retry-After header on the 503 responses.
Flag anything that would cause robots.txt to return a non-200 status, and
anything missing a Retry-After header. Testez vos connaissances: Server error (5xx)
Five questions on ce que “Server error (5xx)” signifie, how Google reacts to it, and the correct façon to prendre a site bas on objectif. Pick an réponse pour chaque, alors vérifier.
Journal des modifications
Mis à jour le 18 juil. 2026.
Résumé éditorial et détails enregistrés des changements.Détails des changements
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
Comparaison complète indisponible — aucun instantané antérieur n’a été archivé pour cette révision.