Redirect Checker Example: 3-Hop Chain with HTTP Codes
This example shows the aiwebpageseo Redirect Checker following a URL through a 3-hop redirect chain. The report shows each hop with its HTTP status code, the redirect type (301, 302 etc), time taken and the final destination — plus warnings about chain length.
The chain above is worth fixing. The reason usually given for fixing it is wrong, and believing it leads people to panic about the wrong things.
Google has stated repeatedly and unambiguously that no PageRank is lost through a 301 or a 302 redirect. The idea that each hop bleeds off a percentage of authority — that a three-hop chain arrives with 85% of what it started with — is folklore. It dates from a much older era of the algorithm and it has not been true for many years. There is no decay function. There is no per-hop tax.
Four reasons that are real
1. Latency. 133ms here, and every hop is a full round trip. On mobile, on a poor connection, three round trips before the first byte of actual content is a genuine cost — it lands directly on TTFB, and TTFB lands on LCP.
2. Crawl budget. Every hop is a request Googlebot spends without receiving any content. On a large site with thousands of chained URLs, that adds up to real crawl capacity burned on nothing.
3. Googlebot gives up. It follows a limited number of hops in a single attempt — around ten — and then abandons the crawl for that pass, queueing it for later. Long chains genuinely can prevent indexing, and that is a hard failure rather than a gradual one.
4. Every hop is a link in a chain that can break. This is the one that actually bites, and the next section is about it.
Read the three hops. This is not carelessness; it is three entirely reasonable decisions made at different times, by different people, each of which worked.
- HTTP → HTTPS. Someone installed a certificate and added a rule forcing HTTPS. Correct.
- non-www → www. Someone standardised on the www host. Correct.
- old domain → new domain. The site migrated. Correct.
Each rule is right. Stacked in sequence they produce a three-hop chain, and nobody ever decided that. This is how essentially every redirect chain on the internet comes into existence — accumulated one sensible rule at a time.
The fix is to collapse the destinations, not to remove the rules. The first rule should point directly at the final URL, in one hop, on the canonical protocol and host:
Chains break silently, one link at a time
The old domain's registration lapses. The HTTPS rule is refactored. Somebody tidies up "unused" rules in the config. Any single hop failing takes down everything downstream of it — and it fails silently, because nobody is testing an eight-year-old URL that redirects to a URL that redirects to a URL.
A one-hop redirect has one point of failure. A three-hop chain has three, spread across systems and years. That is the argument for collapsing it, and it is a much better one than link equity.
Every hop above is a 301, which is right. The distinctions between the four codes are routinely explained in terms of link equity, which is the wrong axis. Here is what actually separates them:
| Code | Meaning | Preserves the HTTP method? |
|---|---|---|
| 301 | Moved permanently | No — a POST may be converted to a GET |
| 302 | Found (temporary) | No — same conversion |
| 307 | Temporary redirect | Yes — a POST stays a POST |
| 308 | Permanent redirect | Yes |
That method-preservation column is the genuinely important one, and it has nothing to do with SEO. Redirect a form submission with a 301 and the request body can be silently discarded, turning a POST into a GET. If you are redirecting anything that carries data — a form, an API endpoint, a checkout step — use 307 or 308.
And the real difference between 301 and 302 for search: not equity, but which URL gets indexed. A 301 tells Google to consolidate on the destination and drop the old URL. A 302 says "this is temporary, keep the original indexed". Use a 302 for a permanent move and Google may keep showing the old URL in results indefinitely — because you told it to. That is the cost of the wrong code, and it is quite different from losing authority.
Redirecting everything to the homepage
The classic migration shortcut: point every removed URL at / with a 301. Google treats these as soft 404s — it can see that the destination has no relationship to the request, and it will not transfer anything. You have gained nothing over a clean 404 and lost the honest signal. Redirect to the closest equivalent page, or return a 410 and let it go. An irrelevant redirect is worse than an honest error.
Removing redirects too soon
Google's guidance is to keep migration redirects in place for at least a year. External links to the old URLs never get updated by the people who made them, and those links keep arriving indefinitely. Tearing the redirects out after three months because they look untidy destroys everything the migration preserved.
Leaving the internal links pointing at the old URLs
A redirect is a safety net for links you do not control. It is not a substitute for updating your own. If your navigation, your body content and your sitemap still point at redirected URLs, you are forcing every visitor and every crawl through an unnecessary hop, on your own site, for no reason. Update the links at the source; keep the redirect for everyone else.
Redirect loops
A → B → A. The browser gives up with an error and the page is completely unreachable. The usual cause is two well-meaning rules disagreeing — an HTTPS rule and a www rule in the wrong order, each undoing the other. A checker following the chain is the only reliable way to catch these, because your own browser has probably cached its way past the problem.
JavaScript and meta-refresh redirects
Both work in a browser and neither is a real redirect. There is no HTTP status code, so there is nothing for a crawler to interpret as a permanent move — and any consumer that parses without executing JavaScript sees a page with no content and no redirect at all. Redirect at the server, in the HTTP response. Everything else is a workaround.
What is a redirect chain?
A redirect chain occurs when URL A redirects to URL B which redirects to URL C. Each hop adds latency and consumes crawl budget. Google follows a limited number of redirects — around ten — before abandoning the crawl for that pass. Chains of 3 or more hops should be fixed so URL A redirects directly to the final destination.
What is the difference between 301 and 302?
A 301 is a permanent redirect: it tells Google to consolidate on the destination and drop the old URL from the index. A 302 is temporary: it tells Google to keep the original URL indexed. The difference is about which URL gets indexed, not about link equity — Google has said that neither code loses PageRank. Use a 302 for a permanent move and Google may keep showing the old URL in results indefinitely, because that is what you told it to do.
Do redirect chains lose link equity?
No. Google has stated repeatedly that no PageRank is lost through a 301 or 302, and the idea that a three-hop chain arrives with 85% of its authority is folklore from a much older era of the algorithm. There is no decay function and no per-hop tax. Chains are still worth fixing, but for real reasons: latency on every hop, crawl budget spent on requests that return no content, Googlebot abandoning long chains, and the fact that every additional hop is another point of failure that can silently break the whole path.
How do redirect chains affect SEO?
Each hop is a full round trip, so latency lands directly on TTFB and therefore on LCP. Each hop is also a request Googlebot spends receiving no content, which on a large site burns real crawl capacity. And if the chain is long enough, Googlebot abandons it — which is a hard indexing failure rather than a gradual decline. The most underrated cost is fragility: a three-hop chain has three points of failure, spread across systems and years, and when one breaks it does so silently.
When should I use 307 or 308 instead?
When the request carries data. 301 and 302 permit a POST to be converted to a GET, which silently discards the request body — so redirecting a form submission, an API endpoint or a checkout step with a 301 can break it. 307 and 308 preserve the HTTP method. 308 is the method-preserving equivalent of 301, and 307 of 302. This distinction has nothing to do with SEO and everything to do with not losing data.
Can I just redirect all my old URLs to the homepage?
No. Google treats a redirect to an unrelated page as a soft 404 — it can see the destination has no relationship to what was requested, and it transfers nothing. You gain nothing over a clean 404 while losing the honest signal. Redirect to the closest equivalent page, or return a 410 and let the URL go. An irrelevant redirect is worse than an honest error.
How long should I keep migration redirects?
At least a year, which is Google's own guidance. External links to your old URLs are never updated by the people who created them, and traffic keeps arriving through those links indefinitely. Removing the redirects after a few months because the config looks untidy throws away everything the migration was designed to preserve. Meanwhile, update your own internal links to point at the new URLs directly — a redirect is a safety net for links you do not control, not a substitute for fixing the ones you do.
A checker following one URL tells you about one URL. Three habits turn that into an actual audit:
- Test with an empty cache, from outside your network. Browsers cache 301s aggressively and permanently — a 301 is a promise that the move is forever, and the browser believes you. Ship a wrong 301 and your own machine may keep obeying it long after the server has been corrected, which is why the bug you cannot reproduce is so often a redirect you fixed an hour ago. Use
curl -IL, or a private window, or a different device. This is also the reason to be certain before issuing a 301: a mistaken 302 is trivially reversible, a mistaken 301 is cached on every machine that saw it. - Test the URLs that actually receive links, not the ones in your navigation. Your homepage links are fine; the URL from an eight-year-old blog post is the one silently chaining through four hops. Pull your top linked-to pages from Search Console and run those.
- Test the whole set after any infrastructure change. A new CDN, a certificate renewal, a hosting migration, a plugin update — each can insert a hop nobody authorised. Redirect chains are almost never designed; they accumulate.
The hops that come from outside your config
Not every hop is in your rules. A CDN may add a protocol upgrade. A hosting platform may enforce a trailing slash. A security layer may bounce a request through a check. You can have a chain without a single redirect rule of your own being responsible — which is precisely why you follow the live URL and read what actually comes back, rather than reasoning from the config file.
Related Demo Reports
Run Redirect Chain Checker on Your Own Site
Get your real audit report with specific issues, fixes and actionable improvements.