Redirects SEO: 301, 302, 307 and 308 Compared
Redirects SEO is the practice of choosing and implementing URL redirects so that visitors, search engines and link value all reach the right page: permanent redirects (301, 308) when a move is final, temporary ones (302, 307) when it isn’t. The status code tells Google which URL to show in results. The implementation decides whether it sees the redirect at all. And the map of old to new URLs decides whether rankings survive the change.
This guide is for anyone changing URLs, merging pages or cleaning up an older site. It compares every redirect type by how Google treats it, explains 307 and 308, covers chains and loops, and shows how to build a redirect map. For a full site move, the surrounding steps are in our website migration SEO checklist; this page goes deeper on the redirects themselves.
On this page
- Do redirects affect SEO?
- Every redirect type, and how Google reads it
- What do 307 and 308 redirects mean?
- When to use 301 vs 302
- Redirect chains and loops
- Building a redirect map
- How long redirects need to stay
- Getting redirects right before they matter
Do redirects affect SEO?
Yes: the type of redirect decides which URL Google shows, and a bad redirect can throw away the signals a page earned. Google’s documentation on redirects and Google Search splits them into two groups:
- Permanent redirects “show the new redirect target in search results”. Googlebot follows them, and the indexing pipeline uses them “as a signal that the redirect target should be canonical”.
- Temporary redirects “show the source page in search results”. Googlebot still follows them, but the indexing pipeline “doesn’t use the redirect as a signal that the redirect target should be canonical”.
Google’s page on HTTP status codes adds the weighting: a 301 is “a strong signal that the redirect target should be processed”, a 302 “a weak signal”. Redirects are also the strongest of the canonicalization methods Google lists, ahead of the canonical tag and sitemaps.
What redirects don’t do is create value. A redirect from a page nobody linked to, to a page that doesn’t answer the same need, moves nothing worth moving.
Every redirect type, and how Google reads it
Google groups redirects by permanence and ranks the methods by how reliably it can interpret them, with server-side redirects first. The table combines Google’s classification with the HTTP semantics documented on MDN.
| Redirect | Permanent or temporary (Google) | Keeps request method? | Where it runs | Use it for |
|---|---|---|---|---|
| 301 Moved Permanently | Permanent | Supposed to, but older clients change POST to GET | Server | Most permanent page moves |
| 308 Permanent Redirect | Permanent | Yes, always | Server | Permanent moves of forms and API endpoints |
| 302 Found | Temporary | Supposed to, but older clients change POST to GET | Server | Short-term moves, A/B tests |
| 303 See Other | Temporary | No, becomes GET | Server | After a form submission |
| 307 Temporary Redirect | Temporary | Yes, always | Server | Temporary moves that must keep POST |
| Meta refresh, 0 seconds | Permanent | Not applicable | Browser | Only when the server can’t redirect |
| Meta refresh, delayed | Temporary | Not applicable | Browser | Rarely a good idea |
JavaScript location | Permanent | Not applicable | Browser, after rendering | Last resort |
| “Crypto” redirect (a link saying “we moved”) | Permanent, if recognized at all | Not applicable | Visitor clicks | Only if nothing else is possible |
The client-side options come with warnings. Google says to use JavaScript redirects only if server-side or meta refresh redirects aren’t possible, because “if you set a JavaScript redirect, Google might never see it if rendering of the content failed”. Crawlers that don’t run JavaScript at all never see it, a problem covered in JavaScript rendering and AI crawlers. Of the crypto redirect, Google notes that “its existence may be disputed”.
Scroll the diagram sideways to see all of it.
What do 307 and 308 redirects mean?
A 307 is a temporary redirect and a 308 a permanent one, and both guarantee the browser repeats the request unchanged. MDN’s reference for 308 Permanent Redirect says “the request method and the body will not be modified by the client”, whereas with a 301 older clients incorrectly switch to GET. The 307 page makes the same point about 302, and adds that 307 and 302 “are identical when the request method is GET”.
For search, the difference disappears. Google’s status code documentation says 307 is “equivalent to 302” and 308 is “equivalent to 301”, then adds a sensible caveat: they are semantically different, so “use the status code that’s appropriate for the redirect so other clients (for example, e-readers, other search engines) may benefit from it”. Since page requests are GET requests, 301 and 308 behave the same for a normal page move. The number matters when a form or API endpoint moves.
One practical trap: if your site sends a Strict-Transport-Security header, browsers that have seen it upgrade http:// requests to HTTPS on their own, before anything reaches your server, as MDN’s HSTS reference describes. When testing redirects, use curl -I or a crawler rather than a browser, so you see what your server actually returns.
When to use 301 vs 302
Use a 301 (or 308) when you don’t intend to bring the old URL back; use a 302 (or 307) when you do. The decision tree below adds the method question and the fallbacks for platforms without server access.
Scroll the diagram sideways to see all of it.
Three situations call for a temporary redirect specifically:
- A/B tests that send users to a different URL. Google’s guidance on website testing says to use a 302, “not 301”, because the redirect only lasts as long as the experiment.
- Temporary unavailability. Google’s example is a service that is briefly offline, where a temporary redirect sends users to an explanation page “without compromising the original URL in search results”.
- Seasonal or promotional pages that will revert.
One redirect to avoid entirely: sending visitors to a language or country version based on a guess. Google’s multi-regional guidance advises against automatic redirects by assumed language, because they can stop users and crawlers from reaching every version. Link between versions and use hreflang instead.
Redirect chains and loops
A chain is a redirect that lands on another redirect; a loop is a chain that never ends. Google’s crawlers follow “up to 10 redirect hops” by default, but that is a ceiling, not a target. Google’s guidance on site moves with URL changes says to redirect straight to the final destination and, where that isn’t possible, to keep chains “ideally no more than 3 and fewer than 5”, because each hop “adds latency for users” and not all browsers support long chains.
Scroll the diagram sideways to see all of it.
Chains usually grow by accident. A site moves to HTTPS, then to www, then restructures its blog, and each project adds a rule on top of the last. When you add a new redirect, update the old rules to point directly at the final URL. Google’s crawl budget guide lists long redirect chains among the things that “have a negative effect on crawling”, and Search Console’s Crawl Stats report counts every hop as a separate request. When a chain breaks, the Page indexing report files it as a “Redirect error”: a chain that was too long, a loop, a URL that exceeded the maximum length, or a bad or empty URL in the chain. The wider crawl picture is in our guide to crawl budget.
Also update internal links to the final URL. A redirect is a fix for links you don’t control; your own navigation shouldn’t depend on it.
Building a redirect map
A redirect map is a spreadsheet with one row per old URL and exactly one destination, and it is the single most important document in any URL change. The columns that make it useful:
- Old URL, from a full crawl plus Search Console, analytics and backlink exports, so pages with links or traffic aren’t missed.
- New URL, the closest equivalent page, not the nearest category.
- Status code, almost always 301 or 308.
- Reason, such as renamed, merged or retired, so decisions can be reviewed.
- Check result, filled in after testing: one hop, final status 200.
The rule that matters most is relevance. Google’s site move guidance says not to redirect many old URLs “to one irrelevant single URL destination, such as the home page”, because it “can confuse users and might be treated as a soft 404 error”. If a page has no equivalent and no links worth keeping, a 404 or 410 is the honest answer. Where you are merging several similar pages into one, redirecting all of them to the merged page is fine; that is also the cleanest fix for the near-duplicates described in our guide to duplicate content SEO.
Test the map before launch by requesting every old URL on the staging site, and again on launch day in production.
How long redirects need to stay
Keep redirects “for as long as possible, generally at least 1 year”, in the words of Google’s site move guidance. In practice, keep them indefinitely unless they cause a real maintenance problem, because old URLs live on in backlinks, bookmarks, emails, printed material and AI answers long after a move.
Google also remembers the old address. Its redirects documentation explains that Google keeps track of both the source and the target, makes one canonical, and treats the other as an “alternate name” that may still appear in results when a query suggests users trust the old URL. The leaked Google API documentation, analyzed by iPullRank in May 2024, includes a CompositeDoc.alternatename field on Google’s document record. Google stores this attribute; the leak does not show how much it is weighted. It is consistent with the public explanation: old URLs don’t vanish from Google’s view when you redirect them.
Getting redirects right before they matter
Redirects are cheap to set up and expensive to fix after the fact, because every week a broken redirect is live, Google and visitors learn that the old URL leads nowhere. The habits that prevent most problems are simple: server-side 301s for permanent moves, one hop to the final URL, relevant destinations, internal links updated, and redirects kept for years.
If you’re redesigning without changing URLs, most of this doesn’t apply; see website redesign SEO for what does. If URLs are changing, build the map first and test it twice. Redirect rules are part of every site we build or rebuild through our web development service, mapped from a full crawl and tested before launch, not patched after traffic drops.
Frequently asked questions
Do redirects affect SEO?
Yes. A permanent redirect tells Google the target URL should replace the old one in search results and is a strong canonical signal, while a temporary redirect keeps the old URL in results. Redirects done well preserve rankings through URL changes; chains, loops and redirects to irrelevant pages lose them.
What does a 307 or 308 redirect mean?
A 307 is a temporary redirect and a 308 is a permanent one, and both require the client to repeat the request with the same method and body. Google treats 307 the same as 302 and 308 the same as 301, so for SEO the choice is about permanence, not the number.
When should I use a 301 vs a 302 redirect?
Use a 301 when the move is permanent and you want the new URL shown in search. Use a 302 when the original URL will come back, for example during an A/B test, a short-term promotion or while a service is temporarily unavailable, because Google keeps showing the original URL.
Should I use 301 or 308?
For Google they are equivalent: both are permanent and both pass the redirect as a strong canonical signal. Use 308 when the request method must be preserved, such as a form or API endpoint receiving POST requests; use 301 for ordinary page moves, where it is the most widely understood choice.
How many redirects in a chain are too many?
Google's crawlers follow up to 10 hops, but Google's site move guidance recommends redirecting straight to the final destination and, if that is not possible, keeping chains ideally to no more than 3 and fewer than 5 hops. Each hop adds latency for visitors.
How long should I keep 301 redirects in place?
Google recommends keeping redirects for as long as possible, generally at least one year. Links, bookmarks and AI answers keep old URLs in circulation for far longer than that, so removing redirects early usually costs more than keeping them.