SEO glossary
What is a Redirect Loop?
Learn what redirect loops are, how A→B→A cycles block Googlebot, common causes in HTTPS and www rules, and debugging steps to break loops without breaking SEO.
Definition
A redirect loop occurs when a series of HTTP redirects cycles back to a previous URL in the chain—such as A redirecting to B and B redirecting to A—preventing clients and crawlers from ever reaching a final 200 OK response.
Redirect loop: crawlers trapped in endless redirects
A redirect loop is a cycle in the redirect graph: URL A redirects to B, B redirects to C, and eventually a URL redirects back to A—or directly B → A. No 200 OK destination exists. Browsers show "too many redirects"; Googlebot logs crawl errors and abandons the fetch.
Loops are more severe than redirect chains. Chains eventually deliver content after wasteful hops. Loops deliver nothing—blocking indexing, wasting crawl budget, and stranding external link equity at a dead transport layer.
Loop vs chain
Chain (terminates):
A → B → C → 200 OK
Loop (never terminates):
A → B → A → B → A → ... (failure)
Some loops involve three nodes:
http://example.com → https://www.example.com → http://example.com → ...
Classic loop patterns
HTTP ↔ HTTPS conflict
Origin forces HTTP while CDN forces HTTPS:
http://example.com/page
→ 301 https://example.com/page (edge)
→ 301 http://example.com/page (origin insecure redirect)
→ loop
Fix: origin must accept HTTPS or edge must not redirect back—single policy on HTTPS canonical host.
www ↔ apex ping-pong
https://www.example.com → 301 https://example.com
https://example.com → 301 https://www.example.com
Marketing chose apex; legacy CMS chose www—both issue 301 Redirect.
Trailing slash oscillation
/blog/post → 301 /blog/post/
/blog/post/ → 301 /blog/post
Apache and nginx slash rules duplicated inversely.
Locale or cookie gates
/page → 302 /en/page → 302 /page when geo cookie resets—302 Redirect loop invisible to single-region tests.
Load balancer health redirect
Unhealthy pool redirects to maintenance host; maintenance redirects back to primary—loop during partial outage.
CMS canonical plugin + server rule
Plugin redirects to "canonical" slug; server redirects bare slug to prefixed path—cycle on every product URL.
SEO impact
Complete fetch failure
No HTML to render or index. URL stuck in error state—worse than 404 Error where at least status is honest terminal.
Crawl error reports
Search Console may show "Redirect error" or failed fetch. Spikes after CDN rule changes warrant immediate loop audit.
Equity stranded
Backlinks to looped URL pass nothing to indexable destinations until loop broken and 301 Redirect points to stable 200 OK target.
Sitewide risk
Loops on:
/homepagerobots.txtpath- Global host redirect rules
can near-stop host crawling—catastrophic during peak season.
Distinction from 502 Bad Gateway
Proxies may return 502 when redirect depth exceeds internal limits—symptom looks like gateway failure; root cause is loop.
Detecting redirect loops
curl with redirect limit
curl -v -A "Googlebot" -L --max-redirs 5 -o /dev/null \
'http://www.example.com/' 2>&1 | grep -E '< HTTP|< Location'
Repeating Location pairs indicate loop.
Browser devtools
Network tab—watch redirect count climb until failure.
Crawl graph cycle detection
Algorithms mark strongly connected components in redirect graph—loops appear as cycles, not trees.
Compare user-agent and region
Some loops trigger only for Googlebot or specific PoPs—reproduce with matching UA and CDN trace headers.
Breaking loops without SEO collateral damage
Choose one canonical host policy (apex or www, HTTPS only, slash convention). Enforce in a single layer—CDN or origin—not both. Remove opposing CMS rules. Verify every template returns ≤1 hop to 200 OK, then request Search Console recrawl on key URLs.
Example: dual CDN migration loop
shop.example added second CDN for DDoS protection. Outer CDN HTTPS → inner CDN HTTP → origin HTTPS → outer HTTP—four-node loop on assets and HTML.
Symptoms:
- 60% Googlebot fetch failures sitewide
- Revenue drop correlating with migration—not algorithm
Fix: end-to-end TLS on single redirect hop to canonical HTTPS host; inner CDN origin pull HTTPS only; removed origin HTTP downgrade. Crawl errors normalized within 72 hours; indexation rate recovered over three weeks.
Internal links into loops
Fix server rules first; then update internal links still pointing at loop entry URLs—otherwise crawlers keep queueing doomed fetches from crawl paths you control.
How Crawlox helps with redirect loops
Crawlox detects cycles in redirect graphs during authorized crawls—flagging URLs that never reach 200 OK. Visualize opposing 301 Redirect rules between host variants, trace loop entry points from internal links, and validate post-fix crawls show a single hop (or direct link) to indexable destinations without "too many redirects" failures blocking Googlebot.
Related terms
Frequently asked questions
How does Google handle redirect loops?
Googlebot cannot retrieve a final document. The URL fails as a crawl error—no indexing update—and may appear as redirect error in Search Console.
Why do browsers say 'too many redirects'?
Browsers cap redirect follows (often ~20). A loop hits the cap and aborts—the same failure crawlers experience without a user-facing message.
Can a redirect loop affect my whole site?
If homepage or global host rules loop, sitewide crawling stops. A loop on one obscure path only blocks that URL and inbound links to it.
How do I find the loop?
Trace redirects with curl -v -L, browser devtools network tab, CDN redirect logs, and crawl tools that detect cycles in redirect graphs.
Is a loop worse than a long redirect chain?
Loops are total failure—zero content. Long chains still may reach 200 OK eventually but waste budget. Both need fixes; loops are urgent.
References
Explore authoritative guidance and frameworks related to redirect loop.
Explore every glossary definition
Return to the glossary to search by term, alias, starting letter, or category.