Try the Redirect Mapper

Redirect Chains and Loops: How Years of Migrations Quietly Stack Redirects — and How to Flatten Them

A redirect chain often isn't deliberately created — it accumulates through years of independent, individually-reasonable migrations, each adding one more hop without anyone updating the original redirect. Here's why accumulated hops risk search engines failing to fully traverse a chain, the "flattening" fix, and the common CDN-to-origin protocol mismatch that causes HTTPS redirect loops.

By sadiqbd · June 12, 2026

Share:
Redirect Chains and Loops: How Years of Migrations Quietly Stack Redirects — and How to Flatten Them

Each redirect in a chain doesn't just add a small delay — accumulated redirect hops have been documented to cause search engines to stop following the chain entirely, treating the final destination as effectively unreachable

A "redirect chain" occurs when URL A redirects to URL B, which itself redirects to URL C (rather than A redirecting directly to C) — and "redirect loops" occur when a chain cycles back to a URL already in the chain, creating an infinite sequence with no final destination at all. Both patterns commonly accumulate over time through incremental site changes (each individually reasonable) that collectively create chains/loops nobody intended.


How redirect chains accumulate over time

A common accumulation pattern:

  1. Year 1: /old-page is redirected to /new-page (a deliberate, single-hop redirect — entirely reasonable at the time)
  2. Year 2: the site undergoes a broader restructuring — /new-page is itself redirected to /updated-page (again, a reasonable single redirect, for this migration)
  3. Result: /old-page/new-page/updated-page — a 2-hop chain now exists for anyone/anything still requesting /old-page — even though at no point did anyone intend to create a 2-hop chaineach redirect was created independently, as a reasonable, single-hop response to its own migration event, without anyone updating the Year 1 redirect to point directly to the Year 2 destination.

Why this matters: external links, bookmarks, and other references to /old-page (which might still exist — old backlinks, social media posts, printed materials referencing old URLs) now traverse two redirect hops to reach the current content — and this pattern, repeated across multiple migrations over a site's history, can produce chains of several hops for URLs that have been through multiple rounds of restructuring.


Why chains matter for SEO (beyond just "slightly slower")

Each redirect hop requires an additional HTTP request/response round-trip — a direct impact on page load time for anyone (user or crawler) following the chain, though for most chains of just 2-3 hops, this latency impact alone is often relatively minor in absolute terms (each hop might add tens to low-hundreds of milliseconds).

The more significant concern: crawl efficiency and "chain length tolerance": search engine crawlers do follow redirect chains — but there are practical limits to how many hops a crawler will follow before giving up on reaching a final destination. While specific numeric limits aren't always precisely documented/may vary, the general principle — that very long chains (often cited in the several-hops-or-more range, depending on the specific crawler/context) risk the crawler not reaching the final destination at all, treating the chain as effectively broken — means that chains accumulating beyond a modest number of hops (even if each individual redirect "works" when followed manually, one hop at a time, in a browser) risk search engines failing to fully traverse the chain, with consequences ranging from "ranking signals from the original URL don't fully transfer to the final destination" to, in extreme cases, "the final destination isn't reached/indexed via this chain at all."


The fix: redirect chain "flattening"

The straightforward remediation: for any identified chain (A→B→C, or longer), update the original redirect (A) to point directly to the final destination (C) — eliminating the intermediate hop(s) entirely:

Before:  /old-page → /new-page → /updated-page  (2 hops)
After:   /old-page → /updated-page              (1 hop, direct)

This is sometimes called "flattening" (by analogy to flattening a nested structure into a single level) — and is a common, recurring maintenance task for sites with long histories of incremental URL changes, where periodic audits identify accumulated chains and update the originating redirects to point directly at current final destinations, rather than via whatever intermediate URLs happened to be the destination at the time each individual redirect was originally created.

Why not just "leave it, since each individual redirect still technically works"? Because, as discussed, the crawler-traversal concern isn't about whether each individual hop, examined in isolation, "works" — it's about the cumulative effect of multiple hops in sequence, which can exceed practical traversal tolerances in ways that aren't apparent from examining any single redirect on its own.


Redirect loops: a more severe variant

A redirect loop occurs when a chain cycles back to a URL already visited within the same chain — e.g., A→B→C→A (C redirects back to A, which started the chain) — creating a sequence with no terminal destination at all.

