Redirect chain
Definition
A redirect chain is two or more sequential HTTP redirects — URL A → 301 → B → 301 → C. Each hop adds latency, consumes crawl budget, and risks clients stopping mid-chain. Most crawlers abandon the chain after 5-10 hops; users wait through every one.
Long definition
Redirect chains accumulate silently over years of site changes. The usual contributors, in rough frequency order:
- HTTP → HTTPS migration without updating internal links.
- WWW → non-WWW normalization (or vice versa) without updating internal links.
- Trailing slash vs no trailing slash handled by two separate rules that each redirect instead of serving directly.
- Locale detection —
/en→/en-us→/en-us/home. - Product URL changes after rebrands, category restructures, SKU unifications.
The SEO cost:
- Crawl budget: Googlebot spends a request on each hop. On large sites with many chained redirects, this adds up to measurable crawl waste.
- Link equity: Google has said 301 redirects pass "the vast majority" of link equity, but "vast majority" ≠ 100%. Each hop loses a little; chains compound the loss.
- Client breakage: Some HTTP clients (libcurl defaults to 50, some SDKs lower, some SEO tools stop at 5) abandon chains, reporting the target as unreachable.
- User-perceived latency: Each hop is a full TCP + TLS round-trip. On mobile networks, 3 hops adds 500-1500 ms to Time to First Byte.
Audit with a crawler that reports redirect paths (Screaming Frog, Sitebulb, ahrefs site audit, CrawlSense). Filter for chains length ≥ 2 and sort by inbound link count to prioritize.
Common misconceptions
- "301 vs 302 doesn't matter for chains." 302s in a chain are worse: Google treats 302 as "temporary," so it keeps crawling the original URL at the original frequency, compounding the waste.
- "Collapsing chains is not worth it on small sites." On a 100-URL site maybe. On any site with >10k URLs and >3 redirect rules, chains compound combinatorially and regressions are easy.
- "Meta refresh and JavaScript redirects count." Google treats
<meta refresh>with 0 delay as a 301 equivalent; JS redirects vialocation.hrefare followed but slower and less reliable. Both count toward chain length. - "Redirects live forever." Don't. Google gradually treats a 301 as a consolidation signal and eventually swaps the indexed URL. Once that's done, the redirect is still needed for users with old links, but the link-equity question is moot.
Continue exploring