HTTP Error Codes

How HTTP 4xx and 5xx error codes affect SEO — how Google handles errors, which ones cause deindexing, crawl waste, and ranking drops, and how to monitor and fix them.

First published: Jun 27, 2026 · Last updated: Jul 18, 2026 · Advanced
demand #15 in HTTP Status Codes#125 in Technical SEO#168 on the site
1 evidence signal on this page

HTTP error codes are the 4xx (client error) and 5xx (server error) responses a server returns instead of a successful 2xx. Google treats the two classes very differently: 4xx (except 429) means 'the content doesn't exist' — the page drops from the index, with zero effect on crawl rate; 5xx (and 429) means 'the server is failing' — Google throttles crawling site-wide first, and only drops the pages if the errors persist. 429 is numerically a 4xx but Google explicitly treats it as a server error. A soft 404 is the trap case — a 200 that reads as 'not found,' which Google flags as wasting crawl budget (mainly a large-site concern) instead of cleanly dropping the page. 404s are not a quality or ranking signal (Mueller), so don't panic over an error count — an isolated error's real impact still depends on what the URL is (a special resource like robots.txt gets its own error handling, unlike an ordinary page) — prioritize the errored URLs that have links or traffic. For planned downtime use 503 + Retry-After (never 403/404/410), and never 503 your robots.txt. Monitor the whole family through Search Console's Page Indexing report. This hub maps and links to every individual code: 401, 403, 404, 404 vs 410, 410, 429, 451, 500, 502, 503, 504, and soft 404.

TL;DR — HTTP error codesThe 4xx (client error) and 5xx (server error) HTTP status codes a server returns instead of a successful 2xx — and how Google treats each class very differently. are the 4xx (client) and 5xx (server) status classes. Google draws a hard behavioral line between them: 4xx (except 429429 Too Many Requests is an HTTP client-error status code that means a client sent too many requests in a given time window — a mechanism called rate limiting. Unlike other 4xx codes, Google treats 429 as a server-overload signal and slows crawling instead of removing content.) means “the content doesn’t exist” — the URL is dropped from the indexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed., with “no effect on crawl rateCrawl rate is how fast a search engine crawler fetches pages from your site — the number of simultaneous requests it makes and the delay between them. Google sets it automatically based on your server's health; it's the supply side of crawl budget, not a ranking factor.; 5xx (and 429) means “the server is failing” — Google throttles crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. proportionately, preserves indexed URLs at first, and only deindexes if the errors persist, then ramps crawl rateCrawl rate is how fast a search engine crawler fetches pages from your site — the number of simultaneous requests it makes and the delay between them. Google sets it automatically based on your server's health; it's the supply side of crawl budget, not a ranking factor. back up gradually after recovery. 429 is numerically a 4xx but Google calls it “a server error.” Content from any error response is ignored. 404s are not a quality signal (Mueller) — triage by links/traffic, don’t fix everything, and remember an isolated error’s real impact depends on the URL (robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. has special error handling that an ordinary page doesn’t). Soft 404sA soft 404 is a URL that returns a success status code (usually 200 OK) even though the page is empty, missing, or shows a 'not found' message. It isn't a status code a server sends — it's a label search engines apply after comparing the response code against the rendered content, and they treat the page like a 404 for indexing. (a 200 that reads as “not foundA 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore.”) are flagged by Google as wasting crawl budgetThe number of URLs an engine will crawl in a timeframe. — mainly a large-site concern, not a guaranteed effect on every site. For planned downtime use 503 + Retry-After, kept to “a few days at most,” and never 503 the robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere.. Monitor the family through GSC’s Page Indexing reportThe Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason.. This hub maps and routes to every individual code.

The one distinction that runs the whole topic

The protocol code describes the HTTP outcome; a Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance. label describes how Google classified an observed fetch. Evidence for this claim Primary standard or official documentation supporting the adjacent article claim. Scope: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Confidence: high · Verified: RFC 9110: Status codes Do not infer a single root cause or exact removal time from the family alone. Evidence for this claim Primary standard or official documentation supporting the adjacent article claim. Scope: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Confidence: high · Verified: Google: HTTP and network errors

