Every unnecessary redirect hop slows your pages, burns crawl budget and creates a dependency that can break. Redirect loops prevent pages from loading entirely. Most sites accumulate both silently over years of redesigns and URL changes — here is how to find and fix every one.
↪️ Check Redirects All Audit Tools →Redirect chains are almost never created intentionally. They build up over time as sites evolve. A URL is redirected once during a redesign. Then the destination URL is redirected again during a later migration. Then that URL is redirected again when the CMS changes. Three years later you have a three-hop chain no one remembers creating.
The standard warning is that each hop bleeds link equity. That framing is out of date, and believing it leads people to fix the wrong things.
Google has stated that 301 and 302 redirects do not lose PageRank. The old "10–15% loss per hop" figure was a reasonable inference in 2010 and has not been true for a long time. If your only reason for fixing a two-hop chain is equity leakage, the reason is weak.
The real costs are elsewhere, and they are worse:
This is the mistake that actually destroys link value, and it is committed constantly — usually by someone trying to be helpful.
When you redirect a removed page to a destination that is not a genuine replacement — most often the homepage — Google treats it as a soft 404. The redirect is honoured for the user, who lands somewhere useless. But Google treats the original URL as missing, and no link value is passed at all. Every backlink pointing at that old URL is now pointing at nothing.
The bulk "redirect everything to the homepage" rule, applied during a migration to avoid a wall of 404s in Search Console, is therefore the single most expensive thing you can do with a redirect map. It looks tidy. It reports clean. It passes nothing.
410 Gone. A 410 states that the removal is deliberate and permanent. Google drops the URL faster and stops recrawling it, which is exactly what you want for content that is genuinely gone. A wall of honest 404s is not a problem; it is an accurate report.A loop takes a page offline entirely — the browser gives up, Google cannot index it, and the user sees an error. The cause is rarely a single misconfigured rule; it is nearly always two rules that are individually correct and jointly contradictory.
http://site → https://site → http://www.site → and round again. Fix by combining them into a single rule that goes to the final canonical host and protocol in one hop — never chain them.| Code | Means | Use for |
|---|---|---|
| 301 | Permanent (method may change) | Migrations, URL changes, canonicalisation. The default. |
| 302 | Temporary (method may change) | Genuinely temporary: A/B tests, short maintenance, seasonal pages returning. |
| 307 | Temporary, method preserved | Where a POST must remain a POST. Chiefly relevant to forms and APIs. |
| 308 | Permanent, method preserved | As 301, where the request method must survive. |
| 410 | Gone, deliberately | Content permanently removed with no replacement. |
A 302 left in place for a year is a lie you told a search engine. It says "come back, the original will return" — so Google keeps the original URL as the indexed one, and keeps recrawling it, waiting for the page you told it would come back. Meanwhile your new destination never fully takes over.
The symptom is unmistakable: the old URL keeps appearing in search results long after you replaced it. Google is doing exactly what you asked. If the move is permanent, say so with a 301 — and check your platform's defaults, because several frameworks and hosting panels emit 302 unless explicitly told otherwise, which means the mistake is usually made once, in a config file, and then repeated a thousand times.
A <meta http-equiv="refresh"> tag or a window.location assignment is not a redirect at the HTTP level. Google will generally follow both after rendering, but they arrive late, they are slower for the user, and other consumers — social scrapers, many AI crawlers, anything that parses rather than renders — will simply not follow them. Use a server-side status code. Always.
A redirect is one statement among several you are making about a URL, and Google weighs them together. When they disagree, it picks — and it may not pick what you meant.
http://site → https://site → https://www.site is two hops on every single request from anyone who typed the domain without a protocol — which is most people. Collapse it to one.A redirect chain is when URL A redirects to URL B, which then redirects to URL C. Each hop is a full network round trip before any page content arrives, so chains are slow for users and wasteful of crawl budget — and every hop is a dependency that can break. Google has stated that 301 and 302 redirects do not lose PageRank, so the old claim that each hop bleeds link equity is out of date. Fix chains by updating the original redirect to point directly to the final destination, eliminating the intermediate hops.
A redirect loop is when two or more URLs redirect to each other in a circle — URL A redirects to URL B, which redirects back to URL A. This causes an error for users and prevents Google from indexing either page. Fix by identifying which redirect is creating the circle and breaking the loop.
A 301 signals a permanent move; a 302 signals a temporary one. Google has stated that both pass PageRank, so the difference is not one of link equity — it is what each tells Google to index. A 302 says the original URL will return, so Google keeps indexing the original and waits for it. Left in place on a permanent move, that is why the old URL keeps appearing in search results long after you replaced it. Use 301 for permanent URL changes, site migrations and canonicalisation. Use 302 only for genuinely temporary redirects.
No — this is the most expensive mistake in a redirect map. Google treats a redirect to a destination that is not a genuine replacement as a soft 404: the redirect is honoured for the user, but the original URL is treated as missing and no link value is passed at all. It looks tidy and reports clean while passing nothing. Redirect only to a page that genuinely satisfies the same intent; where no equivalent exists, return 410 Gone.
Because your own browser holds the cookie, session or stored preference that the redirect logic depends on, so the page resolves normally for you. A first-time visitor — and Googlebot, which has none of those things — hits the loop. Locale redirects that depend on a preference cookie the redirect itself prevents from being set, and CDN-versus-origin HTTPS rules each redirecting on behalf of the other, are the classic causes. Always test in a private window and with a crawler user-agent.
A limited number per crawl attempt — commonly understood to be around five before the chain is abandoned. Beyond the crawl limit, the greater costs are latency, since each hop is a full network round trip before any page content arrives, and fragility: every hop is a dependency, and removing an intermediate rule during a tidy-up collapses the whole trail into a 404 that nobody notices.
Use a server-side status code instead. A meta refresh or a window.location assignment is not an HTTP-level redirect: it arrives late, it is slower for the user, and consumers that parse rather than render — social scrapers, many AI crawlers — will not follow it at all. Google will generally follow them after rendering, but there is no reason to make it work that out.
Run the Redirect Chain Checker and get actionable results in minutes. Pay as you go — no subscription needed.
Check Redirects →aiwebpageseo.com is a data-driven SEO and AEO (Answer Engine Optimisation) platform providing a free suite of technical website tools. Rather than relying on AI-theorised assumptions, the platform analyses live URL performance, delivering objective diagnostics, page speed metrics, CLS debugging, and site crawl data alongside actionable technical tutorials.