Redirect Chain Checker
Analyze redirect chains with latency tracking and SEO impact analysis.
Redirect Checker that traces every hop, not just the final URL
Paste a URL. We follow it hop by hop — status code, whether the request method survives, and where it finally lands — and flag loops before you find them in production. Then we tell you which hop count actually matters: Google's crawl default, Mueller's real-world recommendation, and the browser's hard stop, because those three numbers are not the same number.
Built and reviewed by Sayed Hasan, founder of SEOs Hut · Updated 28 September 2026 · Free, no signup
How many redirects is too many?
More than five, if you want Google to treat the chain reliably — John Mueller: "less than 5 hops... per crawl attempt." Google's crawlers will still follow up to 10 hops by default before giving up. Browsers hard-fail at 20 — Chromium's own source caps it there, per the Fetch standard. One hop is ideal; anything past five is worth collapsing.
One migration, four hops, annotated
A typical post-migration chain: bare domain, then HTTPS, then www, then the real page. Nothing here is broken. All of it is worth collapsing to one hop.
How many hops is actually acceptable
"How many redirects is too many" has four different answers depending on who's asking.
1 hop
Old URL points straight at the new one. No ambiguity, no budget spent, nothing to collapse.
- Direct 301 or 308
Under 5 hops
Mueller's number: "less than 5 hops... per crawl attempt" for frequently-crawled URLs.
- 2–4 hops
- Still worth collapsing
10 hops
"By default, Google's crawlers follow up to 10 redirect hops." Past this, content from the redirecting URL is ignored, and Google Inspection Tools won't follow it at all.
- 10 hops
- Inspection Tools stops here
20 hops
Chromium ships kMaxRedirects = 20, enforcing the Fetch standard's own limit: at 20, "return a network error."
- 20 hops
- ERR_TOO_MANY_REDIRECTS
301, 302, 303, 307, 308, meta refresh, JavaScript
Google's own split is permanent (301, 308, instant meta refresh, JavaScript location) versus temporary (302, 303, 307, delayed meta refresh) — and only the permanent set is a strong signal that the target should be canonical.
| Redirect type | Google: permanent or temporary | Request method preserved? | What Google actually does with it |
|---|---|---|---|
| 301 | Permanent — strong canonical signal | Not guaranteed — a user agent MAY change POST to GET | Treats the target as the page to index |
| 302 | Temporary — weak signal | Preserved by spec, but commonly swapped to GET in practice | Keeps showing the OLD URL in results while still following through |
| 303 | Temporary | Changes to GET by design — that's what 303 is for | Same temporary treatment as 302 |
| 307 | Temporary — Google treats it as equivalent to 302 | Must not change — "the user agent MUST NOT change the request method" | Weak signal, despite being method-safe |
| 308 | Permanent — Google treats it as equivalent to 301, though "semantically different" | Must not change — the POST-safe permanent option | Strong canonical signal; use it when a POST must survive |
| Meta refresh, 0 seconds | Permanent, per Google | N/A — client-side, no HTTP method involved | Treated the same as a 301 |
| Meta refresh, delay > 0 | Temporary | N/A | Weak signal, same bucket as 302 |
| JavaScript location redirect | Ranked last by Google's own guidance | N/A | "Google might never see it if rendering of the content failed" — only use if server-side and meta refresh aren't possible |
Scroll the table sideways to see every column.
308 dates only from June 2014, which is why it's still the least-used option here despite being the only permanent redirect that's also POST-safe.
Loops are a spec-level concern, not just a bug
“A client SHOULD detect and intervene in cyclical redirections (i.e., "infinite" redirection loops)”
<b>RFC 9110 §15.4, IETF</b> — RFC 9110
A redirect that silently turns a POST into a GET doesn't announce itself. Your migration checklist passes because someone tested the link in a browser, which sends GET requests anyway. The webhook, the form action and the API client that send POST are the ones that find out in production, days later, when a submission arrives at the wrong endpoint with the wrong method. Test every redirect that anything POSTs to, not just the ones people click.
After a permanent redirect, Google doesn't drop the old URL overnight. It becomes what Google's own docs call an "alternate name," and Google "will continue to occasionally show the old URLs in the results, even though the new URLs are already indexed." That's expected, not a sign the redirect failed — confirm the new URL is indexed with the Index Checker rather than judging the migration by which URL still shows up in a search.
Chains that end somewhere other than a 200 are a different problem with a different tool. If the final hop is a 404, this checker won't flag it — the Broken Link Checker will.
"302s get treated like 301s anyway" — not for canonicalization
Google follows both. That's not the same as treating them the same. A 301 or 308 is a strong signal that the target should be canonical. A 302, 303 or 307 is a weak signal, and Google's guidance is explicit that the source page keeps showing in results under a temporary redirect. If you need the new URL to actually replace the old one in search, the status code has to be permanent — that part isn't optional.
Four ways redirect audits go wrong
Fixing the symptom hop instead of the source
What happens: Someone finds hop 3 redirecting to hop 4 and patches that link, leaving hops 1 and 2 in place. The chain gets shorter by one, not to one.
Do this instead: Trace the whole chain first, then repoint every internal link, canonical tag and sitemap entry at the final destination directly.
Auditing redirects without checking who's linking to them
What happens: A chain that resolves fine can still be sitting on top of backlinks pointing at an intermediate URL, quietly leaking link equity through extra hops.
Do this instead: Cross-check the chain against your backlink profile before you assume a working redirect is a finished one.
Treating every non-200 as this tool's problem
What happens: A chain that ends in a 404 or 5xx isn't a redirect problem — it's a broken link, and it needs different remediation.
Do this instead: Fix redirect issues here. Find dead ends with the Broken Link Checker.
Ignoring the load-time cost
What happens: Each hop is a full round trip. On a slow mobile connection, three hops before the real page even starts loading is measurable, not theoretical.
Do this instead: If a page with several hops also loads slowly, confirm the hops are actually the cause with the Core Web Vitals Checker before optimising anything else.
Before you close the migration ticket
Chains and loops are usually migration debris, not one-off mistakes — if you're finding several, that's worth a full SEO audit rather than patching hop by hop. And if this is an old domain, don't be surprised by what's in there: long-lived sites accumulate redirects nobody remembers creating, which is exactly what a domain age check puts in context.
Redirect Checker FAQ
What is a redirect chain?
What does a 307 or 308 redirect mean?
What is redirect in SEO?
How many redirects is too many?
Why do I get ERR_TOO_MANY_REDIRECTS?
301 vs 302 — which should I use?
Primary sources used on this page
- Google: crawlers follow up to 10 redirect hops by default; Inspection Tools doesn't follow redirects — developers.google.com
- Google: permanent vs temporary redirects, JavaScript redirects ranked last, old URLs as "alternate name" — developers.google.com
- John Mueller on keeping redirect chains under 5 hops — www.searchenginejournal.com
- WHATWG Fetch standard: 20-redirect network error cap — fetch.spec.whatwg.org
- RFC 9110 §15.4: redirection method semantics and cyclical-redirect handling — www.rfc-editor.org
What to check right after a redirect audit
A clean chain doesn't confirm the migration worked on its own — these are the checks that do.
Read the guide: How to Check Redirects and Fix Redirect Chains and HTTPS and SEO: Is HTTPS a Google Ranking Factor?. Want it handled for you? See our website audit service.