Four layers get flattened into “it’s a 404” whenever people talk about errors, and keeping them apart is what makes the rest of this page make sense:

  1. Protocol semantics — what the status code means per the HTTP spec (a 404 means “not found,” full stop).
  2. The observed fetch — what GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. actually got back on a specific request at a specific time, which can differ from what a browser sees.
  3. Search processing — how Google’s indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. pipeline classifies and acts on that observed fetch (drops the URL, throttles the crawl, ignores the body).
  4. Root cause — the actual reason on your server (a bad deploy, an overloaded database, a WAF rule), which the status code alone never tells you.

Knowing the family (4xx vs 5xx) tells you which of the first three layers you’re looking at. It never substitutes for layer 4 — you still have to go find out why.

Google’s own docs frame the split cleanly, and it’s worth internalizing before anything else: 4xx errors say “the content doesn’t exist”; 5xx errors say “the server itself is failing.” Those are two completely different problems, and Google’s indexing pipeline responds to them in two completely different ways.

A useful anchor first: even a success code isn’t a promise. Google says plainly that “for Google Search, an HTTP 2xx (success) status code doesn’t guarantee indexing.” Error codes are actually the more deterministic half of the picture — they tell Google, unambiguously, either “gone” or “broken.”

How Google treats 4xx errors

For client errors, Google’s behavior is uniform and blunt: “Google doesn’t use the content from URLs that return 4xx status codes,” and “Google crawlersA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. inform the next processing system that the content doesn’t exist.” Even if your 403 or 404 page renders a wall of real text, none of it gets indexed — the body of an error response is ignored.

Two consequences follow:

  • Previously indexed URLs get dropped. Once a page reliably returns a 4xx, Google removes it from the index over time.
  • There’s no crawl-rate penalty. This is the myth-buster: “The 4xx status codes, except 429, have no effect on crawl rate.” A mountain of 404s does not slow Google’s crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. of the rest of your site.

That last point kills a bad instinct: don’t try to throttle Googlebot with a 401 or 403. Google explicitly warns “don’t use 401 and 403 status codes for limiting the crawl rate.” An auth wall doesn’t slow the crawl — it just makes the content invisible.

How Google treats 5xx errors (and 429)

Server errors trigger the “the server is struggling” branch, and here Google is deliberately protective of your site:

  • Crawl rate throttles first, proportionate to volume. “5xx and 429 server errors prompt Google’s crawlers to temporarily slow down with crawling,” and “the decrease in crawl rate is proportionate to the number of individual URLs that are returning a server error.” A handful of 500s barely registers; a site-wide outage cuts crawling hard.
  • Indexed URLs are preserved… until the errors persist. “Already indexed URLs are preserved in the index, but eventually dropped,” and Google “removes from the index URLs that persistently return a server error.” A short blip doesn’t deindex you; a sustained failure does.
  • Content from 5xx is ignored too. “Any content Google receives from URLs that return a 5xx status code is ignored.”
  • Recovery is automatic but gradual. “Once the server starts responding with a 2xx status code, Google gradually increases the crawl rate for the site.” Google is fast to back off and cautious to ramp back up — there’s no manual “unlock,” you just fix the root cause and wait.

Why 429 lives in the server-error bucket

This is the single most-missed nuance in most guides. 429 Too Many Requests is numerically a 4xx, but Google treats it as a server signal: “Google’s crawlers treat the 429 status code as a signal that the server is overloaded, and it’s considered a server error.” So a WAF or rate limiter that starts firing 429s at Googlebot will throttle your crawl the same way a wave of 500s would — not drop individual pages the way a 404 does. When I break the codes down in my HTTP status codes guide at Ahrefs, I put 429 with the server errors for exactly this reason: it’s “a form of rate-limiting to protect the server,” and it makes Google slow down.

TIP Verify the live status before choosing the error-code fix

