Redirect Error (GSC Status)
What the "Redirect error" status in Google Search Console's Page Indexing report means — Google's four causes (chain too long, loop, max URL length, bad/empty URL), how it differs from the normal "Page with redirect," and how to diagnose and fix it.
1 evidence signal on this page
- Related live toolRedirect Checker
"Redirect error" is a Google Search Console Page Indexing status that means Googlebot couldn't follow a redirect for the URL, so the page wasn't indexed. Google names four causes: a redirect chain that was too long, a redirect loop, a redirect URL that exceeded the max URL length, or a bad/empty URL in the chain. It's a broken redirect you must fix — and it's different from "Page with redirect," a normal working redirect. Diagnose by tracing the chain, then pick the fix that matches the intended behavior. Google's current docs publish a 10-hop ceiling and recommend no more than 3/fewer than 5 when chains are unavoidable. Mueller's dated 2014 and 2020 statements describe roughly five hops per crawl; the 2014 statement also described continuing the remainder later. Treat those as historical representative guidance, not a current scheduling guarantee. Patrick's roughly five-hop cutoff is an independent practitioner threshold. Aim for one hop regardless.
TL;DR — “Redirect errorA Google Search Console Page Indexing status meaning Googlebot couldn't follow a redirect — a chain too long, a loop, a URL over the max length, or a bad/empty URL in the chain. It's a broken redirect to fix, not the normal \"Page with redirect.\"” in 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. means Google tried to follow a 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. for your page but couldn’t — the redirect was broken in some way — so the page didn’t get 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.. It’s something to fix. Don’t confuse it with “Page with redirectA Google Search Console Page Indexing status for a URL that redirects elsewhere. It's not indexed by design because it's a redirect — the destination is a separate question, and Google says the target may or may not end up indexed — usually expected, not an error (unlike the separate \"Redirect error\").,” which is a normal redirect that’s working fine.
What “Redirect error” means
This label means Google encountered a redirect it could not successfully follow to a destination. Evidence for this claim Google reports Redirect error when it could not process a redirect to a destination. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: Page indexing report Google’s report lists long chains, loops, excessive URL length, and bad or empty redirect URLs as examples. Evidence for this claim Google lists overly long chains, loops, excessive redirect URL length, and bad or empty redirect URLs for this report status. 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
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 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. (it’s under “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.” in the left menu), Google groups the URLs it didn’t index by reason. Redirect error is one of those reasons.
It means Google 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 redirect on your URL — a rule that sends visitors from one address to another — and tried to follow it, but couldn’t get to the end. Maybe the redirect pointed to another redirect, which pointed to another, on and on. Maybe two pages redirect to each other in a loop. Maybe the address it was sent to was broken or empty. Whatever the cause, Google gave up, so the page can’t be indexed.
The one thing people get wrong
There’s a different status called “Page with redirectA Google Search Console Page Indexing status for a URL that redirects elsewhere. It's not indexed by design because it's a redirect — the destination is a separate question, and Google says the target may or may not end up indexed — usually expected, not an error (unlike the separate \"Redirect error\").” — and people mix the two up constantly. Here’s the difference in plain terms:
- Redirect error = a broken redirect Google couldn’t follow. You need to fix this.
- Page with redirect = a normal, working redirect. Google followed it fine; the URL just isn’t the “main” version, so it isn’t indexed (the page it points to might be). This is not an error and usually needs no action.
So if you see “Page with redirect,” don’t panic — that’s often exactly what you want. “Redirect error” is the one that means something’s actually broken.
What to do about it
The fix is almost always the same idea: make the redirect go straight to the final page in one hop, instead of bouncing through a chain or looping.
- Open the URL Inspection toolA 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. in Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance. (or just visit the URL in your browser) to see what’s happening.
- Find where the redirect breaks — the loop, the broken address, or the long chain.
- Replace it with a single redirect (a 301) pointing directly at the final, working page.
- Update your own 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 they point at that final page too.
- Back in Search Console, click Validate Fix to ask Google to re-check.
Want the technical version — Google’s exact four causes, how to trace a chain on the command line, and the truth about how many redirects Google will follow? Switch to the Advanced tab.
TL;DR — “Redirect errorA Google Search Console Page Indexing status meaning Googlebot couldn't follow a redirect — a chain too long, a loop, a URL over the max length, or a bad/empty URL in the chain. It's a broken redirect to fix, not the normal \"Page with redirect.\"” 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: 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 follow a 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. and couldn’t resolve it, 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.. Google names four causes — a redirect chainA → B → C instead of A → C. Each hop loses link equity and adds latency. that was too long, a redirect loopA redirect loop is a chain of redirects that circles back on itself instead of ever reaching a live page — URL A redirects to B and B redirects back to A (or a longer cycle). No page ever returns a 200, so browsers show ERR_TOO_MANY_REDIRECTS and crawlers can't index anything., a redirect URL that exceeded the max URL length, or a bad/empty URL in the chain. It is a broken redirect to fix, and it is distinct from “Page with redirectA Google Search Console Page Indexing status for a URL that redirects elsewhere. It's not indexed by design because it's a redirect — the destination is a separate question, and Google says the target may or may not end up indexed — usually expected, not an error (unlike the separate \"Redirect error\").,” which is a working, non-canonical redirect that’s normal and usually needs no action. Diagnose by tracing the chain (
curl -IL, 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., LighthouseLighthouse is Google's free, open-source tool that audits a page under simulated lab conditions and scores it 0–100 across Performance, Accessibility, Best Practices, and SEO. It's lab data — useful for debugging, not a ranking signal., a 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.), collapse it to a single direct 301 to the final URL, fix 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., and run Validate Fix. On hop limits: current Google docs publish a 10-hop ceiling and recommend no more than 3/fewer than 5. Mueller’s dated 2014 and 2020 statements describe about five per crawl; the 2014 one also described continuing the remainder later. Patrick’s similar observations are independent. Aim for one hop regardless.
Where this status lives
“Redirect error” appears in Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance. under 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. → “Why pages aren’t indexed.” That table breaks the not-indexed URLs into reasons, and this is one of them. The takeaway up front: it’s a crawl/follow failure, not a quality judgment. Google isn’t telling you the page is low-quality or penalized — it’s telling you it literally couldn’t follow the redirect to a destination, so there was nothing to index.
Google’s four causes — exactly
These are Search Console’s documented report causes, not a universal taxonomy for every redirect implementation bug. Evidence for this claim Google reports Redirect error when it could not process a redirect to a destination. 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 separately recommends short, direct redirect paths. Evidence for this claim Google lists overly long chains, loops, excessive redirect URL length, and bad or empty redirect URLs for this report status. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: Page indexing report
Google’s Page Indexing documentation is specific. A redirect error means Google experienced one of the following: a redirect chain that was too long, a redirect loop, a redirect URL that eventually exceeded the max URL length, or a bad or empty URL in the redirect chainA → B → C instead of A → C. Each hop loses link equity and adds latency.. That’s the whole list — four failure modes, and every fix maps back to one of them. (The exact wording is in the Quotes tab.)
”Redirect error” vs “Page with redirect” — the contrast that matters most
This is the single most common confusion in the topic, so it’s worth being blunt about it. These are two different Page Indexing statuses:
- Redirect error — Google couldn’t follow the redirect (one of the four causes above). The page can’t be indexed. It’s broken; fix it.
- Page with redirectA Google Search Console Page Indexing status for a URL that redirects elsewhere. It's not indexed by design because it's a redirect — the destination is a separate question, and Google says the target may or may not end up indexed — usually expected, not an error (unlike the separate \"Redirect error\"). — Google could follow the redirect; it worked. The URL is simply a non-canonical URL that redirects elsewhere, so this URL won’t be indexed — but the target might be. Google’s own description of it is that it’s a non-canonical URL that redirects to another page, so it won’t be indexed, while the target URL of the redirect might or might not be indexed depending on what Google thinks of that target. This is not an error and usually needs no action.
If your old URLs that you intentionally 301-redirected show up as “Page with redirect,” that’s the system working as designed — don’t go trying to “fix” it. Save your attention for “Redirect error,” which is the one that’s actually broken. (There’s a side-by-side table in the Cheat Sheets tab.)
The four causes, and how to fix each
1. Redirect chain that was too long. A → B → C → D → … instead of A straight to the final URL. Each hop adds latency and another chance for something to break, and a long enough chain means Google doesn’t reach the destination. Fix: collapse the chain. Point the original URL directly at the final destination in a single 301, and remove or update the intermediate rules.
2. Redirect loopA redirect loop is a chain of redirects that circles back on itself instead of ever reaching a live page — URL A redirects to B and B redirects back to A (or a longer cycle). No page ever returns a 200, so browsers show ERR_TOO_MANY_REDIRECTS and crawlers can't index anything.. Two or more URLs that redirect back to each other — A → B →
A, or a longer cycle. In a browser this is the classic ERR_TOO_MANY_REDIRECTS /
“too many redirects” error; Google flags the same root cause. Loops usually come
from conflicting rules — HTTP↔HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.', www↔non-www, or trailing-slash↔no-slash
rules fighting each other. Fix: find the cycle, decide on the single canonical
form (e.g. HTTPS, non-www, trailing slashA trailing slash is the forward slash (/) at the end of a URL — example.com/page/ versus example.com/page. Except at the bare root domain, the two versions are different URLs to search engines, so you pick one format and enforce it. — pick one of each), and make every rule
point one direction only.
3. Redirect URL exceeded the max URL length. A redirect that keeps appending to the URL — faulty rewrite rules, runaway query/tracking parameters, or a rule that re-feeds its own output — can grow the target URL past the length limit. This often overlaps with a loop. Fix: find the rule that’s appending parameters and stop it; strip unnecessary tracking params from the redirect target; redirect to a clean, fixed final URL.
4. Bad or empty URL in the redirect chain. Google’s own wording here is
generic — a “bad or empty URL” — and it doesn’t name relative URLs as an example.
A relative Location value is valid HTTP (the spec has recipients resolve it
against the current URL), so relativity by itself isn’t the problem. What
actually breaks a hop: an empty Location, a value that doesn’t resolve to any
real URL, or a rule that emits garbage instead of a usable target. Fix:
trace the hop and confirm exactly what the broken Location value is, then
correct the rule so it emits a valid, resolvable target — absolute is the safer
default, but the defect is “doesn’t resolve,” not “isn’t absolute.”
How many redirects does Google actually follow?
This is where bad numbers get repeated, so I want to be careful — and this section changed since I last checked it. Google’s crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor.-infrastructure documentation now publishes a default: “By default, Google’s crawlers follow up to 10 redirect hops. However, specific products’ crawlers may have different limits.” It adds 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. generally follows 10 redirect hops when crawling for general web content, but Google Inspection Tools doesn’t follow redirects at all — so the number even depends on which Google tool is doing the fetching.
Google’s current site-move documentation adds the practical target: avoid chains; if that isn’t possible, keep them to no more than 3 and fewer than 5. That is not another technical ceiling. Ten is what the current crawler documentation says Googlebot can follow; 3-to-5 is the current implementation recommendation.
The familiar five-hop number has a separate, dated evidence trail. In a 2014 webmaster hangout at 46:03, John Mueller described Googlebot following as many as five redirects in one crawl and continuing any remainder in the next crawl. In 2020 he separately said Google follows up to about 5 hops per crawl attempt, and advised fewer than 5 for URLs that are crawled frequently. The 2014 continuation statement was real, not an invented breakdown. But both statements are historical representative guidance; neither is a current guarantee that every long chain will resume, or when.
My own practical cutoff, from years of fixing these, is also around 5 hops, and I’ve independently seen Google pick longer chains back up. Those are practitioner observations, not the basis for Mueller’s 2014 statement and not a platform limit.
None of this changes the practical advice: redirect directly to the final URL in a single hop. One hop sidesteps the entire question about how many the crawler will follow, and it’s faster for users too.
How to diagnose a redirect error
You want to see the redirect Google is choking on:
- URL Inspection (GSC). Live URL Inspection follows the redirect and tests the final URL — but it doesn’t show you the path it took or name the final URL, so it can’t replace a hop-by-hop trace when you need to see where the chain breaks. (A related but different tool — Google’s crawling infrastructure calls it “Google Inspection Tools” — explicitly does not follow redirects at all; don’t assume every “inspection” surface behaves the same way.) Use it to confirm Google’s overall verdict, not to see the chain.
curl -IL(or a redirect-checker tool) to trace every hop and status code from the command line — the fastest way to spot a chain or loop. Commands are in the Scripts tab.- Lighthouse. Google’s own doc suggests using a web debugging tool such as Lighthouse to get more detail about the redirect.
- A crawler — Ahrefs Site Audit, Screaming Frog, or Sitebulb — to surface redirect chains and loops at scale across the whole site, which is how you catch the ones you didn’t know about.
- The browser. A loop shows up immediately as
ERR_TOO_MANY_REDIRECTS.
Trace the affected URL hop by hop with the Redirect Checker Free
- Run the exact old URL reported in Search Console rather than only testing the final destination.
- Identify the repeated URL that proves the redirect never reaches a final page.
- Remove the conflicting rule, rerun the source URL, and confirm it reaches the intended live destination before validating the fix in Search Console.
The completed result is labeled Broken — fix now. It shows example.com/a returning 301, example.com/b returning 302, and example.com/a returning 301 again. The result reports a redirect loop and no final URL.
How to fix it, step by step
- Reproduce the redirect (curl / redirect-checker / browser) and identify the broken hop — the loop, the over-length target, the bad URL, or the chain.
- Replace the chain or loop with a single direct hop to the final URL —
and pick the fix based on what that URL is actually supposed to do, not on
autopilot. Permanent move → a single
301(or308). Genuinely temporary move →302/303/307instead, since Google treats permanent and temporary redirects differently for canonical signals. If the old URL shouldn’t redirect at all anymore, restore it to a real200; if the content is gone for good with no replacement, a404/410can be the right answer instead of forcing a redirect. Whatever you land on, no intermediaries. - Update internal links so they point at that final URL — don’t keep linking to the old, redirecting address.
- Re-test with curl/URL Inspection to confirm a clean single redirect (or a
direct
200). - Validate Fix in Search Console. Note that this queues a re-check — it doesn’t re-index instantly. Resolution still depends on Google recrawling the URL on its own schedule, so don’t expect an immediate status change.
Where these cluster: site migrations
In my experience the bulk of redirect errors are born during migrations — HTTP→HTTPS moves, www/non-www consolidation, domain changes, CMSA content management system (CMS) is software that lets users create, manage, and publish digital content — like blog posts and pages — without writing raw code. WordPress, Drupal, and Joomla are the most common open-source CMS platforms. replatforms, and trailing-slash changes. That’s where chains and loops accumulate, because you end up with layers of redirect rules stacked on top of each other. The discipline that prevents it: maintain a redirect map and point each old URL directly at its final new URL — not at an intermediate URL that itself redirects. If you redirect old → interim → new, you’ve built a chain on day one.
A note on 301 vs 302 (since it comes up)
A redirect error isn’t about which redirect type you used — it’s about the redirect being unfollowable. But while we’re here: 3xx redirects don’t lose PageRankPageRank is Google's original recursive link-graph algorithm: a page's score depends on the scores of the pages linking to it, and in the published model each page's score is split across its outbound links (the simplified version: links are weighted votes). Google says it's evolved since launch but still part of its core ranking systems., and Google can come to treat a 302 like a 301 over time (I’ve run that experiment myself — a long-lived 302 between two established sites behaved like a permanent move). Still, for a permanent move, use a 301 to send the clearest canonical signal. Use the right type, and make it a single hop.
Related statuses and concepts
The sibling status “Page with redirect” (covered above) is the normal, non-error counterpart — keep them straight. A redirect chain is the most common underlying cause here, and 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 the GSC report all of these statuses live in. For the bigger picture of how Google decides what to index, see the indexing hub.
AI summary
A condensed take on the Advanced version:
- “Redirect errorA Google Search Console Page Indexing status meaning Googlebot couldn't follow a redirect — a chain too long, a loop, a URL over the max length, or a bad/empty URL in the chain. It's a broken redirect to fix, not the normal \"Page with redirect.\"” = Google couldn’t follow a 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., 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.. It’s a 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 under “Why pages aren’t indexed.” It’s a follow/crawl failure, not a penalty or quality judgment.
- Four Google-defined causes: a redirect chainA → B → C instead of A → C. Each hop loses link equity and adds latency. that was too long, a redirect loop, a redirect URL that exceeded the max URL length, or a bad/empty URL in the chain. Every fix maps to one of these.
- Not the same as “Page with redirectA Google Search Console Page Indexing status for a URL that redirects elsewhere. It's not indexed by design because it's a redirect — the destination is a separate question, and Google says the target may or may not end up indexed — usually expected, not an error (unlike the separate \"Redirect error\")..” Redirect error = broken, fix it. Page with redirectA Google Search Console Page Indexing status for a URL that redirects elsewhere. It's not indexed by design because it's a redirect — the destination is a separate question, and Google says the target may or may not end up indexed — usually expected, not an error (unlike the separate \"Redirect error\"). = a working, non-canonical redirect that’s normal and usually needs no action. This is the #1 confusion in the topic.
- Fix each cause: long chain → collapse to one direct hop matching the URL’s intended behavior; loop → resolve conflicting HTTP/HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.', www, and trailing-slash rules; over-length URL → stop the rule appending params; bad/empty URL → trace the actual broken value and emit a valid, resolvable target (relative isn’t automatically the problem).
- Hop count: Google’s crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. documentation now publishes a default of up to 10 redirect hops for 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. (Google Inspection Tools follows none at all), while its site-move doc recommends no more than 3/fewer than 5. Mueller’s dated 2014 and 2020 statements describe about 5 hops per crawl; the 2014 statement also described continuing the remainder later. Patrick’s similar field observation and ~5-hop cutoff are independent. Aim for one hop.
- Diagnose with URL Inspection,
curl -IL, LighthouseLighthouse is Google's free, open-source tool that audits a page under simulated lab conditions and scores it 0–100 across Performance, Accessibility, Best Practices, and SEO. It's lab data — useful for debugging, not a ranking signal., and a 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. (Ahrefs Site Audit / Screaming Frog / Sitebulb) for scale. - Fix workflow: reproduce → find the broken hop → single direct hop to the final URL, using the redirect type (or non-redirect) that matches intent → update 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. → re-test → Validate Fix (queues a re-check on Google’s own recrawl schedule; not instant).
- They cluster during migrations (HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.', www, domain, replatform). Prevent them by mapping each old URL directly to its final new URL — never through an interim redirect.
Official documentation
Primary-source documentation from the search engines.
- Page indexing report — the source for the “Redirect errorA Google Search Console Page Indexing status meaning Googlebot couldn't follow a redirect — a chain too long, a loop, a URL over the max length, or a bad/empty URL in the chain. It's a broken redirect to fix, not the normal \"Page with redirect.\"” definition (the four causes) and the separate “Page with redirectA Google Search Console Page Indexing status for a URL that redirects elsewhere. It's not indexed by design because it's a redirect — the destination is a separate question, and Google says the target may or may not end up indexed — usually expected, not an error (unlike the separate \"Redirect error\").” status, plus the suggestion to use a debugging tool like LighthouseLighthouse is Google's free, open-source tool that audits a page under simulated lab conditions and scores it 0–100 across Performance, Accessibility, Best Practices, and SEO. It's lab data — useful for debugging, not a ranking signal..
- Redirects and Google Search — Google’s 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. doc: redirect typesA 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., the preference for server-side redirects, and how permanent vs temporary redirects are treated for canonical signals.
- How HTTP status codes affect Google’s crawlers — Google’s crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor.-infrastructure doc; states the current default hop cap (up to 10 for 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 that Google Inspection Tools doesn’t follow redirects at all.
- Crawling and Indexing — the hub for redirects, canonicalizationHow search engines pick one canonical URL among duplicates and consolidate signals onto it., and crawl controls.
- URL Inspection Tool — how to inspect a single URL; live 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. follows redirects to test the final URL but doesn’t expose the path it took.
Bing / Microsoft
- Bing Webmaster Guidelines — Bing’s general guidance, including using 301s for permanent moves and avoiding redirect chainsA → B → C instead of A → C. Each hop loses link equity and adds latency..
- Managing redirects – 301s, 302s and canonicals (2011) — Bing’s older but still-cited post on redirect best practices (point old URLs directly at the final destination).
Quotes from the source
On-the-record statements from Google. Each link is a deep link that jumps to the quoted passage on the source page.
Google — the four causes of a “Redirect errorA Google Search Console Page Indexing status meaning Googlebot couldn't follow a redirect — a chain too long, a loop, a URL over the max length, or a bad/empty URL in the chain. It's a broken redirect to fix, not the normal \"Page with redirect.\"”
- “Google experienced one of the following 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. errors: A redirect chainA → B → C instead of A → C. Each hop loses link equity and adds latency. that was too long; A redirect loopA redirect loop is a chain of redirects that circles back on itself instead of ever reaching a live page — URL A redirects to B and B redirects back to A (or a longer cycle). No page ever returns a 200, so browsers show ERR_TOO_MANY_REDIRECTS and crawlers can't index anything.; A redirect URL that eventually exceeded the max URL length; A bad or empty URL in the redirect chainA → B → C instead of A → C. Each hop loses link equity and adds latency..” — Google, 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. Help doc. Jump to quote
Google — “Page with redirectA Google Search Console Page Indexing status for a URL that redirects elsewhere. It's not indexed by design because it's a redirect — the destination is a separate question, and Google says the target may or may not end up indexed — usually expected, not an error (unlike the separate \"Redirect error\").” (the non-error status, for contrast)
- “This is a non-canonical URLHow search engines pick one canonical URL among duplicates and consolidate signals onto it. that redirects to another page. As such, this URL will not 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.. The target URL of the redirect might or might not be indexed, depending on what Google thinks about that target URL. A canonical URL with a redirect can be indexed.” — Google, 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. Help doc. Jump to quote
John Mueller, Google — on how many hops Google follows
- In a 2014 webmaster hangout, Mueller described 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. following up to five redirects in one crawl and continuing any remainder in the next crawl. Watch from 46:03
- “Search engines just follow the redirect chain (for Google: up to 5 hops in the chain per crawl attempt).” (Relayed via Search Engine Journal, 2020.) Jump to quote
- “The only thing I’d watch out for is that you have less than 5 hops for URLs that are frequently crawled.” (Relayed via Search Engine Journal, 2020.) Jump to quote
Google — the current default hop cap (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. infrastructure documentation)
- “By default, 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. follow up to 10 redirect hops. However, specific products’ crawlers may have different limits.” — Google, “How 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. affect Google’s crawlers” (Google 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. Infrastructure docs; updated 2026-02-04; verified live 2026-07-18).
- “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. generally follows 10 redirect hops when crawling for general web content, but Google Inspection Tools doesn’t follow redirects.” — same source (verified live 2026-07-18). Source
Google — the current practical recommendation (site-move documentation)
- “ideally no more than 3 and fewer than 5.” Source
Redirect-error fix checklist
Work through this for each URL (or template) flagged “Redirect errorA Google Search Console Page Indexing status meaning Googlebot couldn't follow a redirect — a chain too long, a loop, a URL over the max length, or a bad/empty URL in the chain. It's a broken redirect to fix, not the normal \"Page with redirect.\"”:
- Confirm it’s actually “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. error” and not “Page with redirectA Google Search Console Page Indexing status for a URL that redirects elsewhere. It's not indexed by design because it's a redirect — the destination is a separate question, and Google says the target may or may not end up indexed — usually expected, not an error (unlike the separate \"Redirect error\").” (the latter is usually fine — no action needed).
- Reproduce the redirect with
curl -IL(or a redirect checker) and read every hop and status code. - Identify which of Google’s four causes it is: chain too long, loop, over-max-length URL, or bad/empty URL.
- For a loop, find the conflicting rules (HTTP↔HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.', www↔non-www, trailing-slash) and make each redirect point one direction only.
- For a chain, collapse it to a single 301 pointing at the final URL — remove the intermediate hops.
- For an over-length URL, stop the rule appending params and redirect to a clean, fixed target.
- For a bad/empty URL, trace the exact broken
Locationvalue first — empty, unresolvable, or garbage, not merely relative — then fix the rule so it emits a valid, resolvable target (absolute is the safer default). - Confirm the final destination returns
200(not another redirect, not a 4XX/5XX). - Update 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. to point at the final URL, not the redirecting one.
- Re-test with curl / 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. — expect one clean redirect or a
direct
200. - Click Validate Fix in 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. (remember: it queues a re-check; it isn’t instant).
Redirect-error cheat sheets
“Redirect errorA Google Search Console Page Indexing status meaning Googlebot couldn't follow a redirect — a chain too long, a loop, a URL over the max length, or a bad/empty URL in the chain. It's a broken redirect to fix, not the normal \"Page with redirect.\"” vs “Page with redirectA Google Search Console Page Indexing status for a URL that redirects elsewhere. It's not indexed by design because it's a redirect — the destination is a separate question, and Google says the target may or may not end up indexed — usually expected, not an error (unlike the separate \"Redirect error\").” — don’t confuse them
| 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. error | Page with redirectA Google Search Console Page Indexing status for a URL that redirects elsewhere. It's not indexed by design because it's a redirect — the destination is a separate question, and Google says the target may or may not end up indexed — usually expected, not an error (unlike the separate \"Redirect error\"). | |
|---|---|---|
| What it means | Google couldn’t follow the redirect | Google followed the redirect fine |
| Is it an error? | Yes — broken, must fix | No — normal |
| Why 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. | Redirect unresolvable (4 causes) | URL is non-canonical; it redirects elsewhere |
| Is the target indexed? | Nothing reachable to index | Target may or may not be indexed |
| Action needed | Fix the redirect | Usually none |
Google’s four causes → diagnosis → fix
| Cause (Google’s wording) | What it looks like | Fix |
|---|---|---|
| Redirect chainA → B → C instead of A → C. Each hop loses link equity and adds latency. that was too long | A → B → C → D → … | Single 301 from A straight to the final URL |
| Redirect loopA redirect loop is a chain of redirects that circles back on itself instead of ever reaching a live page — URL A redirects to B and B redirects back to A (or a longer cycle). No page ever returns a 200, so browsers show ERR_TOO_MANY_REDIRECTS and crawlers can't index anything. | A → B → A (or longer cycle); ERR_TOO_MANY_REDIRECTS | Resolve conflicting HTTP/HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.', www, slash rules; point one way |
| Redirect URL exceeded the max URL length | URL keeps growing with appended params | Stop the appending rule; redirect to a clean fixed URL |
| Bad or empty URL in the redirect chainA → B → C instead of A → C. Each hop loses link equity and adds latency. | Empty or unresolvable Location value (relative alone isn’t the problem) | Trace the actual value, then emit a valid, resolvable target |
Hop counts — what’s actually true
| Claim | Status |
|---|---|
| Google documents a max hop count | Yes, now — Google’s crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. documentation publishes a default of up to 10 hops for 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. |
| Google Inspection Tools follows redirects | No — per the same doc, it follows none |
| Google’s practical recommendation | Avoid chains; if unavoidable, no more than 3 and fewer than 5 |
| Google follows ~5 hops per crawl | Dated Mueller statements from 2014 and 2020; the 2014 one also described continuing the remainder later, but neither is a current scheduling guarantee |
| Patrick’s own practical cutoff | ~5 hops — a practitioner threshold, not the platform limit |
| Best practice regardless of the number | One hop straight to the final URL |
Trace a redirect chain (find the broken hop)
The fastest way to see exactly what Google is choking on is to follow the 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 yourself and read every hop and status code.
macOS / Linux
# -I = headers only, -L = follow redirects: prints each hop's status + Location
curl -sIL https://www.example.com/old-page/ | grep -i -E '^(HTTP/|location:)'
# Example of a healthy single hop:
# HTTP/2 301
# location: https://www.example.com/new-page/
# HTTP/2 200
#
# A chain shows multiple 3xx lines before the 200.
# A loop never reaches 200 — you'll see the same URLs repeat (curl stops at its
# --max-redirs limit, default 50).If you want the full per-hop URL + code list in one line each:
curl -sIL -o /dev/null -w '%{http_code} %{url_effective}\n' https://www.example.com/old-page/
# Add --max-redirs 10 to cap how far curl will follow (useful for catching loops):
curl -sIL --max-redirs 10 -o /dev/null -w '%{http_code} %{url_effective}\n' https://www.example.com/old-page/Windows (PowerShell)
# Follows redirects and reports the final status; -MaximumRedirection caps the chain
Invoke-WebRequest -Uri "https://www.example.com/old-page/" -MaximumRedirection 10 |
Select-Object StatusCode, @{n='FinalUrl';e={$_.BaseResponse.ResponseUri}}
# To see each hop, disable auto-follow and inspect the Location header one step at a time:
Invoke-WebRequest -Uri "https://www.example.com/old-page/" -MaximumRedirection 0 -ErrorAction SilentlyContinue |
Select-Object StatusCode, @{n='Location';e={$_.Headers.Location}}Reading the output
- One
3xxthen a200= a clean single hop. Good. - Several
3xxlines before the200= a chain — collapse it to one 301. - Same URLs repeating / never reaching
200= a loop — find the conflicting rules. - A
3xxpointing at a 4XX/5XX or an empty/garbledLocation= a bad/empty URL in the chain — fix the rule.
Once it’s a single direct 301 → 200, re-test, then run Validate Fix in
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..
Caveat: -I sends a HEAD request, not GET. Most servers and CDNs
redirect the same way regardless of method, but some server configs, CDN rules,
or middleware branch on request method — so if a hop looks different than you
expect, re-run without -I (a plain curl -sL) to confirm the GET behavior
matches before you conclude the fix is wrong.
I have a “Redirect error” — what do I actually fix?
Google’s four causes look similar from a distance (they all end with “the 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. didn’t resolve”), but the fix is different for each. Trace the chain first (curl or the Redirect Checker), then use what you see to pick a branch below.
Redirect error — which of the four causes is it, and what do I fix?
Whichever branch you land on, the end state is the same: a single direct 301 to
a URL that returns 200. Re-test with the Redirect Checker or curl -IL
before clicking Validate Fix.
Mistakes that turn into “Redirect error”
- Redirecting old → interim → new instead of old → new. This is the single most common way a “Redirect errorA Google Search Console Page Indexing status meaning Googlebot couldn't follow a redirect — a chain too long, a loop, a URL over the max length, or a bad/empty URL in the chain. It's a broken redirect to fix, not the normal \"Page with redirect.\"” gets born. Every time you migrate (HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.', www, domain, CMSA content management system (CMS) is software that lets users create, manage, and publish digital content — like blog posts and pages — without writing raw code. WordPress, Drupal, and Joomla are the most common open-source CMS platforms. replatform) and point the old URL at an already-redirecting interim URL instead of the final one, you’ve built a chain on day one. Do instead: always point the original URL directly at the final destination.
- Stacking canonicalizationHow search engines pick one canonical URL among duplicates and consolidate signals onto it. rules without checking the order. HTTP→HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.', www→non-www, and trailing-slash rules each 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. independently; if two of them disagree about direction, you get a loop, not a chain. Do instead: pick one canonical form for each dimension and verify every rule points the same way, not just the one you just edited.
- “Fixing” a redirect by adding another redirect on top. Patching a broken hop by inserting a new rule in front of it usually extends the chain instead of shortening it. Do instead: replace the whole chain with one direct 301, don’t layer another hop onto it.
- Confusing “Redirect error” with “Page with redirectA Google Search Console Page Indexing status for a URL that redirects elsewhere. It's not indexed by design because it's a redirect — the destination is a separate question, and Google says the target may or may not end up indexed — usually expected, not an error (unlike the separate \"Redirect error\").” and trying to “fix” a working redirect. “Page with redirectA Google Search Console Page Indexing status for a URL that redirects elsewhere. It's not indexed by design because it's a redirect — the destination is a separate question, and Google says the target may or may not end up indexed — usually expected, not an error (unlike the separate \"Redirect error\").” is Google successfully following a non-canonical URL to its target — it’s not broken. Do instead: only spend time on URLs actually flagged “Redirect error”; leave “Page with redirect” alone.
- Redirecting to a URL that itself 404s, 5xxs, or is noindexed. Even a
single clean hop is useless if the destination doesn’t return 200 and isn’t
indexable — Google either can’t finish resolving it or won’t 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. what it
finds. Do instead: confirm the final target returns a real
200and is indexable before wiring the redirect to it. - Letting tracking/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. get appended on every hop. A rewrite rule that re-feeds its own output (common with tracking or session params) grows the target URL past the max length on a long-lived redirect. Do instead: strip unnecessary parameters and redirect to a clean, fixed URL.
- Clicking Validate Fix and assuming it’s instant. Validate Fix queues a re-check; it doesn’t re-index the page immediately. Do instead: re-test the redirect yourself first (curl / Redirect Checker) so you know it’s actually fixed before you wait on Google’s 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..
Prove the redirect is actually fixed
Run these after you collapse a chain, break a loop, or fix a bad/empty URL — before you rely on 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. to confirm it.
Test 1: Single-hop 301 to a 200
- Test to run — Paste the old URL into the Redirect Checker, or run
curl -sIL -o /dev/null -w '%{http_code} %{url_effective}\n' <url>. - Expected result — Exactly one
301(or308) hop, landing on a final URL that returns200. - Failure interpretation — More than one
3xxline before the200means the chain isn’t actually collapsed yet; the same URL reappearing means the loop isn’t fixed. - Monitoring window — Immediate; status codes don’t need to “settle.”
- Rollback trigger — Any additional hop appears, or the final status is a
4XX/5XXinstead of200.
Test 2: No loop, no runaway length
- Test to run — Redirect Chain Mapper on the affected URL, or
curl -sIL --max-redirs 10 -o /dev/null -w '%{http_code} %{url_effective}\n' <url>(a low--max-redirswill error out if it’s still looping). - Expected result — The mapper shows a single straight hop with no repeated URLs, and the target URL length hasn’t grown from appended parameters.
- Failure interpretation — Repeating URLs = the conflicting canonicalizationHow search engines pick one canonical URL among duplicates and consolidate signals onto it. rule is still in place; a longer-than-expected target URL = a rule is still appending parameters.
- Monitoring window — Immediate.
- Rollback trigger — Loop reappears, or the URL length grows again on a re-check days later.
Test 3: Batch-verify at scale after a migration
- Test to run — Run the full old-URL list through SEO Migration Planner & Validator or the Redirect Checker in bulk.
- Expected result — Every mapped old URL resolves in one hop to its intended new URL at
200. - Failure interpretation — Any URL still showing multiple hops, a loop, or a non-200 target means that row of the 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. map wasn’t actually applied or points at the wrong destination.
- Monitoring window — Immediate for the hop check.
- Rollback trigger — More than a handful of URLs fail the batch check; that’s a sign the redirect map itself (not just one rule) has a systemic error.
Test 4: Search Console re-indexing
- Test to run — Click Validate Fix on the affected URL(s) 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., then watch the status.
- Expected result — The URL moves off “Redirect errorA Google Search Console Page Indexing status meaning Googlebot couldn't follow a redirect — a chain too long, a loop, a URL over the max length, or a bad/empty URL in the chain. It's a broken redirect to fix, not the normal \"Page with redirect.\"” — ideally to “Page with redirectA Google Search Console Page Indexing status for a URL that redirects elsewhere. It's not indexed by design because it's a redirect — the destination is a separate question, and Google says the target may or may not end up indexed — usually expected, not an error (unlike the separate \"Redirect error\").” (if it’s a non-canonical old URL) or the final URL shows as 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..
- Failure interpretation — Still showing “Redirect error” after validation completes means the live redirect still isn’t resolving the way you tested it, or Google hasn’t recrawled yet.
- Monitoring window — Validate Fix queues a recheck, not an instant re-index; it depends entirely on Google’s own 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. schedule for that URL, which isn’t published, so don’t expect it on a fixed timetable.
- Rollback trigger — Validation comes back failed, or the status reappears on a later crawl after initially clearing.
Patrick's relevant free tools
- GSC Regex Builder & Tester — Lint RE2 regex syntax and test Search Console filters against your own query list in the browser.
- Brand/Non-Brand Splitter — Split GSC or Ads query rows into typo-tolerant brand and non-brand CSVs locally in your browser.
- Paid/Organic Overlap Quadrant — Join Ads and GSC data into paid-only, organic-only, strong-both, and weak actions.
Tools for tracing and fixing redirect errors
- Redirect Checker — paste a single URL and see every hop, status code, and the final destination. The fastest way to confirm whether a flagged URL is now a clean single 301 → 200.
- Redirect Chain Mapper — visualizes the full hop-by-hop path, so a chain or loop is obvious at a glance instead of read line-by-line from raw headers.
- Bulk HTTP Status Code Checker — check many URLs at once, which is how you catch redirect errorsA Google Search Console Page Indexing status meaning Googlebot couldn't follow a redirect — a chain too long, a loop, a URL over the max length, or a bad/empty URL in the chain. It's a broken redirect to fix, not the normal \"Page with redirect.\" across a whole site or a whole 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. map instead of one URL at a time.
- SEO Migration Planner & Validator — built for exactly the scenario where most redirect errors are born: site migrationsA site migration is any significant change to a website's URL structure, domain, platform, protocol, or hosting that can affect how search engines crawl, index, and rank it. The risk scales with how much you change at once.. Map old URLs directly to their final new URLs (not through an interim hop) and verify the map before and after go-live.
- 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 URL Inspection follows the
redirect and tests the final URL, but it doesn’t expose the hop-by-hop path or
name the final URL — pair it with
curl -ILor a redirect checker when you need to see where the chain actually breaks. curl -ILfrom the command line, for anyone who wants to trace a hop manually. Commands are in the Scripts tab.- Ahrefs Site Audit / Screaming Frog / Sitebulb. For surfacing every redirect chainA → B → C instead of A → C. Each hop loses link equity and adds latency. and loop across a whole site at once, which is how you find the ones that never got a support ticket.
Prompts for redirect-error analysis
Feed these prompts actual 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. traces. A language model cannot verify a redirect path from a URL alone.
Diagnose a broken trace
Analyze this redirect trace hop by hop. Identify the first loop, invalid or empty location, excessive chain, or non-success destination. Recommend a single direct redirect from the starting URL to the intended final
200URL. Trace: [paste statuses and locations].
Review a redirect map before deployment
Review this proposed old-to-new redirect map. Flag self-redirects, loops, multiple hops, conflicting destinations, malformed targets, and redirects to irrelevant pages. Return corrected mappings and a validation checklist. Map: [paste rows].
Convert crawl output into repair groups
Group these redirect errorsA Google Search Console Page Indexing status meaning Googlebot couldn't follow a redirect — a chain too long, a loop, a URL over the max length, or a bad/empty URL in the chain. It's a broken redirect to fix, not the normal \"Page with redirect.\" by shared source pattern and likely rule or template. For each group, state the evidence, the smallest configuration change, affected URL count, and a post-deployment test. Do not invent a target when the intended destination is not present in the data. Rows: [paste crawl export].
Test yourself: Redirect error
Five questions on what “Redirect errorA Google Search Console Page Indexing status meaning Googlebot couldn't follow a redirect — a chain too long, a loop, a URL over the max length, or a bad/empty URL in the chain. It's a broken redirect to fix, not the normal \"Page with redirect.\"” means and how to fix it. Pick an answer for each, then check.
Redirect error
A Google Search Console Page Indexing status meaning Googlebot couldn't follow a redirect — a chain too long, a loop, a URL over the max length, or a bad/empty URL in the chain. It's a broken redirect to fix, not the normal "Page with redirect."
Parent concept: Page Indexing report · Related: Redirect chain, 301 redirect, Page Indexing report
Redirect error
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. error 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 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., under “Why pages aren’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..” 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 follow a redirect for the URL but couldn’t resolve it — so the page wasn’t indexed.
Google defines exactly four causes: a redirect chainA → B → C instead of A → C. Each hop loses link equity and adds latency. that was too long, a redirect loopA redirect loop is a chain of redirects that circles back on itself instead of ever reaching a live page — URL A redirects to B and B redirects back to A (or a longer cycle). No page ever returns a 200, so browsers show ERR_TOO_MANY_REDIRECTS and crawlers can't index anything., a redirect URL that exceeded the max URL length, or a bad or empty URL somewhere in the redirect chainA → B → C instead of A → C. Each hop loses link equity and adds latency.. All four are the same kind of problem — a redirect Google couldn’t follow to the end.
The distinction that trips everyone up: Redirect error is not the same as “Page with redirectA Google Search Console Page Indexing status for a URL that redirects elsewhere. It's not indexed by design because it's a redirect — the destination is a separate question, and Google says the target may or may not end up indexed — usually expected, not an error (unlike the separate \"Redirect error\")..” A redirect error is a broken redirect that needs fixing. “Page with redirectA Google Search Console Page Indexing status for a URL that redirects elsewhere. It's not indexed by design because it's a redirect — the destination is a separate question, and Google says the target may or may not end up indexed — usually expected, not an error (unlike the separate \"Redirect error\").” is a working redirect that simply isn’t the canonical URLHow search engines pick one canonical URL among duplicates and consolidate signals onto it., so it won’t be indexed — that one is normal and usually needs no action. If you only remember one thing, remember that one is an error and the other isn’t.
Parent concept: Page Indexing report · Related: Redirect chain, 301 redirect, 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 19, 2026.
Editorial summary and recorded change details.Summary
Restored and correctly scoped the dated Mueller redirect-hop evidence alongside Google's current documentation and Patrick's independent threshold.
Change details
-
Added Google's current no-more-than-3/fewer-than-5 practical recommendation beside the 10-hop ceiling.
-
Restored Mueller's 2014 statement that a later crawl may continue the remaining redirects, retained his separate 2020 five-hops-per-attempt statement, and explicitly labeled both as dated rather than current guarantees.
-
Kept Patrick's roughly five-hop cutoff and observed continuation behavior independently attributed as practitioner evidence.
Full comparison unavailable — no prior snapshot was archived for this revision.
Updated Jul 18, 2026.
Editorial summary and recorded change details.Summary
Corrected the redirect-hop-count section: Google's crawling documentation now publishes a default of up to 10 hops for Googlebot (previously stated as 'no fixed limit'), and clarified that Google Inspection Tools doesn't follow redirects at all while live URL Inspection does but doesn't expose the chain. Also corrected the bad/empty-URL cause to stop implying relative Location values are inherently invalid, made the fix guidance choose redirect type from intended URL behavior instead of always prescribing a 301, and removed an unsourced 'days to weeks' recovery timeframe.
Change details
-
Hop-count guidance now cites Google's documented default (up to 10 hops for Googlebot; 0 for Google Inspection Tools) alongside John Mueller's older ~5-hop comment and Patrick's own ~5-hop practitioner cutoff, instead of claiming Google publishes no limit.
-
Bad/empty-URL cause and its decision-tree branch no longer imply a relative Location or missing scheme is inherently invalid; RFC 9110 permits relative Location values.
-
Fix-it guidance now selects redirect type (or a 404/410) based on the URL's intended behavior instead of universally prescribing a 301.
-
Removed an unsourced 'days to weeks' Validate Fix recovery window.
Full comparison unavailable — no prior snapshot was archived for this revision.