TrueURL

Free redirect tool

Redirect Chain Checker

Trace every hop between a URL and its final destination. Find unnecessary redirects, temporary codes and slow hops, then flatten the chain to a single redirect.

What is a redirect chain?

A redirect chain is the sequence of redirects a browser or crawler has to follow before it reaches a page with content. One hop, such as /old-page to /new-page, is normal. Chains grow when rules pile up over the years: an HTTP to HTTPS rule, then a www rule, then a trailing slash rule, then a rule from the last redesign. This chain has four redirects where one would do:

http://example.com/shop          301
https://example.com/shop         301
https://www.example.com/shop     301
https://www.example.com/shop/    302
https://www.example.com/store/   200

Why long redirect chains hurt

  • Speed: each hop is a separate request, often with its own DNS lookup and TLS handshake. On mobile networks, every hop can add hundreds of milliseconds before the page starts to load.
  • Crawling: Googlebot follows up to 10 hops and then reports a redirect error. On large sites, every extra hop also uses crawl capacity that real pages could have had.
  • Reliability: each hop is one more server, rule or certificate that can fail, loop or expire.
  • Signals: a single temporary code anywhere in the chain weakens the permanent signal you want search engines to see.

How to read a redirect chain

Each row is one hop. The status shows the kind of redirect: 301 and 308 are permanent, while 302, 303 and 307 are temporary. The method shows where a POST turned into a GET, as browsers do after a 301, 302 or 303. The raw Location value shows exactly what the server sent, which helps you spot relative paths, missing slashes or stray query strings. Hops labelled meta refresh or JavaScript are client-side redirects found in the page's HTML (or in a Refresh header) rather than in a Location header.

A chain ends in one of four ways: a normal response at the final URL, a redirect loop, the Max Hops limit, or an error on a specific hop, such as a DNS failure, a timeout or a certificate problem.

How to flatten a redirect chain

  1. Note the final URL the chain should resolve to.
  2. Change the first redirect rule so it points straight to that final URL with a single 301 or 308.
  3. Merge scheme, host and slash rules into one rule on your server or CDN, so http://example.com/page goes directly to https://www.example.com/page/.
  4. Update internal links, canonical tags and your sitemap to the final URL, so visitors and crawlers don't hit the redirect at all.
  5. Check the old URL again here and confirm the chain is down to one hop.

Guides

Frequently asked questions

How many redirects in a chain are too many?

Aim for one redirect from any old URL to its final URL. Two can be acceptable when unavoidable, for example an HTTP to HTTPS upgrade followed by a host change. TrueURL flags chains with more than three redirects. Googlebot gives up after 10 hops, and browsers stop after about 20 with a "too many redirects" error.

Do redirect chains lose link equity?

Google has said that 3xx redirects don't lose PageRank, so a chain doesn't directly dilute ranking signals. The practical problems are slower pages, wasted crawl requests and a higher chance that one hop in the chain is broken or temporary. Treat chains as technical debt and flatten them.

What's the difference between a redirect chain and a redirect loop?

A chain ends eventually, on a final URL. A loop never ends, because it leads back to a URL that was already visited, and browsers show an error instead of a page. TrueURL detects both; the Redirect Loop Checker explains the common causes of loops and how to fix them.

Can I check a redirect chain that starts with a POST request?

Yes. Set HTTP Method to POST in Advanced Settings and add a request body. The chain then follows browser rules: after the POST, a 301, 302 or 303 continues as a GET without the body, while a 307 or 308 repeats the POST with the same body.

What does "cross-domain" mean in the results?

The final URL's host name differs from the one you entered (a leading www. is ignored). That is expected for short links and domain migrations. If a page on your own site unexpectedly ends up on another domain, look closer: it can point to a misconfigured rule, a hacked site or an open redirect.

Does the chain include meta refresh and JavaScript redirects?

Yes, by default. TrueURL scans HTML responses for meta refresh tags and simple JavaScript redirects, continues the chain from there and labels those hops, so you can tell them apart from HTTP redirects. You can switch this off to see server-side redirects only, or use the Meta Refresh Checker for details.

Why does a hop show an error instead of a status code?

The request for that hop failed before any HTTP response arrived: the host name didn't resolve, the connection was refused or timed out, the TLS certificate was invalid, or the redirect pointed to an invalid or blocked address. The hop's error message tells you which one. The hops before it are still shown, so you can see exactly where the chain broke.