This example is a 503 server error. Other 4xx and 5xx statuses need their own diagnosis, but the first step is always to observe the actual response at scale.

Check and export an affected URL list with my free HTTP Status Checker Free

  1. Test the affected URLs and group them by observed status family.
  2. Separate intended 404 or 410 responses from accidental 5xx and rate-limit failures.
  3. Fix the responsible layer, then rerun the same list and monitor Search Console recovery.
The family narrows the response strategy; the exact status and affected URL set determine the fix.

The result contains one tested URL, zero successful responses, and one 5xx response. The URL returns HTTP 503 and is labeled 5xx server error.

The error-code family map

Here’s the fast triage view of the whole family. Each code below is its own deep dive nested under this hub (they’re in the sidebar too):

Blocked / access errors

  • 401 Unauthorized401 Unauthorized is a client-error HTTP status code meaning the request lacks valid authentication credentials — the server wants you to log in before it serves the page. For SEO it means the content is gated: Googlebot never sends credentials, so a 401'd page can't be seen and won't be indexed. — the client hasn’t identified or verified itself when needed. Blocked to Googlebot behind an auth request.
  • 403 ForbiddenAn HTTP 403 client-error status code meaning the server understood the request but refuses to fulfill it — access is denied, whether or not credentials are involved. For SEO, a 403 served to Googlebot on a page meant to be public and indexable usually points to a misconfigured rule; a persistent 403 keeps a page out of the index either way. — the client is known but doesn’t have access rights.

Not-found errors

  • 404 Not Found404 Not Found is the HTTP client-error status code a server returns when it can't find the requested URL — RFC 9110 defines it as no current representation, or unwillingness to disclose one. A \"hard 404\" actually returns the 404 status; a \"soft 404\" returns a success code (like 200) for a page that's really gone. 404s are normal and expected: the fact that some URLs 404 doesn't affect your site's other, successful pages, and Google de-indexes 404'd URLs over time (probably retrying for some period, less and less often). — the requested resource isn’t found.
  • 404 vs 410 — the practical difference between “not found” and “gone” (it’s smaller than people think).
  • 410 GoneA 410 Gone status code tells search engines a page was intentionally and permanently removed, prompting slightly faster de-indexing than a standard 404. — like a 404, but it also says the resource won’t be back. Drops pages slightly faster.

The dual-identity code

  • 429 Too Many Requests429 Too Many Requests is an HTTP client-error status code that means a client sent too many requests in a given time window — a mechanism called rate limiting. Unlike other 4xx codes, Google treats 429 as a server-overload signal and slows crawling instead of removing content. — rate limiting; numerically 4xx but Google treats it as a server error for crawl-rate purposes.

Legal

  • 451 Unavailable For Legal ReasonsAn HTTP 451 client-error status code that tells a browser or crawler a resource can't be served because of a legal demand — a court order, government censorship, DMCA takedown, or regulatory requirement — rather than a technical failure (404) or an access-permissions problem (403). It's the only status code built specifically for legal transparency, and RFC 7725 asks servers to explain who is demanding the block and under what authority. — blocked for a legal reason: country-level blocks, DMCA takedowns.

