问答
Do redirect chains hurt SEO?
A chain will not get you penalised, but every hop costs latency and crawl budget. Here is how many hops are too many and when to fix it.
更新于 2026年3月3日 · 约 3 分钟
Short answer: a chain does not get your pages penalised, but it costs something on every hop, and long chains are usually a symptom of a migration you never finished. Google follows up to 10 hops before giving up, and recommends keeping the count low.
What each hop costs
| Hop count | Verdict | What to do |
|---|---|---|
| 1 (direct 301) | Ideal | Nothing |
| 2 | Acceptable | Leave it; fix if trivial |
| 3–4 | Cosmetic but real | Clean up in the next sprint |
| 5+ | Problem | Fix now — latency and crawl budget |
| Any loop | Broken | Fix immediately; crawlers bail out |
| Chain ending in 404/410 | Actively harmful | Redirect to a live page |
The costs that are real:
- Latency. Every hop is a round trip. On mobile, five hops can add hundreds of milliseconds before the first byte of the real page.
- Crawl budget. Crawlers spend time following redirects. On large sites, chains eat into the budget that could discover new URLs.
- Fragility. A chain breaks if any middle hop is deleted, and long chains have more middle hops.
What actually happens to link signals
Google has said for years that a permanent redirect (301 or 308) passes ranking signals to the destination, so a clean A → B redirect is not a loss of the link you earned. The widely quoted “loses 10–15% per hop” figure is folklore, not a published rule. The honest position:
- A single permanent redirect consolidates signals well.
- Chains still lose value in practice — through crawl inefficiency, broken intermediates, and the chance a crawler stops early.
- Use 301 or 308 for permanent moves and 302 or 307 only for genuinely temporary ones, since 302 tells crawlers to keep the old URL.
The goal is not zero redirects. It is one hop, straight to the final URL.
How to inspect a chain
curl -sIL https://example.com/old-page | grep -iE '^HTTP/|^location:'
-I sends a HEAD request, -L follows redirects, and the filter prints every status line and Location header in order. A clean result is two status lines: one 301 and one 200.
To check a list of URLs and print the effective destination and hop count for each:
while read -r url; do
curl -sL -o /dev/null \
-w '%{http_code} %{num_redirects} %{url_effective}\n' "$url"
done < urls.txt
When you must fix it
- The chain ends in a 404 or 410.
- There is a loop (A → B → A).
- Internal links or the sitemap point at a URL that redirects. Both should reference the final URL directly.
- An
http→https→www→ trailing-slash sequence runs on every request. Collapse it to one canonical hop. - A
302is being used for a move that is actually permanent.
Common mistakes
Redirecting to a URL that redirects again. Point every rule straight at the final destination, not at the next hop.
Leaving old URLs in internal links. Every internal link that passes through a redirect adds a hop for users and crawlers. Rewrite them to the final URL.
Never deciding on trailing slashes. Treating /page and /page/ as different URLs produces a redirect on every visit instead of one canonical form.
Redirecting everything to the homepage. Users and crawlers land on a page that does not answer their query. Redirect to the closest equivalent page.
Not re-checking after a migration. Chains appear when a second migration stacks on the first. Re-audit your highest-value URLs after every move.
Redirecting a page that returns 200 to itself. A misconfigured rule can create a self-redirect loop that is invisible in the browser but wastes every crawl.
Where this tool fits
The redirect chain checker follows every hop, shows the status code, Location and timing per step, and flags loops before they reach production. Run your most valuable URLs through it after any migration.
Frequently asked questions
▸ How many redirects are too many for SEO?
Aim for one. Two is acceptable, three or four should be cleaned up, and anything past five is worth fixing promptly because of the latency and crawl cost. Google follows up to ten hops before giving up.
▸ Does a 301 redirect lose PageRank?
A permanent redirect passes ranking signals to the destination, so a straight one-hop redirect is not a loss. The widely quoted per-hop decay figure is folklore, but chains still cost crawl budget, add latency and can break if an intermediate hop is removed.
▸ Should I use 301 or 302 for a permanent move?
Use 301 or 308 for permanent moves so crawlers consolidate signals on the destination. 302 and 307 tell crawlers the move is temporary, so they keep the old URL indexed instead.
▸ Do redirects hurt crawl budget?
They consume it. Every hop is a request the crawler has to spend time on. On large sites, long chains eat into the budget that could be spent discovering new URLs.
▸ What is the worst kind of redirect?
A loop, or a chain that ends in a 404 or 410. Both waste crawl budget and send users to a dead end, and a loop can make a crawler abandon the URL entirely.