Page indexing report · Search Console
Redirect error
Google followed the URL’s redirect and never reached a working page. Google lists four ways that happens: a chain that’s too long, a loop, a URL that grows too long, or a bad or empty URL.1 Here’s how to find which one you have and reproduce it yourself.
Check the URL first
The checker follows the redirect from outside and shows where it ends. It can’t see redirects that only happen for Google’s IP addresses, so test without cookies and as Googlebot too.
In 30 seconds
- Unlike “Page with redirect”, this is a real error: the URL leads nowhere Google can index.1
- Google’s crawlers follow up to 10 redirect hops.2
- A common cause is a loop between CDN and server rules, such as Cloudflare’s Flexible SSL with a server that forces HTTPS.7
- Redirect each old URL to its final destination in one hop.3
What it means
Google’s definition lists four failures: “A redirect chain that was too long”, “A redirect loop”, “A redirect URL that eventually exceeded the max URL length”, and “A bad or empty URL in the redirect chain”.1 It happens during crawling, before Google sees any content.
Discover
Google learns that a URL exists, mostly from links on pages it already knows and from XML sitemaps.
What goes wrong: Nothing links to the page and it isn’t in a sitemap, so Google never hears about it.
Report statuses at this stage
- URL is unknown to Google (shown in URL Inspection, not in the report)
Crawl
Googlebot checks robots.txt, then requests the URL. It spaces requests out so it doesn’t overload the server.
What goes wrong: The URL is blocked, returns an error, or the server is slow, so Google backs off and crawls less.
Report statuses at this stage
Render
Google runs the page’s JavaScript in a recent version of Chrome to see the finished page.
What goes wrong: Content only appears after a click or scroll, or the scripts fail, so the rendered page is nearly empty.
Report statuses at this stage
- No status of its own. Problems show up at the next stage as thin pages or soft 404s.
Index
Google decides which version of the page to keep and whether it is worth storing at all.
- Group duplicates. Pages with the same or very similar content go into one group.
- Pick a canonical. One URL represents each group. Canonical tags, redirects and sitemaps are hints, not commands.
- Select for the index. Google decides whether the canonical page is worth keeping. Google says this largely depends on quality.
What goes wrong: The page duplicates another, is marked noindex, or Google decides it adds too little to keep.
Report statuses at this stage
Serve
Indexed pages can appear in search results. Being indexed is not the same as ranking; an indexed page can still get no clicks.
What goes wrong: The page is indexed but doesn’t match what people search for, or other pages answer it better.
Report statuses at this stage
Google ignores content on redirecting URLs and processes the final target instead.2 When there’s no final target, there’s nothing to index.
How many hops?
Google’s documentation says its crawlers follow up to 10 hops by default.2 In 2020 John Mueller described the limit as “up to 5 hops in the chain per crawl attempt”.5 The two may describe different things, one crawl versus the whole chain, but Google hasn’t reconciled them publicly. Google’s practical advice is the same either way: redirect straight to the final page, and keep any chain under 5 hops.3 For robots.txt files, Google follows at least five hops.9
Is it a problem?
Usually fine
- Old junk URLs with no links or visits
- A URL that already works when you test it, after a recent fix
Worth fixing
- Any URL you want indexed, or its old addresses
- Your homepage, or a whole protocol or host (http, www)
- URLs with backlinks, since the link value can’t reach a page
- Visitors seeing “too many redirects” in their browser
Find the cause
Answer a few questions to narrow it down. Each cause is explained below.
HTTP and HTTPS rules fight
A common loop. Cloudflare’s documentation describes it: in Flexible mode, Cloudflare connects to your server over HTTP, and if the server redirects all HTTP requests to HTTPS, the redirect never ends.7 The fix is a certificate on the server and the Full (strict) mode.
www, slash or case rules in two places
A server rule adds www while a CMS setting removes it, or one layer adds a trailing slash and another strips it. Each rule is right on its own. Together they loop.
Chains from repeated migrations
Each move adds a hop: http to https, old domain to new, old URL pattern to new. Google advises redirecting every old URL to the final destination directly.3
Redirects that depend on cookies, location or user agent
A site that sets a cookie and redirects until the cookie is present can loop for a client that doesn’t keep cookies. Google’s renderer clears cookies between page loads.8 Location and language redirects can also send a crawler somewhere different from you.
A rule that grows the URL, or writes no URL
The last two sub-types in Google’s list usually come from a single faulty rule: one that keeps appending to the URL, or one that sends a redirect without a valid destination.1
The four redirect errors
Pick a type to see its usual cause and a curl command that reproduces it.
Redirect chain too long
Google’s crawlers follow up to 10 hops by default.2 Google advises redirecting to the final URL directly, or keeping chains to “ideally no more than 3 and fewer than 5” hops.3 Long chains also slow crawling.6
Typical cause: stacked migrations, such as http to https, then www to non-www, then old slugs to new.
Count the hops:
curl -sL -o /dev/null -w '%{num_redirects} hops -> %{url_effective} (%{http_code})\n' \
https://example.com/old-pageRedirect loop
The chain comes back to a URL it has already visited, so it never ends.
Typical causes: http and https rules that fight; www and trailing-slash rules in two places; Cloudflare’s Flexible SSL mode with a server that forces HTTPS.7
See every hop. A loop repeats the same Location lines until curl gives up:
curl -sIL --max-redirs 12 https://example.com/page | grep -iE '^(HTTP|location)'curl doesn’t keep cookies unless you ask, so this also catches cookie-dependent loops.
URL exceeded max length
A redirect URL “eventually exceeded the max URL length”.1 Google doesn’t publish the exact limit in this report’s documentation.
Typical cause: a rule that appends something each time, such as a return URL that contains itself, or a language prefix added again on every hop.
Print the length of each Location:
curl -sIL --max-redirs 12 https://example.com/page \
| grep -i '^location' | awk '{ print length($2) " chars: " substr($2, 1, 80) }'Bad or empty URL
A hop has a missing, empty or malformed Location header, so there’s nothing valid to follow.
Typical cause: a redirect rule built from a variable that is sometimes empty, or a script that sends a 301 or 302 without a destination.
Check the first response on its own:
curl -sI https://example.com/page | grep -iE '^(HTTP|location)'Only for Googlebot
Redirects that depend on cookies, location or user agent can work for you and fail for Google. Google’s renderer clears cookies between page loads.8
Repeat the loop test as Googlebot, with no cookies:
curl -sIL --max-redirs 12 \
-A 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)' \
https://example.com/page | grep -iE '^(HTTP|location)'This catches user-agent rules. Rules based on Google’s IP addresses can only be seen in your server logs.
Google’s report also suggests a web debugging tool such as Lighthouse to get more detail.1 URL Inspection is less useful here: Google says its “Inspection Tools doesn’t follow redirects”.2
How to fix it
- Export the URLs from the report row and group them by pattern: protocol, host, folder.
- Trace one URL per group with curl, with no cookies and as Googlebot.
- Break any loop by keeping each rule (HTTPS, www, trailing slash) in one place.
- Rewrite chains so each old URL goes to its final destination in one server-side 301 or 308.4
- Update internal links and the sitemap to the final URLs.
- Click Validate fix.
Myths
Some top-ranking guides say these. Google’s documentation says otherwise.
| Often said | What’s actually true |
|---|---|
| Redirects slower than 150 ms cause timeouts | Google publishes no such threshold. Its list of redirect errors doesn’t include speed.1 |
| Using a 302 instead of a 301 causes a redirect error | Google follows 302s; it treats them as a weaker signal about which URL is canonical.2 |
| Redirecting to a 404 page causes this error | It isn’t one of the four redirect errors Google lists, though the redirect is still worth fixing.1 |
How long it takes
- Up to about 2 weeksfor Search Console to validate a fix, sometimes much longer.1
- A few weeksfor most pages of a small to medium site to move after a migration, by Google’s estimate.3
- At least 1 yearto keep redirects in place after a move.3
Redirect error vs page with redirect
| Redirect error | Page with redirect | |
|---|---|---|
| Did Google reach a final page? | No | Yes |
| Google’s description | Chain too long, loop, URL too long, or bad URL1 | A non-canonical URL that redirects to another page1 |
| Is it a problem? | Yes, if the URL matters | Usually not. It’s how redirects should look |
| Fix | Break the loop or shorten the chain | None, unless the wrong page redirects |
Questions
What is the difference between Redirect error and Page with redirect?
Page with redirect means the URL redirects to another page that Google can index, which is normal. Redirect error means Google couldn’t reach a final page at all: the chain was too long, looped, grew too long, or hit a bad URL.
How many redirects does Googlebot follow?
Google’s documentation says up to 10 hops. John Mueller has also described it as up to 5 hops per crawl attempt. Either way, Google advises redirecting to the final URL directly, or keeping chains under 5 hops.
How do I fix ERR_TOO_MANY_REDIRECTS on Cloudflare?
The usual cause is the Flexible SSL mode combined with a server that redirects HTTP to HTTPS. Install a certificate on your server and switch Cloudflare’s SSL/TLS mode to Full (strict).
Why does URL Inspection show no redirect error?
Google’s inspection tools don’t follow redirects, so the live test only shows the first response. Test the whole chain with curl or the checker on this page, and inspect the final URL separately.
How do I fix redirect loops in WordPress?
Check that the WordPress Address and Site Address settings use the same protocol and www form as your server and CDN rules. Then look for redirect or SSL plugins that duplicate a rule your server already applies.
Is a 302 redirect a redirect error?
No. Google follows 302 redirects; it just treats them as a weaker signal than a 301 about which URL should be canonical. Use 301 or 308 for permanent moves.
Sources
- Google, “Page indexing report”, Search Console Help
- Google, “How HTTP status codes affect Google’s crawlers”, Search Central, updated February 2026
- Google, “Site moves with URL changes”, Search Central, updated August 2026
- Google, “Redirects and Google Search”, Search Central, updated April 2026
- John Mueller (Google), Reddit r/bigseo, January 2020, reported by Search Engine Journal
- Google, “Crawl budget management for large sites”, Search Central, updated July 2026
- Cloudflare, “ERR_TOO_MANY_REDIRECTS”, Cloudflare Docs, updated September 2026
- Google, “Fix Search-related JavaScript problems”, Search Central, updated December 2025
- Google, “How Google interprets the robots.txt specification”, Search Central, updated August 2026