HTTP 301 vs. 302 redirects: which is better?
HTTP redirect code 301—a 301 redirect for short—is best for SEO if you’ve moved content permanently.
If you’ve moved content temporarily, a 302 redirect is best.
The difference between 301 and 302 redirects
Redirect type | Use-case | Passes SEO value |
---|---|---|
301 redirect | Content permanently moved | |
302 redirect | Content temporarily moved | * |
* Once a 302 redirect has been in place for a while, search engines may begin treating it as a 301 redirect and passing its SEO value on.
301 permanent redirects in more detail
HTTP status code 301—a 301 redirect for short—communicates the permanent nature of a content move and tells search engines to pass on authority and relevance to the new URL.
In most cases, you’ll want to use a 301 redirect.
302 temporary redirect in more detail
HTTP status code 302—a 302 redirect for short—communicates that content has been moved temporarily and that search engines need to keep the old URL in the index. Because of this, search engines won’t assign the URL’s authority and relevance to the redirect target. This makes sense, because you’re communicating that the move is temporary in nature.
However, if the 302 redirect stays in place for a long time, search engines may begin treating it as a 301 redirect—resulting in the URL’s authority and relevance being passed on to the redirect target.
When to use a 302 redirect
Use a 302 redirect when:
- Redirecting URLs due to a promotional campaign.
- Running A/B tests.
What’s Google’s take on this?
Here’s what John Mueller said on this in December 2019 :
We agree, except for the “don’t worry about magic SEO dust” part.
That’s exactly what puts you ahead—or behind your competition. You can’t wait for Google to finally realize that a 302 redirect should have been a 301 redirect, and only then start passing on authority and relevance. You don’t have that luxury.
Impact on the browser cache
A visitor won’t notice whether you use a 301 or 302 redirect to send them to a different page. However, a 301 redirect is cached by the visitor’s browser.
Say the 301 redirect is removed, and a visitor hits the old URL. They will still be redirected to the new URL by their browser.
To prevent this, the visitor needs to clear their browser cache (just a hard reset isn’t enough).