SEO 4 min read · 14 August 2026

Redirect chains: what they cost, and how to find them

One redirect is fine. Four in a row is a page that takes an extra second to open and a crawler that may give up before it arrives. They accumulate silently over years of site changes.

Redirects accumulate the way cables behind a desk accumulate. Every site migration, every URL structure change, every "let's move the blog to a subfolder" adds a layer, and nobody ever removes the layer underneath. Five years later a single link goes through four hops before it arrives.

The status codes, briefly

301 Moved Permanently. The default for anything that has genuinely moved. Search engines transfer signals to the new URL and eventually replace the old one in their index. Browsers cache it aggressively — which is worth knowing, because a 301 published by mistake is remembered by your visitors' browsers long after you fix it.

302 Found (temporary). The original stays indexed; the redirect is understood as a temporary detour. Correct for A/B tests, maintenance pages and short campaigns. Wrong for a permanent move, and this is the most common redirect mistake there is — a 302 on a permanent move leaves the old URL indexed and the new one competing with it.

307 and 308. The strict modern equivalents of 302 and 301. The difference is that 301 and 302 historically allowed a browser to convert a POST into a GET when following the redirect; 307 and 308 forbid it. For ordinary page redirects the practical behaviour is the same; for forms and APIs it is not.

Meta refresh and JavaScript redirects. Both work in a browser, both are slower, and both are handled inconsistently by crawlers. Use a real HTTP redirect wherever you can.

What a chain actually costs

A chain is /old/older/new/new/. Four requests where there should be one.

Speed. Every hop is a full round trip: DNS if the host changes, TCP, TLS, request, response. On a good desktop connection that is maybe 100 ms each. On mobile it is regularly 300–500 ms. Three redirects on a phone can be a second and a half before the real page has even started loading — and that time lands squarely in Largest Contentful Paint.

Crawl budget. Every hop is a fetch. On a large site, a crawler spending its allocation walking chains is a crawler not fetching your new pages.

Crawler patience. Google follows up to about five hops in one pass, then stops and comes back later. Chains longer than that risk the destination not being reached at all.

Ordinary breakage. Long chains lose query strings, break fragments, drop POST bodies, and confuse analytics about where a visit came from.

How they form

Almost always through layering rather than intent:

  • http → https, added at the server
  • non-www → www, added at the CDN
  • trailing slash normalisation, added by the framework
  • an old URL structure from a migration three years ago
  • a lowercase-URL rule someone added after a support ticket

Each of those was a sensible single decision. Request http://example.com/Old-Page and you can walk through all five.

The fix is to flatten: rewrite the oldest rules to point directly at the final URL, rather than at whatever the next-oldest rule expects. It is tedious and it is a genuine performance win.

Loops

The pathological case: A redirects to B and B redirects back to A. The browser gives up with ERR_TOO_MANY_REDIRECTS and the page is completely unreachable.

The classic cause is two systems disagreeing about a rule. The server forces a trailing slash, the application forces no trailing slash, and they argue forever. The other classic is a CDN forcing https while the origin, not knowing it is behind a proxy, sees http and redirects to https again.

Loops are invisible in most testing, because a logged-in editor's session or a cached page often bypasses the offending rule. They are found by requesting the URL cold, which is what a checker does.

Finding them

Our redirect chain checker follows a URL hop by hop and lists every step with its status code and destination, so a four-hop chain is visible as four rows rather than as a page that felt a bit slow. The HTTP status code checker is the quicker version when you only need the final answer, and the header checker shows the full response headers when you need to know why — a Location header from an unexpected source usually identifies which layer is responsible.

Worth testing all four entry variants of any URL you care about: with and without www, http and https. That single check finds most chains on most sites.

Rules worth keeping

  • 301 for permanent, 302 only for genuinely temporary. If it will still be true in six months, it is permanent.
  • Point every redirect at the final URL. Never at another redirect.
  • One canonical host and one canonical protocol, decided once and enforced in one place rather than three.
  • Redirect to the equivalent page, not the homepage. Mass-redirecting retired URLs to the front page is treated as a soft 404 and passes nothing.
  • Keep the old rules. Old redirects still receive traffic from old links for years. Flatten them; do not delete them.
  • Update internal links. If your own navigation points at URLs that redirect, you are paying the cost on every page view. Internal links should always point at the final URL.

That last one is the cheapest win on this list and the one most often skipped. A redirect exists for external links you cannot control. Your own links you can.

More guides

Stay Updated

Get the latest tools, AI features, and product updates. No spam.