Blocked Due to Other 4xx Issue
What "Blocked due to other 4xx issue" in Google Search Console's Page Indexing report means, which status codes commonly show up here (400, 405, 408, 410, 411, 413, 414, 421, 422, 451 — and the 429 nuance), how Google treats them, and how to diagnose, fix, and validate.
2 evidence signals on this page
- Linked source datagooglebot.json
- Related live toolHTTP Status & Redirect Checker
"Blocked due to other 4xx issue" in the GSC Page Indexing report is Google's residual bucket: a 4xx Googlebot got that isn't already broken out as its own row (401, 403, 404). Google doesn't publish an exhaustive list of which codes land here — 400, 405, 408, 410 Gone, 411, 413, 414, 421, 422, and 451 are the codes that commonly show up, treated as diagnostic branches once you know the real code, not a guaranteed membership list. Google's own rule: all 4xx except 429 get the same downstream treatment — the content is treated as if it doesn't exist, so the page isn't indexed, with no effect on crawl rate. The label tells you almost nothing, so the first move is always identifying the real code (URL Inspection, Crawl Stats, DevTools, curl, server/CDN/WAF logs — reproduce the original request method, since curl -I only sends HEAD), because the fix for a 410 (intentional removal) is the opposite of the fix for a 400 (malformed request) or a 429 (rate limiting). The big myth to correct: 429 is NOT a normal 4xx — Google treats it as a server error (server overloaded) and slows crawling, but that doesn't prove which report label a 429 URL actually gets; send a Retry-After (optional HTTP metadata, not a confirmed Googlebot schedule) and don't kill legitimate rate limiting. Don't use 4xx to throttle Googlebot — use 429 or 503. Identify the code, fix the root cause (or confirm it's intentional), confirm a 200 in Test live URL, then Validate Fix — a 200 makes the URL eligible for reindexing, it doesn't guarantee it or a specific timeline.
TL;DR — “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.” in Google Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. is Google’s residual bucket for client errors that aren’t already broken out as 401, 403, or 404. 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. asked for your page and got some other 4xx error back (like 400, 410, or 451), so the page can’t be indexedStoring 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.. Google doesn’t publish an exact list of which codes land here — your first job is to find out which code it actually is, because the fix depends entirely on that.
What this status means
This Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance. bucket covers a 4xx response not represented by the report’s more specific issue types. Evidence for this claim The Page Indexing report uses this category for a 4xx issue not covered by its other issue types. 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 handles 4xx responses other than 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. as unavailable content for 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.. Evidence for this claim Google treats 4xx responses other than 429 as if the content does not exist; 429 is handled as a server-overload signal. 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
When you open the Page IndexingThe 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. report in Search Console and see “Blocked due to other 4xx issue,” it means 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. tried to fetch the URL and your server answered with a 4xx client error — but one that doesn’t match the specific buckets Google already lists separately. Google breaks out 401 (login required), 403 (forbidden), and 404 (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.) into their own rows. Google’s own wording for this row is simply “a 4xx error not covered by any other issue type” — it doesn’t publish an exhaustive map of every other code to this bucket. In practice, 400, 405, 408, 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., 411, 413, 414, 421, 422, and 451 are the codes that commonly turn up here, but treat that as a list of likely candidates to check for, not a guarantee of what you’ll find.
Because Google got an error instead of the page, it can’t read the content, so the page won’t be indexed — and if it was indexed before, it gets dropped.
The label is a grab bag — find the real code
This is the part that trips people up. “Other 4xx” is a bucket, not a diagnosis.
A 410 Gone (you deliberately deleted a page) and a 400 Bad Request (a broken
URL) both land in the same row, but the right response is opposite for each. So
before you “fix” anything, find the actual status code:
- In Search Console, use URL InspectionA Google Search Console feature that reports how Google sees one specific URL on a property you own. By default it shows the last-indexed snapshot; a separate \"Test live URL\" mode fetches the current version. and click Test live URL to see what Google is currently getting.
- Open the page in your browser’s DevTools → Network tab and look at the
status code, or fetch it from the command line with
curl -I. - Check your server logsLog file analysis is reading a web server's raw access logs to see exactly which URLs search engine crawlers actually requested, when, how often, and what status code they got. Unlike crawl tools or Search Console, logs are the unsampled, ground-truth record of what really happened. to see what code Googlebot really received.
Is it actually a problem?
Sometimes “other 4xx” is working as intended. A 410 Gone on a page you
permanently removed is correct behavior — it’s only a problem if the page is in a
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. or still being linked to when it shouldn’t be. But if a page you want
indexed is returning some odd 4xx, that’s a real error to fix at its source.
A quick word on 429
You may have read that 429 (“too many requests” — a rate limit) belongs here. Google treats 429 as a server-overload signal, not a normal client error, and uses it to slow down 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. rather than dropping your page outright — Google’s own documentation doesn’t say which Page Indexing row a 429 URL actually shows up under, so don’t assume it’s excluded from this bucket either. Either way, don’t go disabling your rate limiting to “fix” an other-4xx status — more on that in the Advanced tab.
Want the full code-by-code fix guide, the 429 nuance, the 410-vs-404 detail, and the diagnosis decision tree? Switch to the Advanced tab.
TL;DR — “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.” is the 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.’s residual row: a 4xx 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. received that isn’t already broken out as its own issue type (401/403/404). Google doesn’t publish an exhaustive map of every other code to this row — 400, 405, 408, 410, 411, 413, 414, 421, 422, 451, etc. are diagnostic branches to check once you know the real code, not a guaranteed membership list. Google’s rule: all 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. are treated the same — the content is treated as if it doesn’t exist, so the page isn’t indexedStoring 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.. The label tells you almost nothing, so step one is always identify the real code (URL InspectionA Google Search Console feature that reports how Google sees one specific URL on a property you own. By default it shows the last-indexed snapshot; a separate \"Test live URL\" mode fetches the current version.’s live test → Crawl StatsA Google Search Console report (under Settings) that shows how Google has crawled your site over the last 90 days — total requests, download size, and average response time, broken down by response code, file type, Googlebot type, and purpose. It's only available for root-level properties (a Domain property or a URL-prefix property verified at the site's root). → reproduce the original request method → correlated server/CDN/WAF/app logs), because the fix for a 410 (intentional removal) is the opposite of the fix for a 400 or a 429. The myth worth killing: 429 is not a normal 4xx — Google treats it as a server error (overloaded) and slows 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., but that processing behavior doesn’t prove which Page 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. label a 429 URL actually receives — treat the report placement as unconfirmed either way. Don’t use 4xx to throttle 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. — use 429 or 503. Identify → fix the root cause (or confirm it’s intentional) → confirm a
200in Test live URL → Validate Fix (which makes the URL eligible for reindexing, not a guarantee of it).
What Google actually says
The report label is a category, so inspect the URL to determine the actual status code and cause. Evidence for this claim The Page Indexing report uses this category for a 4xx issue not covered by its other issue types. 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 The HTTP behavior is documented separately from the report taxonomy. Evidence for this claim Google treats 4xx responses other than 429 as if the content does not exist; 429 is handled as a server-overload signal. 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 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. documentation describes this status plainly: the server encountered a 4xx error not covered by any of the other issue types the report breaks out, and its advice is to debug the page using the URL Inspection tool. So by definition this is the leftover bucket — every 4xx that isn’t already broken out as its own row (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., 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., 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).). Google does not publish an exhaustive table mapping every remaining 4xx code to this row, so treat any list of “codes that land here” — including the one below — as commonly observed candidates, not an official or complete membership list.
The behavior behind it comes from Google’s separate HTTP-status-codes documentation, and there’s one core rule that governs almost everything on this page: all 4xx errors, except 429, are treated the same — Google’s 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. tell the next processing system that the content doesn’t exist. For indexing, the outcome is identical to a 404: the page is treated as non-existent and won’t be indexed (or gets removed if it already was). And critically, the 4xx codes (again, except 429) have 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. — they don’t slow Googlebot down, they just take the page out of consideration (though crawl frequency for a persistently-erroring URL will naturally drift down over time as Google keeps finding nothing there).
Which 4xx codes commonly land here
Google’s residual definition doesn’t name these individually — this is what shows up in practice once you’ve confirmed the real code. What to inspect and the typical wrong inference for each:
- 400 Bad Request — malformed request target, syntax, or Host/routing framing (often a broken or badly encoded URL). Wrong inference: “the page’s code is broken” — compare the exact request the server received against what you meant to generate.
- 405 Method Not Allowed — the HTTP method used isn’t allowed for that URL; the
response should carry an
Allowheader naming what is allowed. Wrong inference: acurl -I(HEAD) failure proves Googlebot’s GET failed the same way — test both methods separately. - 408 Request Timeout — the connection or request didn’t complete in time. Wrong inference: “generic server downtime” — correlate the timing at the connection/proxy/origin layer.
- 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. — the resource is permanently removed. Often intentional; see the section below.
- 411 Length Required — the server insists on a
Content-Lengthheader on a request with a body. Unusual for an ordinary page fetch — confirm the request actually had content and which layer rejected it before changing a rule. - 413 Payload Too Large — the request content exceeds a size limit. Confirm the inbound request body/headers, not the page’s own size.
- 414 URI Too Long — the request URI itself exceeds a length limit. Usually a generated-parameter or redirectA 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.-chain problem, not a page-content issue.
- 415 / 422 (Unsupported Media Type / Unprocessable Entity) — the request’s content type or instructions were rejected. Like 411/413, these describe request-content conditions and are atypical for a plain page GET — don’t generically relax validation without evidence of the actual rejected request.
- 421 Misdirected Request — the connection was misdirected; Google also documents returning 421 as an intentional way to opt a route out of HTTP/2. Don’t assume the page is broken on every protocol — confirm whether Google retried over HTTP/1.1 and what the final response was.
- 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. — a legal or policy-driven block. Route to whoever owns legal/policy review rather than treating it as a routine geoGenerative Engine Optimization — visibility inside AI answer engines./WAF misconfiguration.
- 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. — a rate limit. This one is special — see below.
The point of this list isn’t to memorize it as gospel; it’s to give you a starting set of diagnostic branches. You still have to look at the real code and the layer that produced it before picking a fix.
429 is the exception — separate the semantics from the report label
Plenty of third-party write-ups lump 429 into “other 4xx.” That conflates three different questions worth keeping separate: what HTTP says 429 means, how Google’s crawlers actually handle it, and which Page Indexing row a 429 URL gets reported under. The first two are documented; the third isn’t. Google’s crawlers treat the 429 status code as a signal that the server is overloaded, and it’s considered a server error — not a normal client error. The practical consequences:
- A 429 makes Googlebot slow down rather than immediately dropping the page.
- Because it’s handled as a server error, a genuine 429 is plausibly reported as a server/crawl issue rather than “Blocked due to other 4xx issue” — but Google’s documentation describes the processing behavior, not the report taxonomy, so treat the report placement as unconfirmed rather than assuming it’s excluded from this bucket.
- The wrong move is to disable legitimate rate limiting to “fix” an other-4xx
status. If your server is genuinely under load, keep the rate limiting and send a
Retry-Afterheader — RFC 6585 makes the header optional on a 429 response, and while it’s reasonable HTTP hygiene for any well-behaved client, the reviewed Google documentation doesn’t state that Googlebot schedules its next crawl from that header value. Send it anyway as good practice; just don’t treat it as a guaranteed instruction. As I put it in my Ahrefs HTTP status codes guide, “429s are a little special because they are generally treated as server errors and will cause Google to slow down 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.. But eventually, Google will drop these pages from the index as well.” So a 429 isn’t free — it buys time, it doesn’t keep a page indexed forever.
410 vs 404 — usually a non-issue
A 410 Gone is the most common intentional code in this bucket: you removed a
page and want it to disappear. People obsess over 410-vs-404, but the practical
difference is small. Google’s own crawling documentation lists 410 among the 4xx
codes that get the same “content doesn’t exist” downstream treatment as a 404. As I
wrote in my Ahrefs HTTP status codes guide, “404s and 410s have a similar treatment. Both drop pages from the
index, but 410s are slightly faster.” John Mueller has said the gap is on the
order of a small number of days at most, and that in the mid-to-long term Google
treats a 404 and a 410 the same way — both get dropped from the index. Google
listing 410 under the shared 4xx handling doesn’t by itself confirm which Page
Indexing row a 410 URL is reported under, so if you see one here, that’s consistent
with expectations rather than a documented certainty. Either way: if a 410 in this
bucket is intentional, it’s working as designed — only act if the page should
actually be live, and confirm the page’s status in Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance. rather than
assuming from the code alone.
Why it happens
Most real-world “other 4xx” statuses come from one of these:
- WAF / bot-protection / CDN rules returning an odd 4xx (often a 4xx that isn’t a clean 403) when Googlebot’s request pattern trips a rule.
- Security plugins (e.g. WordPress security plugins) blocking or challenging non-browser clients.
- IP / geo blocks that catch Googlebot, which crawls primarily from US IPs.
- Aggressive rate limiting that returns a 4xx after N requests (this should be 429 — see below).
- Malformed URLs (400), request-size limits (413), or validation failures (422) triggered by how a URL was generated or linked.
- Intentional removals (410) that simply shouldn’t still be in a 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..
A big self-inflicted source: using 4xx to throttle Googlebot. Google has asked site owners and CDNs to stop using 404 and other 4xx codes to try to reduce Googlebot’s crawl rate — it doesn’t slow the crawl, it just removes content from Search. If you need Googlebot to back off, return 500, 503, or 429, not a 4xx.
How to diagnose the real code
Work this as a decision tree, top to bottom. No single tool is guaranteed to expose the exact failure — chain them:
- URL Inspection → Test live URL. This confirms current availability — is Google getting a 4xx right now, versus a stale report row — but a failed live test doesn’t always expose the raw response headers or status line, so treat it as a availability check first, not a complete diagnosis.
- Crawl Stats reportA Google Search Console report (under Settings) that shows how Google has crawled your site over the last 90 days — total requests, download size, and average response time, broken down by response code, file type, Googlebot type, and purpose. It's only available for root-level properties (a Domain property or a URL-prefix property verified at the site's root).. Pulls representative examples of Google’s actual crawl requests (response code, response time, by file type) — useful for corroborating what a scheduled crawl saw, since Test live URL uses Google-InspectionTool rather than the common crawler.
- Reproduce it yourself, matching the original request. Open the URL in
DevTools’ Network tab, or use
curl; if you suspect a bot rule, fetch it with Googlebot’s user-agent (and ideally from outside your network) to trip the same rule. Match the method too —curl -Isends a HEAD request, which can return a different result than the GET request Google actually made (a HEAD-only 405, for instance, doesn’t prove GET fails). (Commands in the Scripts tab.) - Read server / CDN / WAF / auth-proxy / application logs, correlated. This is usually the only place you’ll find the exact status, the denying layer, and the rule or condition that produced it — especially when the live test can’t surface raw headers.
- Verify the requester’s identity, separately from the response. A user-agent string alone doesn’t prove Googlebot made the request; confirm via reverse+forward DNS or Google’s published IP ranges before you decide the block is (or isn’t) hitting a legitimate crawler.
- Map the code to its cause. 400/405/408/414 → request framing/timing/URI problem. 411/413/415/422 → only diagnose as a request-content issue if you have evidence of the actual method and body Google’s request carried — these are unusual for an ordinary page fetch. 410 → intentional removal (confirm it should be gone). 421 → check whether it’s Google’s documented HTTP/2 opt-out and what the HTTP/1.1 fallback returned. A 4xx from a security layer → a block to allowlist for the verified client and route only, not a blanket allowlist. A would-be 429 → rate limiting (handle as server load, not a 4xx).
Check a URL list, separate each status family, and export the affected URLs with my free HTTP Status Checker Free
- Run the affected URLs without assuming every row contains the same 4xx code.
- Confirm intentional 410 responses separately from malformed-request or security-layer failures.
- Recheck after the root cause changes and verify that URLs meant to be public return a live 2xx response.
How to fix it, by code
- 400 / 405 / 408 / 414 (request framing, method, timing, URI-length). Fix the source of the malformed request, broken/over-length URL, disallowed method, or slow/incomplete connection at the layer that’s actually generating it — check the exact request the server saw against what your app intended to send.
- 411 / 413 / 415 / 422 (request-content errors). These describe conditions tied to a request’s body, length, or content type — atypical for an ordinary page GET. Before relaxing a limit or validation rule, confirm from logs which method and request content actually triggered it and which layer rejected it; don’t loosen security limits generically without that evidence.
- 410 — is it intentional? If the page is supposed to be gone, the 410 is correct — just remove it from sitemaps and 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. so it stops showing up as a “problem.” If the page should be live, the 410 is a mistake to undo.
- 421 — check if it’s an intentional HTTP/2 opt-out. Google documents returning 421 as a way to opt a route out of HTTP/2 crawling. Confirm whether the request fell back to HTTP/1.1 and what the final response was before treating a 421 as a broken page.
- 429 — rate limiting done right. Don’t kill legitimate rate limiting. Keep it,
add a
Retry-Afterheader as good practice (it’s optional per the HTTP spec, and Google’s documentation doesn’t confirm Googlebot schedules its next crawl from it), and remember Google reads 429 as “slow down,” not “deindex.” If a rule is 4xx-ing Googlebot purely to throttle it, switch that to 429 or 503. - 451 — confirm the legal/policy context first. Don’t treat it as a routine geo/WAF misconfiguration; route it to whoever owns legal or content-policy decisions before changing the response.
- WAF / CDN / security-plugin blocks. Identify the exact denying layer and rule
first. Allowlist verified Googlebot — by reverse-DNS identity or Google’s
published IP ranges, not by trusting the user-agent string (which is spoofable)
— and scope the exception narrowly to the intended route and client, not a
blanket allow for every Google-origin request or every security rule. Fix the
rule so the URL returns
200.
Don’t use 4xx to slow Googlebot down
Worth stating on its own, because it’s a top cause of self-inflicted “other 4xx”: returning 4xx codes to throttle Googlebot doesn’t work and removes content from Search. As I summarize the rule in my Ahrefs HTTP status codes guide, “4xxs will cause pages to drop from the index.” If your real goal is to slow the crawl, use 429 or 503 — those are the codes Google reads as “come back later,” and the effect is temporary.
After you fix it
Once the underlying cause is resolved (or you’ve confirmed the 410 is intentional and cleaned up the sitemap/links):
- URL Inspection → Test live URL to confirm the live response is now
200. - Request indexing for high-priority URLs and/or click Validate Fix on the “Blocked due to other 4xx issue” row in the Page Indexing report.
- A
200response makes the URL eligible for Google to crawl, process, and potentially index again once it re-crawls — it isn’t a guarantee of indexing or a fixed timeline, so don’t bulk “Request indexing” before the root cause is fixed, or you’ll just re-enter the same bucket.
Does it hurt SEO?
Only if pages you actually want indexed are returning a 4xx — those drop from the index and lose their rankings until fixed. If the 4xx is intentional (a 410 on a deleted page, a deliberate block on an admin path that shouldn’t be in your sitemap), it’s working as designed and isn’t hurting anything.
The siblings to know: “Blocked due to access forbidden (403)” and “Blocked due to unauthorized request (401)” are the dedicated firewall/login rows, and “Not found (404)” is its own bucket. This status is everything else in the 4xx family. For the report itself and how it groups not-indexed reasons, see the Page Indexing report overview.
AI summary
A condensed take on the Advanced version:
- What it is. “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.” in GSCA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results.’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. = 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. got a 4xx that isn’t already broken out as 401/403/404. Google doesn’t publish an exhaustive list of which codes land here — 400, 405, 408, 410, 411, 413, 414, 421, 422, and 451 are common candidates to check for, not a guaranteed membership list. The page isn’t indexedStoring 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. (and is removed if it was).
- The core rule. All 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. are treated the same — Google treats the content as non-existent, just like a 404, 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..
- The label is a grab bag. It doesn’t tell you the cause — find the real
status code first (URL InspectionA Google Search Console feature that reports how Google sees one specific URL on a property you own. By default it shows the last-indexed snapshot; a separate \"Test live URL\" mode fetches the current version.’s live test → Crawl StatsA Google Search Console report (under Settings) that shows how Google has crawled your site over the last 90 days — total requests, download size, and average response time, broken down by response code, file type, Googlebot type, and purpose. It's only available for root-level properties (a Domain property or a URL-prefix property verified at the site's root). → reproduce the
original request method → correlated server/CDN/WAF logs;
curl -Iis HEAD, not GET, so test both). - 429 is the exception (and a common myth). Google treats 429 as a server
error (overloaded) and slows 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. rather than dropping the page, but that
processing behavior doesn’t confirm which Page 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. row a 429 URL is reported
under — treat report placement as unconfirmed. Keep legitimate rate limiting; send
a
Retry-Afteras good practice (it’s optional per the HTTP spec; Google’s docs don’t say 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. schedules from it). Don’t disable protection to “fix” an other-4xx status. - 410 vs 404. 410 (Gone) is the common intentional code here; Google groups it under the same downstream “content doesn’t exist” treatment as 404, and the practical timing difference is small. If a 410 is intentional, it’s working as designed — confirm intent before touching it.
- 421 can be intentional too. Google documents 421 as a way to opt a route out of HTTP/2 crawling — check the HTTP/1.1 fallback and final response before assuming the page is broken.
- Why it happens. WAF/CDN/security-plugin blocks, IP/geoGenerative Engine Optimization — visibility inside AI answer engines. blocks, rate-limiting rules, malformed or over-length URLs (400/414), request-content conditions (411/413/415/422 — need actual request-body evidence), or intentional removals (410).
- Don’t throttle with 4xx. Using 404/other-4xx to slow Googlebot removes content from Search — use 429 or 503 instead.
- Fix + validate. Identify the code (don’t stop at a failed live test — pull
Crawl Stats and correlated logs) → fix the root cause (or confirm it’s
intentional and clean up sitemapsA 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./links) → confirm a
200in Test live URL → Validate Fix. A200makes the URL eligible for reindexing; it doesn’t guarantee it or a specific timeline.
Official documentation
Primary-source documentation from the search engines.
- Page Indexing report — the report itself, including the “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.” entry (a 4xx not covered by any other issue type) and the 401/403/404 siblings.
- How HTTP status codes, and network and DNS errors affect Google Search — the rule that all
4xxexcept429are treated the same, that 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. is handled as a server-overload signal, and that4xx(except 429) have 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.. - Don’t 404 my yum (Search Central Blog, 2023) — Google asking site owners and CDNs to stop using 404 and other 4xx codes to throttle 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., and what to use instead (500/503503 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./429).
- Verifying Googlebot and other Google crawlers — reverse + forward DNS and published IP ranges, so you allowlist the real 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. before changing a WAF/firewall rule.
Bing / Microsoft
- Bing Webmaster Tools — Crawl Control — Bing doesn’t use Google’s exact “other 4xx” label, but the principle is the same: a 4xx means BingbotBingbot is Microsoft Bing's primary web crawler — the bot that discovers, fetches, and renders pages to build the Bing index. That index also powers Yahoo, DuckDuckGo, Ecosia, and Microsoft Copilot, so Bingbot's reach is far wider than Bing's own search-market share. couldn’t fetch usable content, so the URL won’t be indexedStoring 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.. Use Crawl Control to manage BingbotBingbot is Microsoft Bing's primary web crawler — the bot that discovers, fetches, and renders pages to build the Bing index. That index also powers Yahoo, DuckDuckGo, Ecosia, and Microsoft Copilot, so Bingbot's reach is far wider than Bing's own search-market share.’s speed rather than blocking it with error codes.
Quotes from the source
On-the-record statements from Google — and from my own Ahrefs status-codes guide, which I authored and can speak to as my own words. Each link is a deep link that jumps to the quoted passage on the source page.
Google — how 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.) is handled
- “All
4xxerrors, except429, are treated the same: Google crawlersGooglebot 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. inform the next processing system that the content doesn’t exist.” — Google Search Central docs. Jump to quote
Google — 429 is treated as a server error
- “Google’s 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. treat the
429status code as a signal that the server is overloaded, and it’s considered a server error.” — Google Search Central docs. Jump to quote
Google — don’t use 4xx to limit 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.
- “The
4xxstatus codes, except429, have 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..” — Google Search Central docs. Jump to quote
John Mueller, Google — 410 vs 404 (paraphrased)
- John Mueller of Google has described the 410-vs-404 gap as a small difference — on the order of a few days at most — and said that in the mid-to-long term Google treats a 404 and a 410 the same way: both get 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.. Reported in Search Engine Journal’s coverage of Mueller’s remarks: Google Offers Advice on 404 and 410 Status Codes (SEJ). (Paraphrased here rather than quoted verbatim pending an independent exact-wording check on this pass — confirm the exact phrasing against the source before quoting it directly.)
Patrick Stox (me) — from my Ahrefs status-codes guide
- “4xxs will cause pages to drop from the index.” — Patrick Stox, “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. & Their SEO Impact,” Ahrefs. Jump to quote
- “404s and 410s have a similar treatment. Both drop pages from the index, but 410s are slightly faster.” Jump to quote
- “429s are a little special because they are generally treated as server errors and will cause Google to slow down 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.. But eventually, Google will drop these pages from the index as well.” Jump to quote
Note on Retry-After: RFC 6585 permits (but doesn’t require) a 429 response to
include a Retry-After header. Sending one is reasonable practice for any
well-behaved client, but the Google documentation reviewed for this page doesn’t
state that 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. uses that header value as a literal next-crawl schedule —
present it as optional response metadata, not a confirmed Googlebot instruction.
Other-4xx diagnose → fix → validate checklist
Run this against any URL showing “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.”:
- Find the real code first — URL InspectionA Google Search Console feature that reports how Google sees one specific URL on a property you own. By default it shows the last-indexed snapshot; a separate \"Test live URL\" mode fetches the current version. → Test live URL, Crawl
Stats for representative request details, plus DevTools Network tab /
curl(both HEAD and GET) / correlated server-CDN-WAF logs. The bucket label isn’t the diagnosis, and Google doesn’t publish a complete code-to-row map. - Confirm it’s live, not stale — Test live URL shows a current 4xx, not an old report; note that a failed live test may not expose raw headers, so corroborate with logs when it doesn’t.
- Classify it. Request-framing/timing/URI error (400/405/408/414)? Request-content condition needing body evidence (411/413/415/422)? Intentional removal (410)? Possible HTTP/2HTTP/2 and HTTP/3 are the modern versions of the HTTP protocol. HTTP/2 multiplexes many requests over one TCP connection; HTTP/3 swaps TCP for QUIC (over UDP) so a dropped packet only stalls the one stream it belongs to, not every stream (streams still share the connection's congestion control). Neither is a Google ranking factor — the SEO payoff is indirect, through faster real-user page speed. opt-out (421)? Legal/policy (451)? Security-layer block? A would-be 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. (rate limit)?
- If 410 (Gone): is the page supposed to be gone? If yes, it’s correct — just remove it from sitemapsA 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. and 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.. If no, restore the page.
- If 421: confirm whether it’s an intentional HTTP/2 opt-out and check the HTTP/1.1 fallback and final response before treating it as broken.
- If a request/framing error: fix the malformed or over-length URL, allowed method, or timeout/connection issue at the source; stop linking to / listing the bad URL.
- If a request-content error (411/413/415/422): confirm the actual method and body from logs before relaxing any limit or validation rule.
- If a security/WAF/CDN block: verify the real 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. (reverse DNS or published IP ranges), then allowlist narrowly by identity/IP and route — not 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., not a blanket allow.
- If it’s really about throttling: don’t use 4xx — return 429 or 503503 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.,
and add a
Retry-Afterheader as good practice. Keep legitimate rate limiting; don’t assume 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.’s next crawl is scheduled from that header. - Confirm a
200— Test live URL now returns 200 for the pages you want indexed. - Validate — click Validate Fix on the “other 4xx” row and/or Request 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. for priority URLs. That makes the URL eligible for reindexing, not a guarantee — don’t bulk-request before the cause is fixed.
The mental models
1. The label is a bucket, not a diagnosis. “Other 4xx” is Google’s residual row for any 4xx not already broken out as its own issue type — Google doesn’t publish the exact list of what lands here, though 400, 405, 408, 410, 411, 413, 414, 421, 422, and 451 are common candidates. The first move is never “fix it” — it’s “which code is it, actually?” Everything downstream depends on the answer.
2. For 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., other-4xx = 404. Google treats all 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. the same: the content is treated as if it doesn’t exist. So whatever the specific code, the 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. outcome is the same as a 404 — not indexed, removed if it was. That also means it has 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..
3. 429 is a server error, not a client error — and its report placement is a
separate, unconfirmed question.
Google reads 429 as “server overloaded” and slows down instead of dropping the
page — that’s documented. Whether a 429 URL shows up under this specific report row
isn’t documented either way, so don’t treat that placement as settled in either
direction. Don’t disable rate limiting to make it go away — send a Retry-After as
good practice, without assuming 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. follows it on a schedule.
4. Intentional vs. mistake. A 410 on a deleted page, or a 421 opting a route out of HTTP/2HTTP/2 and HTTP/3 are the modern versions of the HTTP protocol. HTTP/2 multiplexes many requests over one TCP connection; HTTP/3 swaps TCP for QUIC (over UDP) so a dropped packet only stalls the one stream it belongs to, not every stream (streams still share the connection's congestion control). Neither is a Google ranking factor — the SEO payoff is indirect, through faster real-user page speed., can both be working as designed; a 400 on a page you want indexed is a bug. Ask “should this URL even be live, and on what protocol?” before you reach for a fix — and if it shouldn’t be live, the fix is to stop listing it (sitemapsA 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., links), not to make it 200.
5. 4xx is the wrong throttle. If your goal is to slow 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., 4xx doesn’t do it — it deindexes. The “come back later” codes are 429 and 5xx/503503 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.. Pick the code that matches your intent: “this is gone” (4xx) vs. “I’m overloaded, try later” (429/503).
Other-4xx cheat sheet
Codes that commonly show up here — and the fix for each (Google doesn’t publish an exhaustive membership list for this row; treat this table as diagnostic branches to check once you know the real code, not a guarantee.)
| Code | Meaning | Usual cause | Fix |
|---|---|---|---|
400 | Bad Request | Malformed / bad-encoded URL or routing | Correct the URL; stop generating/linking it |
405 | Method Not Allowed | HTTP method not allowed for the URL | Allow the right method; check the response’s Allow header |
408 | Request Timeout | Connection/request didn’t complete in time | Correlate connection/proxy/origin timing |
410 | Gone (permanent) | Page intentionally removed | If intentional: remove from 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./links. If not: restore |
411 | Length Required | Server demands Content-Length on a request with content | Confirm the actual method/body before changing the rule |
413 | Payload Too Large | Request content exceeds a size limit | Confirm the inbound request before raising the limit |
414 | URI Too Long | Request URI exceeds a length limit | Fix parameter/redirectA 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. generation at the source |
415 / 422 | Unsupported Media Type / Unprocessable Entity | Request content type or instructions rejected | Confirm request content before changing validation |
421 | Misdirected Request | Connection misdirected — can be Google’s intentional HTTP/2HTTP/2 and HTTP/3 are the modern versions of the HTTP protocol. HTTP/2 multiplexes many requests over one TCP connection; HTTP/3 swaps TCP for QUIC (over UDP) so a dropped packet only stalls the one stream it belongs to, not every stream (streams still share the connection's congestion control). Neither is a Google ranking factor — the SEO payoff is indirect, through faster real-user page speed. opt-out | Confirm HTTP/1.1 fallback and final response before “fixing” |
451 | Unavailable (legal) | Legal / policy block | Route to legal/policy review; don’t treat as routine WAF bug |
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 limit / overload | Server error; report placement unconfirmed — keep it, add Retry-After |
The sibling statuses in Page IndexingThe 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.
| Status | What Google got | What it usually means |
|---|---|---|
| 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. | Some other 4xx | Catch-all — debug with URL InspectionA Google Search Console feature that reports how Google sees one specific URL on a property you own. By default it shows the last-indexed snapshot; a separate \"Test live URL\" mode fetches the current version. |
| Blocked due to access 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. (403) | HTTP 403 | Firewall / CDN / WAF blocking 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. |
| Blocked due to unauthorized request (401) | HTTP 401401 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. | Page behind a login / HTTP-auth wall |
| Not found (404) | HTTP 404 | Page missing |
Pick the right code for your intent
| Goal | Code to return | Effect |
|---|---|---|
| Page is permanently gone | 410 (or 404) | Drops from index (410 a touch faster) |
| Ask 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. to slow down | 429 (or 503) | Temporary throttle — the supported “slow down” signal |
| Page should be indexed | 200 | Crawlable and indexable |
Find the real status code
The GSCA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. label won’t tell you which 4xx you’re dealing with — check it directly.
-I sends a HEAD request, not the GET Google actually uses to retrieve a
page, so a HEAD-only result (e.g. a 405) doesn’t prove what GET returns — test both.
macOS / Linux
# HEAD only — read the status line (e.g. "HTTP/1.1 410 Gone")
curl -s -I https://www.example.com/page/
# GET — reproduces the method Google actually uses to fetch page content
curl -s -o /dev/null -w "%{http_code}\n" https://www.example.com/page/
# If you suspect a bot-specific block, fetch as Googlebot's user-agent (GET)
curl -s -A "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" \
-o /dev/null -w "%{http_code}\n" https://www.example.com/page/Windows (PowerShell)
# GET request, matching what Google actually uses to fetch page content
$ua = "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
Invoke-WebRequest -Uri "https://www.example.com/page/" -Method Get `
-UserAgent $ua -SkipHttpErrorCheck | Select-Object StatusCode, StatusDescriptionIf the code differs between HEAD and GET, or between a normal request and a 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.-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. request, you’ve 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. a method- or botA 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.-specific rule. A sophisticated WAF may also key off IP, protocol, or client category rather than just user-agent, so for a full reproduction, test from outside your own network and don’t assume a user-agent match alone proves the same rule applies to real 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. traffic.
Verify a bot is really Googlebot (before you allowlist)
If the 4xx comes from a security layer and you’re about to allow the crawlerA 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. through, confirm it’s actually Googlebot first — the user-agent is trivially spoofed, and swapping only the user-agent in a test request doesn’t reproduce Google’s real source IP, client category, protocol, or edge-rule path.
macOS / Linux
# 1) Reverse DNS the IP from your logs — must end in googlebot.com / google.com
host 66.249.66.1
# → ... domain name pointer crawl-66-249-66-1.googlebot.com
# 2) Forward DNS that hostname back — it must resolve to the same IP
host crawl-66-249-66-1.googlebot.com
# → crawl-66-249-66-1.googlebot.com has address 66.249.66.1Windows
nslookup 66.249.66.1
nslookup crawl-66-249-66-1.googlebot.comIf the reverse lookup doesn’t end in a Google domain, or the forward lookup doesn’t match the original IP, it isn’t Googlebot — don’t allowlist it. You can also match the IP against Google’s published ranges (googlebot.json). Allowlist by verified identity / IP range, never by the user-agent string alone.
Send Retry-After on a 429 (don’t kill rate limiting)
If a URL is genuinely rate-limited, return 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. with a Retry-After as good HTTP
practice — instead of disabling protection or returning a “real” 4xx. Retry-After
is optional per RFC 6585, and Google’s documentation doesn’t confirm Googlebot
schedules its next crawl from the value, so treat this as reasonable hygiene rather
than a proven fix. The snippets below are illustrative starting points — review
them against your own server/CDN config and security policy before deploying.
Apache (.htaccess / config)
# Example: return 429 with a 1-hour Retry-After for rate-limited responses
Header always set Retry-After "3600" "expr=%{REQUEST_STATUS} == 429"Nginx
# limit_req_status makes throttled requests return 429 instead of 503
limit_req_status 429;
# add a Retry-After hint on 429 responses
error_page 429 = @rate_limited;
location @rate_limited {
add_header Retry-After 3600 always;
return 429;
} Resources worth your time
Official
- Page Indexing report (Google) — the “other 4xx” entry and the 401/403/404 siblings.
- How HTTP status codes affect Google Search (Google) — the all-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. rule, the 429-as-server-error nuance, and “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..”
- Don’t 404 my yum (Google, 2023) — don’t use 404/other-4xx to throttle 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..
- Verifying Googlebot (Google) — reverse DNS + published IP ranges.
My related writing
- HTTP Status Codes & Their SEO Impact — my full guide to what each status code means for SEO, including the 4xx, 410-vs-404, and 429 lines quoted here.
- The Beginner’s Guide to Technical SEO — where crawl/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. errors like this fit in the bigger picture.
From others
- r/TechSEO — the community for crawl/index debugging, including “weird 4xx in GSCA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results.” threads.
- Google warns against using 403 or 404 for crawl-rate limiting (Search Engine Land) — coverage of Gary Illyes’ “Don’t 404 my yum” guidance; use 500/503503 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./429 instead.
- Google: 404 vs 410 status codes — differences are minimal (Search Engine Roundtable) — Mueller on why the 410-vs-404 gap is negligible in practice.
- Google Offers Advice on 404 and 410 Status Codes (Search Engine Journal) — reported source of Mueller’s remarks on 410 vs 404 speed; confirm exact wording on the live page before quoting it directly.
- How to Fix Blocked due to other 4xx issue (Onely) — step-by-step walkthrough covering the common codes; useful for 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. and internal-link audit steps. Treat its specific code-membership claims as this source’s own read, not confirmed Google taxonomy.
- Blocked due to other 4xx issue (SEOTesting) — covers server-log analysis and preventive monitoring; also names 422, 405, 413, 414. Same caveat on code-membership claims.
Finding the real code behind “other 4xx”
“Other 4xx” is a grab bag, so the only useful first move is identifying which code is actually firing — that’s what the article’s diagnosis section means by “work this as a decision tree, top to bottom.” Confirm the live code first, then branch on which family it belongs to before you touch any config.
Which 4xx is this, and what do I do about it?
Track the “other 4xx” bucket, not just its existence
The one number worth watching is how many URLs sit in the “Blocked due to other 4xx issue” row of the 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. over time — a single snapshot can’t tell you whether a fix worked or whether new problem codes are creeping in, especially since this bucket mixes intentional and accidental causes.
Other-4xx bucket count over time
- Metric — The count of URLs under “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.” in GSCA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results.’s Page 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. report, tracked week over week, ideally broken out by the real status code once you’ve identified it per URL.
- What it tells you — Whether request/validation fixes (400/405/411/413/422) and WAF/CDN allowlisting are actually taking effect. For URLs where the real code is an intentional 410, the count for those specific URLs should stay flat once you’ve cleaned up sitemapsA 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. and 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. — a rising count there usually means new “removed” pages are still getting linked or sitemapped in by mistake, not a fresh error.
- How to pull it — GSC Page 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. report, filtered to the “other 4xx” row; spot-check individual URLs with URL InspectionA Google Search Console feature that reports how Google sees one specific URL on a property you own. By default it shows the last-indexed snapshot; a separate \"Test live URL\" mode fetches the current version. → Test live URL to confirm the report isn’t showing a stale snapshot.
- Benchmark / realistic range — There’s no universal target — it depends entirely on how many URLs you intentionally return a 410 (or similar) for. The honest bar: zero other-4xx among URLs you want indexed, and a flat (not growing) count for URLs you’ve deliberately removed. Establish your own baseline count before judging trend direction.
- Cadence — Weekly right after a fix, until the count stabilizes; monthly afterward as a regression check, especially if you rely on a WAF/CDN whose rules can change independently of your own deploys.
Runbook: identify, fix, validate
The “other 4xx” workflow is the same short loop for every URL in this bucket, regardless of which specific code is behind it — identify the real code first, because the fix branches hard from there.
1. Confirm the live code. Run URL InspectionA Google Search Console feature that reports how Google sees one specific URL on a property you own. By default it shows the last-indexed snapshot; a separate \"Test live URL\" mode fetches the current version. → Test live URL to confirm Google is currently getting a 4xx and see what it received — the report row alone can be stale, and a failed live test doesn’t always expose raw headers. Cross-check with the Crawl StatsA Google Search Console report (under Settings) that shows how Google has crawled your site over the last 90 days — total requests, download size, and average response time, broken down by response code, file type, Googlebot type, and purpose. It's only available for root-level properties (a Domain property or a URL-prefix property verified at the site's root). report for representative examples of what the scheduled crawlerA 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. actually received.
2. Reproduce it, matching the original request.
Open the URL in DevTools’ Network tab or curl it — test the GET method,
not just curl -I (which sends HEAD and can give a different result). If you
suspect a bot-specific rule, fetch it with 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.’s 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., and ideally
from outside your own network, to trip the same rule a real crawl would hit —
but note a user-agent swap alone doesn’t reproduce Google’s real IP, protocol,
or client category.
3. Read the logs. Check server, CDN, WAF, and auth-proxy logs for the exact code and the rule or condition that produced it — this is usually faster than guessing from the browser alone, and is often the only way to see raw response data the live test doesn’t expose.
4. Map the code to its cause. 400/405/408/414 → a request-framing, method, timeout, or URI-length problem. 411/413/415/422 → only diagnose as request-content issues with evidence of the actual method/body Google’s request carried. 410 → intentional removal (confirm it should be gone). 421 → check whether it’s Google’s documented HTTP/2HTTP/2 and HTTP/3 are the modern versions of the HTTP protocol. HTTP/2 multiplexes many requests over one TCP connection; HTTP/3 swaps TCP for QUIC (over UDP) so a dropped packet only stalls the one stream it belongs to, not every stream (streams still share the connection's congestion control). Neither is a Google ranking factor — the SEO payoff is indirect, through faster real-user page speed. opt-out and what the HTTP/1.1 fallback returned. 451 → legal/policy review. A 4xx from a security layer → a block to allowlist narrowly. A would-be 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. → rate limiting, handled as server load — its report placement isn’t confirmed either way.
5. Fix by cause.
Request-framing errors → correct the source (bad/over-length URL, wrong
method, timeout) and stop linking/listing the bad URL. Request-content errors
→ confirm the actual request from logs before relaxing any limit. Intentional
410 or 421 opt-out → leave it, just clean up sitemapsA 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. and 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. (410)
or confirm the protocol fallback (421). 451 → route to legal/policy review.
Security-layer block → verify the real 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. (reverse DNS or published IP
ranges) and allowlist narrowly by identity and route, never by user-agent or a
blanket rule. 429/rate-limit → keep the rate limiting, add Retry-After as
good practice (optional per RFC 6585; not a confirmed Googlebot schedule); if
a rule is 4xx-ing Googlebot purely to throttle it, switch it to 429 or 503.
6. Validate and stop.
Confirm Test live URL now returns 200 for pages you want indexed, then
click Validate Fix on the “other 4xx” row and/or request 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. for
priority URLs. A 200 response makes the URL eligible for Google to
re-crawl and potentially reindex — it isn’t a guarantee or a fixed timeline —
so don’t bulk-request before the root cause is actually fixed, or you’ll just
re-enter the same bucket.
Ready-to-use AI prompts
Copy-paste prompts for classifying which “other 4xx” code you’re looking at and which fix applies, from raw diagnostic output. Always confirm the conclusion against your actual server/WAF config before changing anything.
Classify the code and cause from curl output
I'm diagnosing a "Blocked due to other 4xx issue" status in Google Search
Console. Below is the raw output of GET and HEAD requests to the URL (note
that curl -I alone only tests HEAD, which can differ from what Google's GET
request receives). Tell me the exact status code, and classify the likely
cause as one of: (1) a request-framing/timeout/URI-length issue (400, 405,
408, 414), (2) a request-content condition needing body evidence (411, 413,
415, 422), (3) an intentional 410 Gone, (4) a possible HTTP/2 opt-out (421),
(5) a legal/policy block (451), (6) a WAF/CDN/security-plugin block, or (7) a
mislabeled 429 rate limit. Explain which detail in the output pointed you to
that answer, and flag anything you can't determine from this output alone.
CURL OUTPUT (GET and HEAD):
[paste]Classify a WAF/server log line
I'm investigating an "other 4xx" status Googlebot is hitting on a page I want
indexed. Below is a log line (or a few) from my server/CDN/WAF showing the
blocked request. Tell me whether this looks like a bot-identity rule
(user-agent or IP based), a rate-limit/challenge rule that should really be
returning 429, or a request/validation error, and what I'd need to change or
allowlist to fix it without disabling the underlying protection.
LOG LINE(S):
[paste]Sanity-check a fix before shipping it
I'm about to change how a URL responds because it's currently returning
[status code] and showing as "Blocked due to other 4xx issue" in Search
Console. Here's what I'm about to change: [describe]. Point out anything I
might be missing — for example, whether this could accidentally expose or
re-index a page that's supposed to stay gone (a 410 I'm about to undo), or
whether I should allowlist verified Googlebot instead of loosening a security
rule for everyone. Test yourself: “Blocked due to other 4xx issue”
Five questions on what the “other 4xx” bucket means, the 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. exception, and how to diagnose and fix it. Pick an answer for each, then check.
Patrick's relevant free tools
- Raw vs. Rendered HTML Checker — See what's in your page's initial HTML versus after JavaScript runs — headless-Chrome rendering only when the page actually needs it, a rendering-strategy verdict (SSR / prerendered / CSR / hybrid), ~15 calibrated JavaScript-SEO checks (noindex, canonicals, robots.txt blocking, links, soft 404s), a side-by-side raw-vs-rendered diff, and shareable reports.
- Log File Analyzer — Drop a server access log and see crawl budget by bot and section, status-code waste, an AI-vs-search breakdown, and a spoofer report that names impostors faking a crawler user-agent. Parses nginx, Apache, IIS/W3C, and JSON logs entirely in your browser — nothing is uploaded.
Tools for diagnosing and fixing “other 4xx” statuses
- HTTP Status Checker — paste the affected URL (or a batch) to confirm the real status code behind the GSCA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. label, see the full response chain, and catch 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. that happen before the 4xx.
- Googlebot Verifier — check whether an IP claiming to be 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. is genuine (published IP ranges plus reverse-DNS confirmation) before you allowlist it past a WAF, CDN, or security plugin.
- Google Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. — URL InspectionA Google Search Console feature that reports how Google sees one specific URL on a property you own. By default it shows the last-indexed snapshot; a separate \"Test live URL\" mode fetches the current version. → Test live URL — the closest you’ll get to seeing the exact response 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. receives right now, rather than a possibly stale report row.
curl -I— the fastest way to read the raw status line for a URL, and to re-fetch with Googlebot’s 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. if you suspect a botA 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.-specific rule.- Your server/CDN/WAF’s log dashboard (Cloudflare, Akamai, Sucuri, a security plugin’s own log, etc.) — find the exact code and the rule or condition that produced it.
Common issues, by code
Each code that lands in “other 4xx” is a genuinely independent symptom-cause-fix situation — the bucket has no single root cause, so treat these as separate lookup cards rather than one chain.
400 Bad Request
Symptom: The affected URL returns 400 to a request.
Likely cause(s): A malformed or badly encoded request target, syntax problem, or Host/routing framing issue your app or edge rejects outright (bad query parametersThe `?key=value` data tacked onto the end of a URL after a question mark — used for tracking, sessions, filtering, sorting, and search — and one of the biggest sources of duplicate URLs and wasted crawling in SEO., invalid characters, unexpected routing).
Fix + check: Compare the exact request the server received against what
you meant to generate; correct the URL and stop generating or linking the
broken version. Re-check with a GET request (not just curl -I, which is
HEAD) until it returns 200.
405 Method Not Allowed
Symptom: The URL returns 405 to some requests even though the page
itself looks fine in a browser.
Likely cause(s): The HTTP method used isn’t allowed for that route — often
a server or CDN rule that only permits GET on that path but something is
sending HEAD or another method it rejects. Check the response’s Allow
header for what is permitted, and don’t assume a HEAD-only failure (like a
plain curl -I) proves GET fails the same way.
Fix + check: Allow the right method for the route. Re-test with both HEAD and GET.
408 Request Timeout
Symptom: The URL intermittently returns 408, or the connection just
hangs before returning a status.
Likely cause(s): The connection or request didn’t complete within the server, proxy, or CDN’s timeout window — this is a timing/connection issue, not evidence of general server downtime.
Fix + check: Correlate connection and request timing across the proxy/CDN/origin chain and the protocol in use. Re-test after adjusting the relevant timeout or fixing the slow origin path.
410 Gone
Symptom: The URL returns 410, and the “other 4xx” count includes pages
you’re pretty sure you deleted on purpose.
Likely cause(s): Intentional removal — this is working as designed for pages that should be gone. If the page should be live, the 410 is a mistake.
Fix + check: If intentional, remove it from sitemapsA 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. and 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. so it stops surfacing as a “problem.” If not, restore the page.
411 Length Required
Symptom: The URL returns 411 on certain requests.
Likely cause(s): The server insists on a Content-Length header on a
request that carries a body — unusual for an ordinary page GET. Confirm from
logs that the request actually had content before assuming this is a routine
crawl issue.
Fix + check: Confirm the actual method and body first; relax or correct the requirement server-side, or ensure the request includes the header. Then re-test with the same method/content.
413 Payload Too Large
Symptom: The URL returns 413, usually on requests with a body or large
headers/cookies.
Likely cause(s): The request content exceeds a size limit set by the server, CDN, or WAF — this is about the inbound request, not the page’s own response size.
Fix + check: Confirm the inbound request from logs before raising any
limit; fix whatever is generating the oversized request, or raise the limit
only if it’s genuinely too aggressive for a legitimate request. Re-test to
confirm a normal-size request now returns 200.
414 URI Too Long
Symptom: The URL returns 414, usually for a long generated or
parameterized URL.
Likely cause(s): The request URI itself exceeds a length limit — often parameter or redirectA 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.-chain generation gone wrong, not a page-content issue.
Fix + check: Fix the URL/redirect generation at the source rather than raising the limit blindly, and clean up any 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./internal-link entries pointing at the over-length pattern.
415 / 422 (Unsupported Media Type / Unprocessable Entity)
Symptom: The URL returns 415 or 422 even though the request looks
well-formed in a browser.
Likely cause(s): The server understood the request but rejected its content type or failed a validation rule on its content/instructions — atypical for a plain page GET. Confirm the actual request content before assuming this is a generic page-content problem.
Fix + check: Confirm the request from logs, then fix the validation rule
or content-type handling, or fix whatever is generating the rejected request.
Re-test until the response is 200.
421 Misdirected Request
Symptom: The URL returns 421, sometimes only over HTTP/2HTTP/2 and HTTP/3 are the modern versions of the HTTP protocol. HTTP/2 multiplexes many requests over one TCP connection; HTTP/3 swaps TCP for QUIC (over UDP) so a dropped packet only stalls the one stream it belongs to, not every stream (streams still share the connection's congestion control). Neither is a Google ranking factor — the SEO payoff is indirect, through faster real-user page speed..
Likely cause(s): The connection was misdirected — but Google also documents returning 421 as an intentional way to opt a route out of HTTP/2 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., so this isn’t automatically a broken page.
Fix + check: Confirm whether the request fell back to HTTP/1.1 and what the final response was. If this is a deliberate HTTP/2 opt-out, it doesn’t need fixing; if there’s no fallback and the page is unreachable on any protocol, fix the connection routing/SNI/Host handling.
451 Unavailable For Legal Reasons
Symptom: The URL returns 451.
Likely cause(s): A legal or policy-driven block, which may well be intentional (e.g. content restricted in certain jurisdictions) — don’t treat it as a routine geoGenerative Engine Optimization (GEO) is the practice of optimizing content and brand presence so AI-powered search engines and assistants — Google AI Overviews, ChatGPT, Perplexity — cite, recommend, or mention you when generating answers. Google's position is that it's still SEO./WAF misconfiguration.
Fix + check: Route it to whoever owns legal or content-policy decisions to confirm the block is intended. If it is, working as designed — clean up sitemaps/links pointing at it. If not, lift the block.
429 mistaken for “other 4xx”
Symptom: You expected to find a normal 4xx here but the real code turns
out to be 429.
Likely cause(s): Rate limiting429 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. kicking in on 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.’s requests. Google treats 429 as a server-overload signal, not a client error like the rest of this bucket, so a genuine 429 is plausibly reported as a crawl/server issue rather than staying labeled “other 4xx” — but Google’s documentation covers the processing behavior, not the report taxonomy, so treat the exact report placement as unconfirmed.
Fix + check: Don’t disable legitimate rate limiting — add a Retry-After
header as good practice (it’s optional per RFC 6585; Google doesn’t confirm
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. schedules its next crawl from it). If a rule is 4xx-ing Googlebot
purely to throttle it, switch that rule to 429 or 503.
Prove the fix actually worked
Once you’ve fixed the request/validation error, cleaned up an intentional 410, allowlisted verified 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., or confirmed a rate limit is handled correctly, these are the checks that separate “the config changed” from “Google can now actually reach the page.” Run them in order.
Test 1 — A fresh request now returns the expected status
- Test to run — Run
curlwith a GET request on the affected URL (matching the method Google actually uses —curl -Ialone only tests HEAD), or check it with the HTTP Status Checker. - Expected result — For a page you want indexedStoring 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., the status line reads
HTTP/1.1 200 OK. For an intentionally removed page, it’s fine for the status to stay410— the test that matters there is Test 3. - Failure interpretation — Still the original 4xx means the fix wasn’t actually applied to that path, or you’re testing the wrong URL/environment. A different 4xx than before (e.g. 400 became 403) means you’ve traded one block for another — check the WAF/CDN rule.
- Monitoring window — Immediate — the server answers as soon as the change is live.
- Rollback trigger — If loosening a validation or size rule opens up behavior you didn’t intend, put the original rule back and fix the root cause a different way (e.g. correct the request instead of raising the limit).
Test 2 — Google confirms it can now reach the page
- Test to run — Run URL InspectionA Google Search Console feature that reports how Google sees one specific URL on a property you own. By default it shows the last-indexed snapshot; a separate \"Test live URL\" mode fetches the current version. → Test live URL in Google Search Console on the affected URL.
- Expected result — For a page you want indexed, the live test succeeds
and shows
200with no 4xx reported. - Failure interpretation — If Test live URL still reports a 4xx after the
anonymous
curltest passes, suspect a rule that’s scoped specifically to 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.’s IP ranges (a WAF/CDN allowlist issue) rather than a general request problem. - Monitoring window — Immediate to a few minutes after the fix.
- Rollback trigger — N/A — this is a read-only test; if it still fails, go back to Test 1’s failure branch rather than rolling anything back.
Test 3 — The status clears (or stays intentionally flat) in the Page Indexing report
- Test to run — Use Validate Fix on the “Blocked due to other 4xx issue” row in the 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., and watch the bucket count over the following weeks (see the How to Measure tab).
- Expected result — URLs you fixed become eligible to move out of the
bucket once Google re-crawls the fixed
200— that’s not a guarantee of reindexing or a specific timeline, just eligibility. URLs with an intentional 410 stay in the bucket, but sitemapsA 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. and 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. no longer point at them. - Failure interpretation — No published retry cadence exists, so don’t read a slow validation as a new failure; if the count isn’t trending down after a couple of weeks for URLs you actually fixed, re-run Test 1 to confirm the fix is still in place (a redeploy or CDN cache can silently reintroduce the old rule).
- Monitoring window — Days to a few weeks, tracked via the bucket count.
- Rollback trigger — Only revisit the underlying fix if Test 1 starts failing again — don’t chase the 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.’s timing.
Blocked due to other 4xx issue
A 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.
Parent concept: Page Indexing report · Related: Blocked due to access forbidden (403), Crawling, Page Indexing report
Blocked due to other 4xx issue
“Blocked due to other 4xx issue” is a status in Google Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results.’s Page IndexingThe 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. report. It means 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. tried to crawl the URL and the server returned a 4xx client error that doesn’t fit any of the more specific buckets Google already breaks out — 401 (unauthorized), 403 (forbidden), and 404 (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.) each have their own row. Google’s own wording for this row is a residual reason — “a 4xx error not covered by any other issue type” — and it doesn’t publish an exhaustive list of which other codes land here. In practice, 400, 405, 408, 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., 411, 413, 414, 421, 422, and 451 are the codes that commonly turn up, but treat that as likely candidates to check for, not a guaranteed membership list. Because 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. received a client error instead of the page, the URL is not indexedStoring 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..
This status is a grab bag, and that’s the whole point: the label tells you almost nothing on its own. The first real step is always to find the actual status code — via URL InspectionA Google Search Console feature that reports how Google sees one specific URL on a property you own. By default it shows the last-indexed snapshot; a separate \"Test live URL\" mode fetches the current version.’s live test, Crawl StatsA Google Search Console report (under Settings) that shows how Google has crawled your site over the last 90 days — total requests, download size, and average response time, broken down by response code, file type, Googlebot type, and purpose. It's only available for root-level properties (a Domain property or a URL-prefix property verified at the site's root)., browser DevTools, a GET request (not just curl -I, which sends HEAD), or your server/CDN/WAF logs — because the fix for a 410 (intentional removal) is the opposite of the fix for a 400 (malformed request) or a 422 (validation failure). For 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., the result is the same as a 404: Google treats the content as if it doesn’t exist and keeps it out of (or drops it from) the index, 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..
One common myth to correct: 429 (Too Many Requests) is not treated as a normal 4xx. Google handles 429 as a server error — a signal the server is overloaded — so it slows 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. rather than dropping the page immediately. Google’s documentation covers that processing behavior, not which Page Indexing row a 429 URL is actually reported under, so treat the report placement as unconfirmed rather than assuming 429 is excluded from this bucket. The sibling 401 and 403 statuses cover authentication and firewall blocks; 410 sits close to the 404 case, with Google grouping both under the same downstream “content doesn’t exist” treatment and only a small practical timing difference between them.
Parent concept: Page Indexing report · Related: Blocked due to access forbidden (403), Crawling, Page Indexing report
Build-time retrieval analysis plus live signals for this exact article. The automatic chunk report includes a deterministic readiness score and is ready without a model download.
Search Console
sampleGA4 traffic (28d)
sampleCloudflare traffic (7d)
sampledCrUX field data (28d, phone)
sampleGoogle NLP entities
localChangelog
Updated Jul 17, 2026.
Editorial summary and recorded change details.Summary
Corrected the article's overstated 'other 4xx' membership claims and 429/410/validation certainty against fresh research, and added missing diagnostic codes (408, 414, 415, 421).
Change details
-
Reframed the code list as Google's non-exhaustive residual reason instead of an implied complete list, and added 408 Request Timeout, 414 URI Too Long, 415 Unsupported Media Type, and 421 Misdirected Request (including Google's documented HTTP/2 opt-out use) as diagnostic branches across the beginner/advanced text, cheat sheet, checklist, decision tree, troubleshooting cards, playbook, and quiz.
-
Softened claims that a 429 'usually surfaces elsewhere' and that Validate Fix/re-crawl guarantees reindexing — both now state that Google's documentation covers processing behavior and eligibility, not a confirmed report label or an indexing/timing guarantee.
-
Replaced the verbatim Mueller 410-vs-404 quotes with a paraphrase pending independent exact-wording verification, and reframed Retry-After as optional HTTP metadata rather than a confirmed Googlebot scheduling signal.
Full comparison unavailable — no prior snapshot was archived for this revision.