Blocked Due to Unauthorized Request (401)
What the Google Search Console Page Indexing status "Blocked due to unauthorized request (401)" means, how it differs from 403 under RFC 9110, the common causes, how to diagnose it as a bot, and the right fix by page type — public, private, WAF false positive, or paywalled.
2 evidence signals on this page
- Linked source dataGooglebot IP ranges (googlebot.json)
- Related live toolGooglebot Verifier
"Blocked due to unauthorized request (401)" is a Google Search Console Page Indexing status meaning Googlebot got an HTTP 401 (authentication required) when it tried to crawl the URL. Google never supplies credentials, so it can't see the page — it won't be indexed, and a previously indexed URL returning 401 eventually gets dropped. By RFC 9110, 401 means the request lacks valid credentials (none sent, or the ones sent were refused); 403 means the server understood the request and refused it, for reasons that aren't always about credentials. Google treats all 4xx except 429 the same for indexing, so the outcome matches, but the cause and fix differ by what the page actually is: remove the auth requirement on an accidentally-gated public page; let verified Googlebot through by IP/reverse-DNS (not a spoofable user-agent) on a page falsely blocked by bot security; keep authentication on genuinely private or staging content rather than opening it to clear the report; use Google's paywall structured data instead of a blanket 401 on indexable subscription content. "Loads fine in my browser" is a trap — you're authenticated; Googlebot isn't. Don't use 401/403 to throttle crawling. Diagnose with URL Inspection's Live Test and curl -I (a missing WWW-Authenticate header means the response is malformed, not proof of a WAF). Live Test and Validate Fix confirm access, not indexing — there's no published retry cadence.
TL;DR — “Blocked due to unauthorized request (401)” 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 read your page and got asked to log in. Google doesn’t have a password for your site, so it gives up and 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.. If you want that page in Google, something is gating it that shouldn’t be — usually leftover login protection, a staging-site password, or a security rule that’s blocking Google by mistake. If the page is meant to be private, this is normal and there’s nothing to fix.
What this status means
This report label means Google received an 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. authorization response for the URL. Evidence for this claim The Page Indexing report identifies URLs where Google encountered an authorization request. 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 treats a persistent 4xx response 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 for indexing. 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 see “Blocked due to unauthorized request (401)” in Google Search Console’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., it’s telling you this: 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. went to crawl the URL, and your server answered with an HTTP 401, which is the code for “authentication required” — basically “you need to log in to see this.”
Googlebot doesn’t have a username and password for your site, and it never will. So when a page demands a login, Googlebot can’t get in, can’t read the content, and can’t index the page. If the page used to be in Google and then started returning 401, Google eventually drops it from search.
Is it a problem?
It depends on whether you want that page in Google:
- You want it indexed → yes, it’s a problem. Something is putting a login wall in front of a page that should be public. You need to find what’s gating it and open it up.
- The page is private/staging → no, it’s working as intended. A 401 is a perfectly good way to keep a private area out of Google, and you shouldn’t weaken that gate just to clear this row from the report. The only thing to check is whether that URL should even be linked, sitemapped, or submitted into this 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. property.
”But the page loads fine for me!”
This is the most common confusion. You open the URL in your browser and it works — so how can Google say it’s blocked? Because you’re logged in (or your office IP is whitelisted) and Googlebot isn’t. You’re seeing the page past the gate; Googlebot is hitting the gate. To see what Google sees, you have to test the page as an anonymous visitor — the Advanced tab shows you how.
What usually causes it
- A staging or test site left behind a password.
- Login protection accidentally left on a section that should be public.
- A security tool or CDN (like Cloudflare) blocking Googlebot by mistake.
- A real login wall on content you meant to gate (members-only, etc.).
Want the real diagnosis steps, the 401-vs-403 difference, and the exact fixes? Switch to the Advanced tab.
TL;DR — “Blocked due to unauthorized request (401)” 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. got an HTTP 401 (Unauthorized) — an authentication gate it can’t pass. Google never supplies credentials, so the content is never seen: the page 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., and a previously indexed URL returning 401 gets dropped over time. 401 vs 403, precisely (RFC 9110): 401 = the request lacks valid credentials (none sent, or the ones sent were refused); 403 = the server understood the request and refused it, for reasons that aren’t always about credentials. 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 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., so the outcome converges — but the cause and fix differ, and the fix depends on what the page actually is: remove the auth requirement on an accidentally-gated public page; let 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. through by IP/reverse-DNS (never a spoofable 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.) on a page falsely blocked by 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. security; keep authentication on genuinely private or staging content; use Google’s paywall structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding., not a blanket 401, on indexable subscription content. “Loads fine in my browser” is a trap — you’re authenticated; Googlebot isn’t. Don’t use 401/403 to throttle 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.. Diagnose as a bot (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. Live Test,
curl -I) — a missingWWW-Authenticateheader means the response is malformed, not that a WAF caused it. Live Test and Validate Fix confirm access, not indexing, and there’s no published retry cadence.
What Google is actually telling you
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. label reports the response Google observed; it does not identify which authentication, CDN, or application rule produced it. Evidence for this claim The Page Indexing report identifies URLs where Google encountered an authorization request. 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 underlying indexing behavior comes from Google’s documented handling of 4xx responses. Evidence for this claim Google treats 4xx responses other than 429 as if the content does not exist for indexing. 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
The status comes straight from the server’s response code. Googlebot requested the URL and got an HTTP 401, the “Unauthorized” status — the page is behind an authentication gate (HTTP Basic Auth, a login wall, or an access-control rule). Google’s own definition 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. is that the page was blocked to Googlebot by a request for authorization, and that if you want it indexed you need to either remove the authorization requirement or let Googlebot through by verifying its identity.
In my own HTTP Status Codes & Their SEO Impact writeup I describe a 401 as the client not having identified or verified itself when needed — a useful mental model, but not the full protocol definition. The precise rule, from RFC 9110: a 401 means the request lacks valid authentication credentials for the resource, and it can also follow credentials the server refuses — so a 401 doesn’t always mean Googlebot (or a browser) sent nothing at all, just that whatever was presented wasn’t valid. Either way the practical outcome for Googlebot is the same: it has no credentials to offer, so it never gets past the gate.
What Google does with a 401
Nothing good, if you wanted the page indexed. Google’s HTTP-status documentation is explicit that all 4xx errors except 429 are treated the same — the crawlersA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. inform the next processing system that the content doesn’t exist. So a 401 effectively tells Google “there’s nothing here.” The consequences:
- The page won’t be indexed. Google never saw content, so there’s nothing to index.
- A previously indexed page gets dropped. This isn’t unique to 401 — it’s the 4xx family behavior. As I put it in the Ahrefs HTTP status codes writeup, 4xxs will cause pages to drop from the index. A 401 that appears on a page Google had already indexed will, over repeated crawls, lead to that URL falling out.
- It does not throttle 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.. Google says plainly: don’t use 401 and 403
status codes for limiting the 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.. 4xx (except 429) has no crawl-rate
effect, so you can’t use a 401 as a “slow down” lever — that’s what
503/429are for.
One thing I’m not going to give you is a specific retry cadence. Google re-crawls over time, but the docs don’t publish a guaranteed “Googlebot retries a 401 every N days” schedule, so I won’t pretend one exists. Treat re-crawl as “it’ll come back around, eventually,” not a stopwatch.
401 vs 403 vs other 4xx — the part that matters
This is the distinction most write-ups blur, and it’s where the real value is. For indexing, Google handles 401 and 403 identically (the 4xx-except-429 rule). But the cause and fix are different because the codes mean different things:
- 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., by the RFC 9110 definition — the request lacks valid
authentication credentials for the target resource. That covers two cases:
no credentials were sent at all, or credentials were sent and the server
refused them. A conformant 401 response must carry a
WWW-Authenticateheader naming at least one challenge. My own compact version — “the client hasn’t identified or verified itself when needed” — is a useful shorthand for the common case, but treat it as a mental model, not the exhaustive rule. - 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., by the same RFC — the server understood the request but refuses to fulfill it. Credentials are one possible reason, but the spec is explicit that a request “might be forbidden for reasons unrelated to the credentials.” So 403 does not always mean “the client is known/authenticated but lacks rights” — that’s a common real-world pattern, not a guarantee. On Google’s Page Indexing report specifically, a 403 to Googlebot (which never sends credentials) usually does mean the server is returning that error incorrectly — often a misconfigured firewall, WAF, or bot rule. (There’s a sibling Blocked due to access forbidden (403) status for that one; the diagnosis flow overlaps heavily.)
The practical mental shortcut still holds for triage: 401 ≈ “an auth gate I forgot to lift” (a staging site, leftover HTTP auth), while 403 ≈ “a security rule wrongly blocking Googlebot.” Same indexing outcome, different root cause — just don’t treat either shorthand as the protocol’s actual boundary. The decision table is in the Cheat Sheets tab.
Why you’re seeing it — the common causes
On a page you actually want indexed, a 401 is almost always one of these:
- A staging or dev site behind Basic Auth. You password-protected a staging environment (the right instinct), but Google discovered the URL somehow — an internal linkAn 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 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 leaked reference — and is now reporting the 401. If the staging URL genuinely shouldn’t be public, this is expected (see the intentional-401 section).
- Accidental HTTP auth on a public section. A
.htpasswdrule, a “coming soon” plugin, or a maintenance-mode gate left switched on over a directory that’s supposed to be live. - A WAF / CDN / IP-allowlist blocking Googlebot. This is the sneaky one. Cloudflare, Akamai, Sucuri, or a geoGenerative Engine Optimization — visibility inside AI answer engines./IP allowlist returns 401 (or 403) to Googlebot’s IPs while serving humans fine. The page “works for everyone” because everyone testing it is coming from an allowed IP.
- A login wall on subscription or paywalled content you actually want indexed. A blanket 401 keeps Googlebot out entirely — the fix isn’t to weaken the gate, it’s Google’s supported paywall structured data (see the fourth branch below).
How to diagnose it — test as a bot, not a browser
The single biggest trap here is “it works for me.” Of course it does — you’re authenticated, or your IP is on the allowlist, or your browser has a session cookie. Googlebot has none of that. So diagnose like a bot:
-
URL Inspection → Live Test (GSC). This is the closest you’ll get to seeing the real response Googlebot receives. Run it on the affected URL; if it can’t fetch because of authorization, you’ve confirmed the 401 is real and reproducible.
-
curl -Ifrom an unauthenticated context. Request the URL with no cookies and no credentials and read the status line:curl -I https://www.example.com/page/ # Look for: HTTP/1.1 401 Unauthorized # and a WWW-Authenticate: header confirming an auth gateIf
curl(which sends no session and no auth) gets a 401 while your browser gets a 200, that gap is the bug — your browser is authenticated and Googlebot isn’t. RFC 9110 requires a conformant 401 to carry aWWW-Authenticateheader — its presence confirms a real auth challenge. Its absence doesn’t hand you the answer, though: it tells you the response is malformed or incomplete, not which layer produced it. Don’t jump straight to “it must be the WAF” from a missing header alone. -
Check whether it’s IP-scoped. If
curlfrom your own machine returns 200 but GSC’s Live Test fails, that’s a real signal something is keyed to source IP or request routing — but confirm it by comparing edge/CDN logs, origin logs, the application layer, and any identity provider before naming the WAF as the cause. A HEAD request (whatcurl -Isends) can also route or cache differently than a GET, so cross-check with an anonymous GET too.
A Googlebot user-agent string is only a claim. Check the source IP against published ranges before opening a WAF rule; then diagnose the 401 separately.
Spot-check whether a claimed crawler request matches the operator's published ranges with my free Googlebot Verifier Free
- Take the source IP and claimed user-agent from the same blocked request in the WAF or access log.
- Verify the IP against published crawler ranges rather than trusting the user-agent alone.
- Only after identity is established, inspect the authentication or IP rule that returned 401 and retest the live URL.
The Googlebot Verifier result lists IP address 203.0.113.9 with a Googlebot user-agent claim. The published-range result is mismatch, and the row is labeled for a spot-check.
How to fix it — four branches, by what the page actually is
There isn’t one fix — there are four, and picking the wrong one either exposes content you meant to protect or leaves an indexable page permanently gated. Sort the URL into one of these before touching any config:
1. Genuinely private or staging content → keep the authentication, don’t touch it. If the URL truly shouldn’t be public, the 401 is working as designed — server-side authentication is a legitimate, Google-recommended way to keep content away from everyone, Googlebot included. John Mueller has made this point for staging sites: the right way to hide a site is server-side authentication, by IP, a cookie, or normal server auth, so that normal users — and that includes Googlebot — are blocked from seeing the content. Don’t allowlist Googlebot through a gate that’s protecting genuinely private content just to clear this report row; that defeats the point of the gate. The fix here is discovery hygiene, not access: confirm the URL isn’t linked, sitemapped, or submitted into this Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance. property, and leave the authentication in place.
2. A public page accidentally gated → remove the authorization requirement. If the page should be indexed and the gate is a leftover — Basic Auth, a login wall, a maintenance-mode plugin — turn it off for that path. This is the straightforward case: once an anonymous request gets a 200, the page is open to Googlebot.
3. A public page falsely blocked by bot security → admit verified Googlebot, not the literal user-agent string. When a WAF, CDN, or IP-allowlist is rejecting Googlebot on a page you actually want public, allowlist verified Googlebot by IP / reverse-DNS. The user-agent is trivially spoofable; anyone can claim to be Googlebot. Google’s recommended path is to verify the crawler by its published IP ranges or a reverse-then-forward DNS check, then allow those specific requests past the gate — you’re not removing the security rule, you’re carving out a verified exception to it. To fix the false positive itself:
- Identify the rule returning 401/403 to Googlebot (Cloudflare Firewall Events, Akamai/Sucuri logs, or your own edge/origin/application logs).
- Allowlist Google’s verified IP ranges (or the bot category) rather than disabling protection wholesale.
- Re-test with URL Inspection Live Test until Google can fetch.
4. Subscription or paywalled content you want indexed → don’t use a blanket
401 at all. If the page is registration- or subscription-gated but you want
it discoverable in Search, a hard 401 is the wrong tool regardless of cause —
Googlebot still can’t fetch it. Google documents a supported paywall
implementation instead: serve the page with the appropriate paywalled-content
structured data (isAccessibleForFree, hasPart, and the related properties) so
Google can index the free-preview portion without you having to open the whole
page. That’s a markup and server-response change, not an auth-gate change.
Validate the fix and set expectations
Once you’ve genuinely opened the page (and confirmed with curl/Live Test that an
unauthenticated request now returns 200), be precise about what each step actually
confirms:
- Live Test confirms access, not indexing. Google’s own URL Inspection documentation says the live test only confirms whether Google-InspectionTool can currently access and parse the page — there’s no test that guarantees the page will end up in the index or appear in Search results. A passing Live Test means the gate is open; it doesn’t promise anything about what happens next.
- Validate Fix is optional, not required. Google updates the issue count whenever it recrawls a page, whether or not you clicked Validate Fix. Use it for your own tracking on a real correction — don’t validate a URL that’s supposed to stay private, and don’t treat validation itself as something that speeds up re-indexing.
- Don’t expect instant re-indexing. Re-crawl and re-index take time, and — as noted above — there’s no published retry cadence I’ll quote you. Monitor the actual indexed result and search performance separately from the report status; neither Live Test nor Validate Fix guarantees canonical selection or search appearance.
- A myth to drop on the way out: a 401 in GSC is not a penalty or a manual action. It’s a crawl-access status. It doesn’t hurt rankings of your other pages and it doesn’t “blacklist” your site — it just keeps the gated page out of the index.
Where this sits
This is one of the HTTP-status statuses in the Page Indexing report — siblings include Blocked due to access forbidden (403), the other 4xx and 404 statuses, and the 5xx server-error status. For the report itself and how to read the “Why pages aren’t indexed” table, see the Page Indexing report hub. The underlying mechanics — how Googlebot fetches and what status codes mean to it — are covered in crawling and indexing.
AI summary
A condensed take on the Advanced version:
- What it is. A 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. 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 meaning 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 an HTTP 401 (Unauthorized) — an authentication gate it can’t pass. Google supplies no credentials, so it never sees the content.
- What Google does. 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.; a previously indexed URL returning 401 gets dropped over time. 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 is told “the content doesn’t exist.” 4xx has no crawl-rate effect, so don’t use 401/403 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..
- 401 vs 403401 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., precisely. By RFC 9110: 401 = the request lacks valid credentials (none sent, or the ones sent were refused); 403 = the server understood the request and refused it, for reasons that aren’t always about credentials. “401 = auth gate, 403 = security rule wrongly blocking Googlebot” is a useful triage shortcut, not the exhaustive protocol rule.
- Common causes (on pages you want indexed): staging site behind Basic Auth, accidental HTTP auth on a public section, a WAF/CDN/IP-allowlist excluding Googlebot, or a login wall on subscription/paywalled content.
- “Loads for me” is a trap. You’re authenticated or IP-allowlisted; Googlebot
isn’t. Diagnose as 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.: 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. Live Test and
curl -I(no cookies, no auth) — a 401 there confirms it. AWWW-Authenticateheader confirms a real auth gate (RFC 9110 requires it on a conformant 401); its absence just means the response is malformed — check edge, origin, application, and identity-provider logs before blaming a WAF. - Fix by what the page is, not one universal fix. Public page accidentally gated → remove the authorization requirement. Public page falsely blocked by bot security → allowlist verified Googlebot by IP/reverse-DNS (never the spoofable user-agent string), without disabling the rule wholesale. Genuinely private/staging content → keep the authentication; never open it just to clear this report row — only clean up its discovery (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/property). Indexable subscription/paywalled content → use Google’s paywall structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding. instead of a blanket 401.
- Validate & wait, without over-promising. Live Test confirms current access only, not 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.. Validate Fix is optional — Google updates the count on its next recrawl regardless. Re-indexing takes time, there’s no published retry cadence, and neither step guarantees indexing, canonical selection, or search appearance. A 401 is not a penalty.
Official documentation
Primary-source documentation from the search engines.
- Page Indexing report — the report itself and the definition of the “Blocked due to unauthorized request (401)” status (plus the 403 sibling and the other HTTP-status statuses).
- How HTTP status codes, and network and DNS errors affect Google Search — what GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. does with a 401: the 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. handling and the “don’t use 401/403 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.” rule.
- Verifying Googlebot and other Google crawlers — the recommended way to allowlist 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.: verify by IP / reverse-DNS, not by 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. string.
- Googlebot IP ranges (googlebot.json) — the published IP ranges to allowlist past a WAF/CDN.
Bing / Microsoft
- Bing Webmaster Tools Help — Bing doesn’t surface an identical status string, but a URL returning 401/403 is likewise treated as inaccessible and 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.; 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. also needs to reach the page anonymously and publishes verified IP ranges / reverse-DNS verification for the same allowlist fix.
Quotes from the source
On-the-record statements. Each link is a deep link that jumps to the quoted passage on the source page.
Google — what the 401 status means (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.)
- “The page was blocked 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. by a request for authorization (401 response). If you do want 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 be able to 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. this page, either remove authorization requirements for this page, or else allow Googlebot to access your pages by verifying its identity.” — 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. Help, 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.. Jump to quote
Google — what Googlebot does with a 401 (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. doc)
- “All 4xx errorsThe 4xx (client error) and 5xx (server error) HTTP status codes a server returns instead of a successful 2xx — and how Google treats each class very differently., 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 crawlersA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. inform the next processing system that the content doesn’t exist.” — Google Search Central docs. Jump to quote
- “Don’t use 401 and 403 status codes for limiting the 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..” Jump to quote
Patrick Stox — my own 401/403 definitions and the 4xx index impact
- “The client hasn’t identified or verified itself when needed.” (401) — 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
- “The client is known but doesn’t have access rights.” (403) Jump to quote
- “4xxs will cause pages to drop from the index.” Jump to quote
John Mueller, Google — server-side auth is the right way to gate a site
- “Ideally, what you would want to do is provide some kind of server side authentication on the server so that normal users when they go there they would get blocked from being able to see the content; that would include GoogleBot.” (Webmaster Hangout, Sep 25 2019, relayed via Search Engine Journal.) Read the coverage
401 diagnosis & fix checklist
Run this when 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. flags “Blocked due to unauthorized request (401)”:
- Decide intent first — do you actually want this URL 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.? If it’s genuinely private/staging, the 401 is correct; skip to the last item. If it’s subscription/paywalled content you do want indexed, skip the auth-removal steps and use the paywall structured-data fix instead.
- Reproduce as 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. — 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. → Live Test on the URL and confirm the authorization failure (don’t trust your logged-in browser).
-
curl -Iwith no cookies/credentials — confirm it returns401and look for aWWW-Authenticateheader. A 401 here while your browser gets 200 is the bug. A header confirms a real auth gate; its absence flags a malformed response, not the layer that produced it. - Identify the gate — check edge/CDN, origin, application, and identity
logs to narrow it down: Basic Auth (
.htpasswd), a maintenance/“coming soon” plugin, a login wall, or a WAF/CDN/IP-allowlist rule. - If it’s a WAF/CDN — check firewall events for the rule blocking Google; allowlist 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. IP ranges, don’t disable protection wholesale.
- Fix by the right method — remove the auth requirement on an accidentally gated public page, or allow 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. by IP / reverse-DNS (never by the spoofable 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. string) for a bot-security false positive. Never allowlist Googlebot through a gate that’s protecting genuinely private content.
- Re-test —
curl -I(still unauthenticated) now returns200, and URL Inspection Live Test can fetch. - Validate Fix (optional) 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 re-inspect a sample URL — Google updates the count on its next recrawlCrawl frequency is how often a search engine comes back to re-fetch a page it already knows about. Popular pages that change often get refreshed many times a day; stable pages can go weeks or months between crawls — and you influence it indirectly, not by setting a dial. either way; a passing Live Test confirms access, not 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..
- Set expectations — re-crawl/re-index takes time; no guaranteed retry cadence, and no guarantee of indexing or search appearance. It’s not a penalty.
- If intentional — confirm the staging/private URL shouldn’t be in this property (stop linking/submitting it), and leave the gate in place.
401 vs 403 vs other 4xx — cheat sheet
What each code actually means (and the typical cause)
| Code | RFC 9110 meaning | Auth state | Typical cause on 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. |
|---|---|---|---|
| 401 Unauthorized | Request lacks valid authentication credentials — none sent, or the ones sent were refused | No valid credentials (missing or refused) | Staging Basic Auth, accidental HTTP auth, login wall |
| 403 Forbidden | Server understood the request but refuses it; the RFC explicitly allows reasons unrelated to credentials | Not defined by the code alone — “known but lacks rights” is common, not universal | WAF/CDN/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. rule wrongly 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. |
| 404 / 410 | ”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. / gone.” | n/a | Real removal (410 drops a touch faster) |
| 5xx | ”Server error / try later.” | n/a | Server health — slows crawl, doesn’t permanently deindexDeindexing means getting a URL to stop appearing in Google's search results. There's no single delete button — the right method depends on whether you own the page, whether removal is temporary or permanent, and whether the content should still exist. on its own |
How Google treats them 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.
| Code | Indexing outcome | Crawl-rate effect |
|---|---|---|
401 / 403 | Content “doesn’t exist” → not indexed; previously indexed URLs dropped over time | None — don’t use them to throttle |
Other 4xx (except 429) | Same as above | None |
429 | Treated differently (rate signal) | Slows the crawl |
503 | Temporary | Slows the crawl |
The fix-it map
| Symptom | Likely cause | Fix |
|---|---|---|
| 401 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., page loads in your browser | You’re authenticated / IP-allowlisted; 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. isn’t | Test with curl -I (no cookies); fix the gate, not GSC |
| 401 on a public page | Leftover Basic Auth / maintenance gate | Remove the authorization requirement |
| 401/403 only to Googlebot’s IPs | WAF/CDN/IP-allowlist excluding Google | Allowlist verified Googlebot IP ranges |
| 401 on a staging URL in production GSC | Intentional gate, wrong property | Keep the gate; stop submitting/linking that URL |
| 401 on subscription/paywalled content you want indexed | Blanket auth gate on content meant to be discoverable | Use Google’s paywalled-content structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding., not a hard 401 |
Two official fixes for a public page wrongly gated (Google’s wording)
- Remove the authorization requirement for the page.
- Let Googlebot through by verifying its identity — allowlist by IP / reverse-DNS, not by the (spoofable) 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. string.
Neither applies to genuinely private/staging content (keep the gate) or to indexable paywalled content (use the paywall markup instead of opening the gate).
The mental models
1. Gate vs. content. A 401 isn’t a content problem — 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. never reached the content. It’s a gate problem. So you don’t edit the page; you change what the gate does to an unauthenticated 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.. Always separate “is the page good?” from “can 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. get past the door?”
2. Intent decides everything. Before any fix, answer one question: should this URL 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.? If yes, a 401 is a misconfiguration to remove. If no, the 401 is working as designed and the real question is why that URL is even in this 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. property. Don’t fix a 401 that’s doing its job.
3. Test as a bot, not as yourself.
“It works for me” is the default failure of judgment here. You carry a session, a
cookie, an allowlisted IP. Googlebot carries none of that. Every diagnosis starts by
stripping that away — curl -I with no credentials, or 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.
4. 401 vs 403401 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. — same outcome, different door. 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. they’re identical (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.). By the RFC, 401 = the request lacks valid credentials (none sent, or the ones sent were refused); 403 = the server understood the request and refused it, for reasons that may or may not be about credentials. Treat “401 = auth gate I control, 403 = security rule misfiring” as the practical triage shortcut, not the protocol’s actual boundary — it’s right often enough to be useful, but the RFC’s wording is what’s actually true. Diagnose toward the door: 401 → look at auth/staging; 403 → look at the WAF/firewall.
5. Verify the bot, don’t trust the name. The fix that bites people later is “allowlist the Googlebot 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..” That string is free for anyone to claim. The durable fix is identity by IP / reverse-DNS — allow the bot you can prove is Googlebot, not the one that merely says so.
Diagnosing a 401: intentional gate or misconfiguration?
The first fork is intent, not technology — decide whether the URL should 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. before you touch any config. Once you know it’s a real misconfiguration, the second fork is whether you’re looking at a login wall you forgot to lift or a WAF/CDN rule that’s 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. by accident. Click through it.
Should I fix this 401, and if so, which gate is it?
Track the 401 bucket, not just its existence
The one number worth watching is how many URLs sit in the “Blocked due to unauthorized request (401)” 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, not just whether the row exists — a single snapshot can’t tell you whether you’re fixing the problem or accumulating more gated URLs.
401-bucket count over time
- Metric — The count of URLs under “Blocked due to unauthorized request (401)” 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.
- What it tells you — Whether a fix actually worked and whether new 401s are creeping in. After you remove an auth requirement or allowlist 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., this count should fall toward zero for the URLs you fixed. For URLs that are intentionally gated (staging, private sections), the count should stay flat — a rising count there usually means new staging/private URLs are getting linked or sitemapped into this property by mistake.
- 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 401 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. → Live Test to confirm they’re not a stale snapshot.
- Benchmark / realistic range — There’s no universal target — it depends entirely on how many pages you intentionally gate. The honest bar: zero 401s among URLs you want indexed, and a flat (not growing) count for URLs you deliberately keep behind auth. 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.
Runbook: diagnose, fix, validate
The 401 workflow is a short, ordered loop — don’t skip straight to “fix” before you’ve confirmed intent and reproduced the block as 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..
1. Decide intent first. Should this URL actually 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.? If it’s genuinely private or staging, stop here — the 401 is correct, and the only follow-up is making sure the URL isn’t linked or sitemapped into this property; don’t weaken the gate. If it’s subscription/paywalled content you do want indexed, skip to the paywall structured-data fix instead of touching the auth gate.
2. Reproduce it as a bot, not as yourself.
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. → Live Test 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., and separately request the URL with
curl -I using no cookies and no credentials. If curl gets a 401 while your
logged-in browser gets a 200, that gap is the bug — you’re authenticated or
IP-allowlisted, 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. isn’t.
3. Identify the gate.
Check whether the anonymous response carries a WWW-Authenticate header — a
conformant 401 must include one, so its presence confirms a real auth gate
(Basic Auth, login wall, maintenance mode503 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.). Its absence doesn’t hand you the
cause; it means the response is malformed, so cross-check edge/CDN, origin,
application, and identity-provider logs before concluding it’s a WAF/CDN/
allowlist rule.
4. Fix by cause. Auth gate on an accidentally-public page → remove the authorization requirement for that path. WAF/CDN rule falsely blocking a public page → allowlist 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. by IP or reverse-DNS in the firewall, never by the spoofable 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. string alone. Never allowlist Googlebot through a gate protecting genuinely private content.
5. Validate.
Re-run the same anonymous curl -I and confirm it now returns 200. Validate
Fix 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. is optional tracking — Google updates the
issue count on its next recrawl regardless — and URL Inspection’s Live Test only
confirms Google-InspectionTool can currently access the page, not that it will
be indexed.
6. Set expectations and stop. Re-crawl and re-index take time, there’s no published retry cadence, and neither Live Test nor Validate Fix guarantees 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. or search appearance — don’t “fix” the same URL twice while waiting. If the 401-bucket count in GSC isn’t trending down after a couple of weeks, go back to step 2 and re-reproduce rather than guessing at a new cause.
Ready-to-use AI prompts
Copy-paste prompts for classifying a 401 from raw diagnostic output. These help you triage the likely cause fast — always confirm the conclusion against the actual server/firewall config before changing anything.
Classify the likely cause from curl output
I'm diagnosing a "Blocked due to unauthorized request (401)" status in Google
Search Console. Below is the raw output of an unauthenticated request to the
URL (curl -I, no cookies, no credentials). Based on this output alone,
classify the most likely cause as one of: (1) staging/dev site behind Basic
Auth, (2) accidental HTTP auth or maintenance-mode gate left on a public
section, (3) WAF/CDN/IP-allowlist blocking Googlebot, (4) a login wall on
content that's meant to be gated. Explain which specific header or detail in
the output pointed you to that answer, and tell me what's missing if you
can't tell for sure.
CURL OUTPUT:
[paste]Classify the cause from a WAF/firewall log line
I'm investigating why Googlebot is getting a 401 or 403 on a page I want
indexed. Below is a log line (or a few) from my WAF/CDN showing a blocked
request. Tell me whether this looks like a bot-identity rule (blocking by
user-agent or IP range), a rate-limit/challenge rule, or something else, and
what I'd need to allowlist — by IP range or reverse-DNS — to let verified
Googlebot through without disabling the rule entirely.
LOG LINE(S):
[paste]Sanity-check a fix before shipping it
I'm about to remove an authorization requirement from a URL that's currently
returning 401 to Googlebot, because I want it indexed. Here's a short
description of the current gate and what I'm about to change: [describe].
Point out anything I might be missing — e.g. whether this could accidentally
expose a section I meant to keep private, or whether I should allowlist
verified Googlebot instead of removing the auth requirement outright. Test yourself: “Blocked due to unauthorized request (401)”
Five questions on what a 401 means, how it differs from a 403, and how to diagnose and fix it. Pick an answer for each, then check.
Reproduce the 401 as an anonymous request
The point of these checks is the same one the Advanced tab makes: your browser is authenticated, 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. isn’t. Strip out cookies and credentials entirely and see what an anonymous client actually gets.
macOS / Linux
# Fetch headers only, with no cookies and no credentials
curl -sI https://www.example.com/page/
# Look for:
# HTTP/1.1 401 Unauthorized
# WWW-Authenticate: Basic realm="..." <- confirms a real auth gateWindows (PowerShell)
# -SkipHttpErrorCheck so PowerShell shows the 401 instead of throwing
Invoke-WebRequest -Uri "https://www.example.com/page/" -Method Head `
-SkipHttpErrorCheck | Select-Object StatusCode, Headers
# Check the Headers output for WWW-AuthenticateIf this returns 401 with a WWW-Authenticate header, you’ve confirmed a real
authentication gate (Basic Auth, login wall) — RFC 9110 requires a conformant
401 to send that header. If it returns 401/403 with no
WWW-Authenticate header, that tells you the response is malformed or
incomplete, not which layer produced it — the header’s absence alone doesn’t
prove a WAF or CDN. If the block also only happens from outside your own
network, that IP-scoping is the stronger lead toward a WAF/CDN/IP-allowlist
rule; confirm it in the firewall/CDN logs, re-test from a different network, or
use 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 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. Live Test, which requests as 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. itself.
Verify a bot is really Googlebot (before you allowlist)
Before you open a WAF rule to let a “Googlebot” request through, confirm the IP is genuinely Google’s — plenty of traffic spoofs the user-agentA user agent is the HTTP request header a client (browser, crawler, or bot) sends to identify itself. For crawlers, a short user-agent token — a substring of that string — is what robots.txt rules actually target. string.
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, don’t allowlist it — it isn’t Googlebot. You can also check the IP against Google’s published ranges (googlebot.json), or verify it directly with the Googlebot Verifier tool. Allowlist by verified identity, never by the user-agent string alone.
Patrick's relevant free tools
- Website Down Checker — Check whether one URL or a small sample is reachable right now from one Cloudflare location, with response timing, redirects, DNS fallback evidence, and connection-status details.
- 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.
Tools for diagnosing and fixing a 401
- HTTP Status Checker — paste the affected URL (or a batch) to confirm the status code, see the full response chain, and catch anything that 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. before it hits the auth gate.
- 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 or firewall rule.
- 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. → Live Test — 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, including whether it’s currently blocked by authorization.
curl -I— the fastest way to request a URL with no cookies or credentials and read the raw status line and headers, includingWWW-Authenticate.- Your WAF/CDN’s firewall event log (Cloudflare, Akamai, Sucuri, etc.) — find the specific rule returning 401/403 to Googlebot’s IP ranges.
Prove the fix actually worked
Once you’ve removed an auth requirement or 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., these are the checks that separate “the config changed” from “Google can now actually reach the page.” Run them in order.
Test 1 — An anonymous request now returns 200
- Test to run — Run
curl -Iwith no cookies or credentials on the affected URL (or check it with the HTTP Status Checker). - Expected result — The status line reads
HTTP/1.1 200 OKwith noWWW-Authenticateheader. - Failure interpretation — Still
401means the auth requirement wasn’t actually removed for that path, or you’re testing the wrong URL/environment. A403instead of401means you’ve traded one gate for another — check the WAF/CDN rule. - Monitoring window — Immediate — the server answers as soon as the change is live.
- Rollback trigger — If removing the gate exposes content you meant to keep private, put the auth requirement back immediately and allowlist 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. by IP/reverse-DNS instead.
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 — The live test succeeds and shows the page content — no authorization failure reported. This confirms Google-InspectionTool can currently access and parse the page — it’s an access result, not an 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. guarantee; Google’s own docs say the live test doesn’t test every 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. condition and a pass doesn’t guarantee inclusion in the index.
- Failure interpretation — If Live Test still reports an authorization
block after the anonymous
curltest passes, suspect a rule that’s IP-scoped specifically to Googlebot’s ranges (a WAF/CDN allowlist issue), not a general auth gate. - 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 401 status clears in the Page Indexing report
- Test to run — Use Validate Fix (optional — Google updates the count on its next recrawlCrawl frequency is how often a search engine comes back to re-fetch a page it already knows about. Popular pages that change often get refreshed many times a day; stable pages can go weeks or months between crawls — and you influence it indirectly, not by setting a dial. regardless) on the “Blocked due to unauthorized request (401)” issue 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 — The URL moves out of the 401 bucket, and — if it was previously indexed — reappears in the index over time. Neither Validate Fix nor a passing Live Test guarantees indexing, canonical selectionHow search engines pick one canonical URL among duplicates and consolidate signals onto it., or search appearance — track the actual indexed state and search performance separately.
- Failure interpretation — No published retry cadence exists, so don’t read a slow validation as a new failure; if the count in the 401 bucket isn’t trending down after a couple of weeks, re-run Test 1 to confirm the fix is still in place (a redeploy or CDN cache can silently reintroduce the gate).
- Monitoring window — Days to a few weeks, tracked via the 401-bucket count.
- Rollback trigger — Only revisit the gate itself 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 unauthorized request (401)
A Google Search Console Page Indexing status: Googlebot was refused with an HTTP 401 (authentication required), so the page is gated and can't be indexed.
Parent concept: Page Indexing report · Related: Crawling, Indexing, Page Indexing report
Blocked due to unauthorized request (401)
“Blocked due to unauthorized request (401)” is a 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. 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. 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 but the server answered with an HTTP 401 (Unauthorized) — the page sits behind an authentication gate (HTTP auth, a login wall, or an access-control rule) 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. couldn’t get past. Because Googlebot never sees the content, the page 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., and a URL that was previously indexed and then starts returning 401 eventually gets dropped from the index.
By RFC 9110, a 401 means the request lacks valid authentication credentials — either none were sent, or the ones sent were refused. A 403 (Forbidden) means the server understood the request but refused it, for reasons the spec explicitly says aren’t always about credentials — “the client is known but lacks access rights” is a common real-world pattern, not the universal definition. 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 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., so the outcome is identical — but the cause and the fix differ, which is why the 401-vs-403 distinction matters.
The right fix depends on what the page actually is, not one universal move: remove the authorization requirement on a public page that was accidentally gated; allowlist verified Googlebot by IP/reverse-DNS (never a spoofable 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.) on a page falsely blocked by a WAF/CDN/IP-allowlist; keep the authentication in place on genuinely private or staging content — don’t open it just to clear this report row, only clean up its discovery via 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 links; and use Google’s paywall structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding., not a blanket 401, on subscription content you want indexed.
Parent concept: Page Indexing report · Related: Crawling, Indexing, 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
Revision history
Compare the published article with an archived editorial snapshot. Added and removed words are shown only after you open a comparison.
Updated Jul 17, 2026.
Editorial summary and recorded change details.Summary
Sharpened 401-vs-403 to RFC 9110's precise definitions and split the fix into four branches by page type instead of two universal options.
Change details
-
Replaced the two-option fix ('remove auth' or 'let verified Googlebot through') with four explicit branches: accidentally-gated public page, WAF/CDN false positive, genuinely private/staging content (never opened to clear the report), and indexable paywalled content (Google's paywall structured data instead of a blanket 401).
-
Qualified that a missing WWW-Authenticate header on a 401 shows a malformed response, not proof that a WAF or CDN generated it — added cross-layer log checks before naming a cause.
-
Clarified that URL Inspection's Live Test and Validate Fix confirm current access only, not indexing, canonical selection, or search appearance.