Browsers detect this and display an error (commonly "too many redirects" or similar, e.g., ERR_TOO_MANY_REDIRECTS in Chrome) — unlike a long chain (which might eventually terminate, just after many hops), a true loop never terminatesevery request results in another redirect, indefinitely, until the requesting client (browser, crawler) gives up based on its own internal limits (most browsers/crawlers have a maximum redirect-following limit, after which they stop and report an error, rather than literally looping forever).

Common causes of accidental loops:

  • Conflicting redirect rules at different levels (e.g., a server-level redirect rule and an application-level redirect rule that, individually, each seem reasonable, but together create a cycle — server redirects HTTP→HTTPS, application also has logic that, under certain conditions, redirects HTTPS-back-to-HTTP for that specific path, creating an HTTP→HTTPS→HTTP→HTTPS... loop)
  • www/non-www redirect misconf궁uration: a rule redirecting www.example.comexample.com, combined with a separate, independently-configured rule (perhaps at a different layer — CDN vs origin server) redirecting example.comwww.example.comeach rule, considered alone, might seem like a reasonable "canonicalize to my preferred version" rule — but together, they create a loop between the two versions, with neither ever being the final destination
  • HTTPS/SSL-related redirect loops: a very common pattern when migrating to HTTPS — if the origin server redirects HTTP→HTTPS, but a CDN/proxy in front of the origin terminates SSL and forwards requests to the origin as HTTP (a common CDN architecture: client↔HTTPS↔CDN↔HTTP↔origin) — the origin server, receiving an HTTP request (from the CDN, even though the original client request was HTTPS), redirects this HTTP request to HTTPS — which the CDN then forwards to the origin as HTTP again — creating a loop entirely due to the CDN-to-origin connection being HTTP, while the origin's redirect logic assumes it's seeing the client's actual protocol (which, from the CDN, it isn't — it's seeing the CDN-to-origin protocol, which may differ from client-to-CDN). The fix for this specific common pattern: the origin server's HTTP→HTTPS redirect logic needs to check a header the CDN sets indicating the original client protocol (commonly X-Forwarded-Proto), rather than the literal protocol of the CDN-to-origin connection — redirecting only if X-Forwarded-Proto indicates the original request was HTTP, not simply based on how the CDN happens to connect to the origin.

How to use the Redirect Mapper on sadiqbd.com

  1. Trace the full chain for any URL — entering a starting URL and seeing every hop until a final (non-redirecting) destination, or until a loop is detected
  2. Identify chains exceeding 1-2 hops as candidates for flattening — updating the originating redirect to point directly at the final destination
  3. For detected loops: the tool's trace will show the repeating sequence of URLs — useful for identifying which layer(s) (CDN config, server config, application code) might be contributing conflicting redirect rules, as a starting point for manual investigation of where each step in the loop is configured
  4. Periodic audits: given that chains accumulate gradually through independent, individually-reasonable changes over time (as described), periodic re-checking of historical redirects (not just newly-created ones) helps catch accumulated chains before they reach lengths that risk crawler-traversal issues

Frequently Asked Questions

If a redirect chain is only 2 hops, is it really worth fixing, given the "many hops" concern is about longer chains? A single 2-hop chain, in isolation, is unlikely to cause significant issues on its own — but chains accumulate, as described — a site that doesn't periodically flatten 2-hop chains as they're created will, over multiple future migrations, see some of those 2-hop chains become 3-hop, 4-hop, etc. (if the destination of a 2-hop chain is itself later redirected again, without the original 2-hop chain's first redirect being updated) — addressing chains early (when they're short) is easier than addressing long chains later (which require tracing further back through more historical redirects to identify the correct ultimate destination) — so while a single 2-hop chain might not be urgent in isolation, establishing a practice of flattening chains as part of each migration (updating historical redirects to point at new destinations, rather than letting old redirects point at soon-to-be-redirected-again URLs) prevents the accumulation that eventually produces problematic longer chains.

Does a redirect chain affect the user experience meaningfully, even if SEO/crawling isn't a concern? For users, a short chain (1-2 extra hops) is generally barely perceptible — each hop typically adds milliseconds to low hundreds of milliseconds, which for most connections is not a noticeable delay for a single page navigation. The primary concern for most sites is the crawler-traversal/SEO angle described above, more than direct user-experience impact from short chains — though very long chains (many hops) would eventually become perceptible to users too, this threshold is generally higher than the threshold at which crawler-traversal concerns begin to apply.

Is the Redirect Mapper free? Yes — completely free, no sign-up required.

Try the Redirect Mapper free at sadiqbd.com — trace the full redirect chain for any URL and detect loops instantly.

Share:
Try the related tool:
Open Redirect Mapper

More Redirect Mapper articles