Server errors (5xx)

  • 500 Internal Server ErrorA 500 Internal Server Error is a generic HTTP status code — RFC 9110 defines it as an unexpected condition that stopped the server from fulfilling the request, and nothing more. The request may have been fine — something broke server-side while generating the response. For SEO, an isolated 500 is typically retried, but persistent, site-wide 500s get Google's documented response: slower crawling and, if the errors don't clear, eventual removal from the index. — the server hit an issue it can’t handle.
  • 502 Bad GatewayA 502 Bad Gateway is an HTTP server error a gateway or reverse proxy (a CDN, load balancer, or proxy like Nginx) returns when it gets an invalid or no response from the upstream origin server it was trying to reach. It signals a communication failure *between* servers, not necessarily that the origin itself is down. For SEO, Google treats 502 exactly like 500 and 503: crawling slows, and persistent errors eventually get pages dropped from the index. — a bad response from an upstream server.
  • 503 Service Unavailable503 Service Unavailable is the HTTP status code a server returns when it's temporarily unable to handle a request — usually because of overload or planned maintenance. It tells crawlers 'come back later' instead of 'this page is gone,' which is why Google recommends it (paired with a Retry-After header) for short, planned downtime. — the server is overloaded or down for maintenance (the correct code for planned downtime).
  • 504 Gateway TimeoutA 504 Gateway Timeout is an HTTP 5xx server error a gateway or proxy (a CDN, load balancer, or reverse proxy) returns when it doesn't get a timely response from the upstream server behind it. Unlike a 502 (a bad/garbled response) or a 503 (server explicitly unavailable), a 504 means no response arrived in time. For SEO, isolated 504s are retried and tolerated, but sustained 504s and timeouts make Googlebot slow its crawl and eventually drop pages from the index. — no timely response from an upstream server.

The trap case

  • Soft 404A soft 404 is a URL that returns a success status code (usually 200 OK) even though the page is empty, missing, or shows a 'not found' message. It isn't a status code a server sends — it's a label search engines apply after comparing the response code against the rendered content, and they treat the page like a 404 for indexing. — a page that returns 200 OK but reads as “not found.” The worst of both worlds — more on this below.

