Redirect Chains: How They Hurt SEO and How to Fix Them
A single redirect is fine. A chain of redirects is a performance and SEO problem. Here's why they happen and how to clean them up.
What is a redirect chain?
A redirect chain occurs when URL A redirects to URL B, which then redirects to URL C (and possibly further). Instead of a direct path to the final destination, the browser and search engine crawler must make multiple round trips.
For example:
301 http://example.com → https://example.com
301 https://example.com → https://www.example.com
200 https://www.example.com → final page
That's two hops before reaching the content. Each hop adds latency and causes problems for both users and search engines.
Why redirect chains hurt SEO
Link equity dilution
When a backlink points to URL A and it redirects through a chain, a small amount of PageRank is lost at each hop. Google passes roughly 85–99% of link equity through a single redirect — chain multiple redirects and the loss compounds.
Crawl budget waste
Googlebot has a limited crawl budget for your site. Redirect chains force Googlebot to spend that budget following hops instead of discovering new content. Large sites with many chained redirects can see important pages crawled less frequently.
Page speed impact
Each redirect adds an HTTP round trip — typically 100–300ms per hop. On mobile connections, a two-hop chain can add over half a second to Time to First Byte (TTFB). Core Web Vitals are directly affected.
Indexing confusion
Googlebot may index an intermediate URL in the chain rather than the final destination, causing duplicate content issues or the wrong URL appearing in search results.
301 vs 302: which to use?
The redirect type matters significantly for SEO:
- 301 (Permanent) — tells search engines the page has moved permanently. Link equity is passed. Use this for site migrations, HTTP→HTTPS, and canonical redirects.
- 302 (Temporary) — signals the move is temporary. Googlebot may continue to index the original URL. Link equity transfer is uncertain. Only use this for genuinely temporary situations.
- 307 (Temporary, method-preserving) — like 302 but preserves the HTTP method (POST stays POST). Rarely needed outside API contexts.
- 308 (Permanent, method-preserving) — like 301 but method-preserving. Use for API redirects that must preserve POST data.
Common causes of redirect chains
- HTTP → HTTPS migration stacked on top of a pre-existing www → non-www redirect
- CMS URL changes — changing a slug while old redirects remain in the database
- Multiple site migrations — each migration adds a layer without cleaning up old redirects
- Trailing slash inconsistency —
/pageredirecting to/page/which then redirects elsewhere - Affiliate or tracking links that redirect through multiple analytics hops before reaching the destination
How to fix redirect chains
- Audit your redirects — use our Redirect Checker to trace the full chain for any URL and see every hop and status code.
- Point directly to the final URL — update all redirects in your server config or CMS to go directly to the final destination in a single 301.
- Update internal links — if your own pages link to URLs that redirect, update those links to point to the final URL directly.
- Contact external link owners — for high-value backlinks pointing to intermediate URLs, reach out to request a link update.
- Set a canonical URL policy — decide once whether you use www or non-www, HTTP or HTTPS, trailing slash or not — and stick to it everywhere.
What about redirect loops?
A redirect loop is when URL A redirects to URL B and URL B redirects back to URL A — creating an infinite loop. Browsers will show an error like "Too many redirects." These happen when misconfigured server rules or CMS settings create circular dependencies. The fix is the same: trace the chain, identify the loop, and correct the redirect rules at the server level.
Trace any redirect chain instantly
See every hop, status code, and final destination for any URL — free, no signup.
Open Redirect Checker