Redirects: 301, 302, and Beyond
A redirect tells a browser or crawler: "The page you requested has moved. Go here instead." Redirects are essential for managing URL changes, site migrations, and consolidating link equity. But not all redirects are created equal.
Types of Redirects
301 Redirect (Moved Permanently)
A 301 tells search engines: "This URL has permanently moved to a new location." Use 301 when you're consolidating URLs or migrating to a new domain. It passes nearly all link equity (ranking power) from the old URL to the new one. Google has confirmed that the "redirect tax" (a historical penalty to link equity) is minimal to non-existent now.
302 Redirect (Found / Temporary)
A 302 says: "The page is temporarily at a new location, but the old URL will be back." Use 302 for temporary situations: A/B testing, maintenance, or temporarily redirecting traffic. Search engines typically don't consolidate link equity with a 302 — they might index both the source and target URLs. Use 302 only when you genuinely intend the redirect to be temporary.
307 Redirect (Temporary Redirect)
Functionally similar to 302 but handles HTTP methods slightly differently (preserves the method, while 302 might convert POST to GET). Rare in SEO context. Behaves like 302 for ranking purposes.
308 Redirect (Permanent Redirect)
Like 301 but preserves HTTP methods. Rarely used. For SEO purposes, treat like 301.
Meta Refresh Redirect
Old technique: a meta tag in the HTML head that refreshes the page to a new URL after a delay. <meta http-equiv="refresh" content="5;url=https://newsite.com" />. This is slow and bad for UX. Google disfavours it. Never use meta refresh for redirects — use HTTP redirects (301/302) instead.
JavaScript Redirects
Using JavaScript (window.location.href = ...) to redirect. This works but is slower because the browser must load the page, parse JavaScript, and then redirect. HTTP redirects are instant. Use HTTP redirects when possible. JavaScript redirects are acceptable as a fallback.
Passing Link Equity Through Redirects
Link equity (ranking power from backlinks) can pass through redirects. Historically, there was concern about a "redirect tax" where some link equity was lost. Google has confirmed this is no longer a meaningful concern.
A 301 redirect passes nearly all link equity. If page A (with 10 backlinks) 301-redirects to page B, page B receives nearly all the link equity from those backlinks. This is how site migrations work.
A 302 redirect is less predictable. Google might treat it as a temporary situation and not fully consolidate link equity. For permanent consolidations, use 301.
Redirect Chains and Loops
Redirect Chains
A redirect chain is a series of redirects: URL A → URL B → URL C → URL D. Crawlers must follow every hop, which is slow and wastes crawl budget. It's a bad practice. Always redirect directly to the final destination.
Example of what not to do:
example.com/old-page → example.com/newer-page → example.com/newest-page → example.com/final-page
Instead, have /old-page directly redirect to /final-page.
Redirect Loops
A redirect loop is when URL A redirects to B, and B redirects back to A. This causes an infinite loop. Browsers detect loops and give up after a few iterations, showing an error. Redirect loops are usually accidental (misconfiguration). Avoid them by testing redirects after implementation.
When to Use Each Type
Use 301 When:
- Permanently consolidating URL paths (e.g., /products → /items)
- Migrating to a new domain
- Removing trailing slashes or changing URL structure permanently
- Consolidating duplicate content
Use 302 When:
- A/B testing (temporarily routing users to an alternate version)
- Temporary maintenance redirects
- Temporarily moving content with the intention to restore the original URL
In practice, most SEO cases use 301. 302 is rare.
Updating Internal Links After Redirects
A common mistake: setting up redirects and leaving old URLs in internal links. Example: You move /old-page to /new-page and 301-redirect. But your homepage still links to /old-page. Every user hits the redirect before reaching the page. This is slow and wastes time.
Best practice: update internal links to point directly to the new URL. Don't rely on redirects indefinitely. Redirects are for external links (from other sites, from old emails, bookmarks, etc.) where you can't control the source. For links you control, update them.
Monitoring Redirects
Check Google Search Console Coverage report for redirect issues. GSC shows pages that are redirecting. If too many redirect chains exist, GSC will flag it.
Use tools like Screaming Frog to audit your site's redirects. Identify chains, loops, or unnecessary redirects.
Quick Wins
- Fix redirect chains: find URLs that chain and simplify them.
- Update internal links: find internal links to old URLs and update them to new URLs.
- Monitor for loops: test redirects to ensure no loops exist.