Broken redirectsA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. are error-adjacent but categorized separately (Google surfaces them as Redirect errorA Google Search Console Page Indexing status meaning Googlebot couldn't follow a redirect — a chain too long, a loop, a URL over the max length, or a bad/empty URL in the chain. It's a broken redirect to fix, not the normal \"Page with redirect.\" in Search Console, distinct from a normal, working “Page with redirectA Google Search Console Page Indexing status for a URL that redirects elsewhere. It's not indexed by design because it's a redirect — the destination is a separate question, and Google says the target may or may not end up indexed — usually expected, not an error (unlike the separate \"Redirect error\").”). By default Google’s crawlers “follow up to 10 redirect hops” before giving up; a chain that’s too long, loops, or contains a bad URL turns into that Redirect-error status.

Does an HTTP error hurt your SEO?

Lead with the verdict: an isolated error on an ordinary page is almost never a problem, and 404s specifically are not a ranking or quality signal. Mueller has been explicit and repeated about this. The reflex — “I have 50,000 404s, my site must be penalized” — is the number-one myth to defuse. Errors are a normal part of the web; having pages 404 or 410 is the technically correct way to handle URLs that don’t exist.

“Isolated” doesn’t mean “always harmless,” though — the real impact depends on what’s returning the error. An ordinary page 404ing is a non-event; a special resource is different. Google gives robots.txt its own error-handling rules distinct from regular URLs, so a server error on robots.txt can affect crawling in a way an ordinary page’s 404 never would. Judge an error by what URL it’s on and what depends on it, not by the status code alone.

The one pattern with a real, documented mechanism is persistent, mass 5xx: crawl-rate throttle → eventual deindexingDeindexing means getting a URL to stop appearing in Google's search results. There's no single delete button — the right method depends on whether you own the page, whether removal is temporary or permanent, and whether the content should still exist.. And even that is proportionate to how many URLs are erroring and generally reversible once the server recovers — Google describes the ramp-back-up as gradual, not instant, so treat the exact timing, retry cadence, and recovery speed as evidence-dependent (what Google’s docs describe happening) rather than a fixed guarantee. The distinction Mueller draws is the one to remember: crawl rate reacts to server errors (429/500/503/ timeouts), not to 404s.

Crawl waste vs deindexing — two different harms

It helps to separate the two ways errors can cost you:

  • Deindexing — persistent 4xx (page dropped as “gone”) or persistent 5xx (pages dropped after sustained server failure). This is about pages leaving the index.
  • Crawl-budget waste — mostly a large-site concern. Google’s crawl-budget guide notes “if the site slows down or responds with server errors, the limit goes down and Google crawls less.” But the real budget-waster is the soft 404: “soft 404 pages will continue to be crawled, and waste your budget.” Because a soft 404 looks alive (it returns 200), Google keeps re-checking a page that isn’t really there. That’s why the soft 404 is the “worst of both” case — it doesn’t cleanly drop like a true 404, it lingers and burns fetches.

The soft-404 trap has two common causes, both worth naming: a custom “page not found” template that returns 200 instead of a real 404, and a blanket redirect of every dead URL to the homepage — Google recognizes that pattern as a soft 404 too. A friendly 404 page is good for UX and fully recommended — as long as it still returns the actual HTTP 404 status code.

Doing planned downtime the right way

When you intentionally take a site (or a section) offline, the correct code is 503 Service Unavailable with a Retry-After header — never a 4xx. Google’s “Pause your online business” guidance is specific:

  • “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.”
  • “This is an extreme measure that should only be taken for a very short period of time (a few days at most),” because “completely closing a site even for just a few weeks can have negative consequences on Google’s indexing of your site.”
  • “Don’t block the website by returning 403, 404, 410 HTTP status codesAn HTTP status code is the three-digit number a server returns with every response to tell a browser or crawler what happened to its request — success, redirect, client error, or server error. For SEO the code matters as much as the content: it tells Google and Bing whether to index a page, follow a redirect, retry later, or drop the URL from the index. during downtime — a 4xx says “permanently gone,” which is exactly the wrong signal for a temporary outage.
  • The trap almost everyone misses: “Don’t return a 503 HTTP response status code for the robots.txt file because this blocks all crawling.” 503 your pages, not your robots.txt.

How to monitor the whole family in Search Console

Day to day, you’ll meet these errors in Search Console’s Page Indexing report, where each maps to a distinct status:

  • Not found (404)“this page returned a 404 error when requested.”
  • Server error (5xx)“your server returned a 500-level error when the page was requested.”
  • Blocked due to unauthorized request (401)“the page was blocked to Googlebot by a request for authorization.”
  • Blocked due to access forbidden (403) — a 403 where credentials were provided but access wasn’t granted.
  • Blocked due to other 4xx issueA Google Search Console Page Indexing status: Googlebot got a 4xx client error not covered by another issue type (e.g. 400, 405, 410, 429, 451) when crawling the URL, so the page can't be indexed. — a 4xx not covered by another status; use URL Inspection to debug.
  • Soft 404 — a “user-friendly ‘not found’ message but not a 404 HTTP response code.”
  • Redirect error — chain too long, a loop, an over-long URL, or a bad URL in the chain.

Each status points at a different root cause and fix path. Once you’ve resolved one, use Validate Fix to prompt a recrawl — but set realistic expectations on timing; recrawl isn’t instant. And remember Google’s own framing: “it’s fine for a URL not to be indexed for the right reasons — for example… a 404 for a page that you’ve removed and have no replacement for.” Not every error is a to-do.

Search Console alone isn’t enough to act on — it’s one vantage point, sampled and delayed. When you log an error for triage, record at minimum: the URL, when you observed it, the vantage point (Search Console vs. a live check vs. server/CDN logs), the user agentA user agent is the HTTP request header a client (browser, crawler, or bot) sends to identify itself. For crawlers, a short user-agent token — a substring of that string — is what robots.txt rules actually target. the request came in on, the HTTP method, the final status code and response path (including any redirect chainA → B → C instead of A → C. Each hop loses link equity and adds latency.), whether it’s a one-off or recurring, and a post-fix verification step once you’ve redeployed. Triangulating GSC against a live status check and your own logs is what turns a stale report row into a confirmed, fixable problem.

How to fix and prioritize errors

  • Triage 404s by value. Fix the ones with inbound links, internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them., sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. presence, or lingering traffic — 301-redirect those to a relevant page to recover the link equity. Let genuinely dead URLs 404 or 410. As I put it in my Ahrefs guide, the practical fix for most of these is that “you just need to 301 redirectA 301 redirect is the HTTP status code for a permanent move: it tells browsers and search engines a URL has moved for good, and it's the strongest signal for consolidating a page's ranking signals onto the new URL. Google says permanent redirects don't cause a loss in PageRank. each of these pages to a relevant page” — but only where a relevant target exists. Don’t blanket-redirect everything to the homepage (that’s a soft 404).
  • 410 vs 404 is marginal. A 410 drops a page slightly faster than a 404; the practical SEO difference is minor. Use 410 when you want to be explicit that something is gone for good, but don’t expect it to be dramatically better.
  • Root-cause 5xx. The fixes are on the server side: capacity and timeouts for 500s, upstream/CDN health for 502/504, and WAF or rate-limiting rules misfiring on Googlebot for 403/429. Confirm the real bot with a reverse/forward DNS check before you go rate-limiting it.
  • Common root causes worth naming: app and database errors and overloaded hosts (5xx), upstream/CDN failures (502/504), rate limiting or bot-blocking WAFs (403/429), broken migrations and stale internal links (404), and misconfigured “friendly error pages” (soft 404).

Bing: a similar pattern, not independently verified code-for-code

Bing’s public statements point in the same direction as Google’s approach — 400-range codes are treated as missing or forbidden, and 500-range codes signal server trouble that works against crawl efficiency — but I haven’t independently verified full, current, code-by-code parity against Bing’s own documentation, so treat this as directional rather than a confirmed one-to-one match. Fabrice Canel frames Bing’s goal as a “crawl efficiency north star … to crawl a URL only when the content has been added … updated,” and persistent errors work directly against that — Bing spends crawl footprint on URLs that aren’t yielding fresh, indexable content. Bing also recommends a 503 with Retry-After for planned downtime rather than serving error pages as 200. You’ll find Bing’s crawl-error surfaces in Bing Webmaster ToolsMicrosoft's free portal for monitoring and improving how a site appears in Bing search — the peer to Google Search Console, plus IndexNow instant indexing, richer backlink data, and keyword volumes. Because Bing's index also feeds Microsoft Copilot, it doubles as a window into AI-search visibility. (URL Inspection, Crawl Control, Site Scan).

Where to go next

This page is the conceptual hub for the error-code family. It sits inside the broader HTTP Status CodesAn HTTP status code is the three-digit number a server returns with every response to tell a browser or crawler what happened to its request — success, redirect, client error, or server error. For SEO the code matters as much as the content: it tells Google and Bing whether to index a page, follow a redirect, retry later, or drop the URL from the index. cluster (the full 1xx–5xx picture, plus redirects and success codes); this sub-hub is the map for the error half of that. Each code below is its own deep dive:

Blocked / access

  • 401 Unauthorized — what triggers the “Blocked due to unauthorized request” status, and why auth walls don’t throttle Googlebot.
  • 403 Forbidden — credentials-provided-but-denied, and the WAF/bot-blocking patterns that cause false 403s to Googlebot.

Not found

  • 404 Not Found — how Google handles missing pages, why it’s not a penalty, and which 404s to actually fix.
  • 404 vs 410 — the real, small difference, and when to reach for each.
  • 410 Gone — the “permanently gone” signal and its slightly faster drop.

Rate limiting

  • 429 Too Many Requests — the 4xx that behaves like a 5xx, and how to keep rate limits from throttling your crawl.

Legal

  • 451 Unavailable For Legal Reasons — takedowns, country blocks, and how legal removals show up.

Server errors

  • 500 Internal Server Error — the generic server failure and how to root-cause it.
  • 502 Bad Gateway — upstream/proxy failures.
  • 503 Service Unavailable — the correct code for maintenance and planned downtime (with the robots.txt trap).
  • 504 Gateway Timeout — upstream timeouts.

The trap case

  • Soft 404 — the 200-that-reads-as-gone, why it wastes crawl budgetThe number of URLs an engine will crawl in a timeframe., and how to turn it into a real 404.

Broken redirects are handled separately as the Redirect error status — related but categorized on its own in Search Console.

Add an expert note

Pin an expert quote

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