A redirect chain is a sequence of redirects between an original URL and its final destination — A redirects to B, B redirects to C, C is the live page. A redirect loop is a chain that circles back to an earlier URL, creating an infinite cycle. Both are SEO problems. Chains dilute PageRank with every hop, add latency that impacts Core Web Vitals, and risk Googlebot abandoning the crawl before reaching the final URL. Loops prevent any crawl at all.
How PageRank is lost through redirect chains
Each 301 redirect passes approximately 99% of link equity — but that loss compounds with every hop. A three-hop chain (A → B → C → D) passes roughly 97% of the original equity. At five hops, you're passing around 95%. More importantly, Googlebot has a crawl budget limit per domain. Every redirect hop consumes a crawl request. A site with thousands of chained redirects wastes a meaningful share of its crawl budget on intermediary URLs that add no value.
✦ Insight
Google's John Mueller has confirmed that Googlebot follows redirect chains up to around 5 hops before giving up. Any chain longer than 5 redirects risks the final destination URL never being crawled from that entry point — meaning any backlinks pointing at the original URL never reach the live page.
How to find redirect chains and loops
The fastest way to test a specific URL is the `curl -IL` command shown below — it prints every hop in the chain in your terminal without needing any tool. For a full-site audit, filter your server or CDN logs for 3XX responses and trace the destination chain for each one. In Google Search Console, the Pages report flags 'Page with redirect' in the Not Indexed section — these represent URLs Google found during crawl that return a redirect rather than a 200, which means any backlinks pointing at those source URLs are running through a chain before reaching your live page.
# Test a single URL chain in terminal
curl -IL https://example.com/old-page
# Output shows each hop:
# HTTP/1.1 301 Moved Permanently
# Location: https://example.com/interim-page
#
# HTTP/1.1 301 Moved Permanently
# Location: https://example.com/final-page
#
# HTTP/1.1 200 OK ← final destination
# 3 hops = a chain. Ideal is 1 hop (old URL → final URL directly).The fix: collapse chains to a single hop
The correct fix is always to update the redirect at the origin to point directly to the final destination — not to insert a direct redirect at the intermediary. If A → B → C, update A's redirect to point directly to C. Then update B's redirect to also point to C (in case any direct links or crawls hit B). This collapses the chain to a single hop from every entry point.
- Export all redirect rules from your server config, CDN (Cloudflare, Vercel, etc.), or CMS
- Map the full chain for each redirect source — trace every hop to its final destination
- Update the origin redirect to the final destination URL in a single step
- Update any intermediate redirects to also point directly to the final destination
- Re-crawl after deployment to confirm chain length = 1 for all affected URLs
- For redirect loops: identify the circular reference (A → B → A or A → B → C → A) and break the loop by removing or correcting one redirect rule
Common causes of redirect chains
- HTTP → HTTPS redirect stacked on top of a www → non-www redirect (two hops for every HTTP non-www URL)
- Multiple sequential site migrations without cleaning up old redirect rules
- CMS permalink structure changes that create a chain on top of existing redirects
- CDN redirect rules that conflict with server-level or application-level redirects
- A/B testing or personalisation tools that insert temporary redirects which are never removed
⚠️ Warning
The HTTP → HTTPS + www → non-www double hop is the most common chain on the web and is completely preventable. Consolidate both rules into a single redirect at the CDN or server level: HTTP + www → HTTPS + non-www in one step. Every site should audit this on setup.
💡 Tip
Redirect chains are a core scenario in SEOdisaster Level 1. You'll be handed a site that went through three sequential migrations — each adding a new redirect layer — and asked to determine which pages are losing equity through chain depth and prioritise which chains to collapse first.