Why Redirect Quality Matters
Every redirect adds latency, adds a request the browser must make, and — most importantly for SEO — leaks link equity if it is a 302 instead of a 301. Google treats a 301 as "this resource has permanently moved" and passes full authority. A 302 says "temporary" and passes minimal authority.
When to Use 301 vs 302
- 301 (Moved Permanently) — page has moved for good. Use for CMS migrations, URL restructuring, HTTP→HTTPS, non-www→www, deleted content pointing to a replacement. This is the default choice.
- 302 (Found / Moved Temporarily) — content is coming back. Use for maintenance pages, A/B tests, geo-redirects during a launch. Never leave a 302 in place for more than a few weeks.
- 307/308 — modern equivalents that preserve the HTTP method. Use 308 as a 301 replacement in APIs.
Chains vs Loops
A chain is a redirect that lands on another redirect (A → B → C). Each hop costs crawl budget and dilutes signals. Google will follow up to 5 hops before giving up. Chains beyond 2 hops should be flattened at the source.
A loop is A → B → A. The crawler will give up after a few attempts and treat the original URL as a soft 404. Loops are catastrophic and can deindex whole URL sections.
The Flattening Rule
When you change a redirect target, update the source redirect to point directly at the final destination. The rule: never make a redirect point to a URL that is itself redirected. This is how chains accumulate over years of site changes.
Common Mistakes
- 302 used for permanent moves. Tools like CMS plugins sometimes default to 302. Always force 301 in production.
- Redirecting to the homepage. Mass-redirecting deleted pages to
/causes Google to treat them as soft 404s. Redirect to the most relevant replacement page. - Missing trailing-slash consistency. If
/old301s to/newbut/new/also exists, you now have two URLs. Pick one convention. - HTTP → HTTPS chains. A
http://URL that 301s tohttp://www.that 301s tohttps://www.is a two-hop chain on every single URL. Collapse to a singlehttps://hop. - Redirects in robots.txt instead of server. robots.txt has no redirect mechanism. Always implement redirects at the server or CDN layer.
Audit Workflow
- Export all redirect rules from your server, CDN or CMS.
- Paste them above and flag every 302 as needing review.
- Flatten any chains to a single hop.
- Confirm every redirect target returns 200 OK.
- Re-crawl the site and verify no orphaned redirect rules remain (redirect from a URL that no longer exists anywhere).