Definition
A 301 redirect is a server response saying a URL has moved for good, and where to. The code means Moved Permanently under RFC 9110, and Google treats it as a strong signal that the new URL should become canonical and show in results in place of the old one.
Example. Request hawkacademy.co/glossary/ and this site answers with a 308, the other permanent code, sending you to /glossary without the trailing slash. Google files 301 and 308 in the same group.
You can see every hop and status code between a URL and where it lands with the free Redirect Checker.
What is the difference between a 301 and a 302?
A 301 says the move is permanent and a 302 says it is temporary, so Google shows the new URL for a 301 and the old URL for a 302. RFC 9110 defines 302 Found as a resource living temporarily somewhere else, which means the client ought to keep using the original address.
Google follows that logic. For a permanent redirect, its indexing pipeline uses the redirect as a signal that the target should be canonical. For a temporary one, it does not, and shows the source page in results, although the target can still be indexed if other signals point at it.
Which redirects does Google treat as permanent?
Google treats 301, 308, an instant meta refresh and a JavaScript location redirect as permanent. The last two catch people out, as does 303 landing in the temporary group.
| Google treats as permanent | Google treats as temporary |
|---|---|
| 301 Moved Permanently | 302 Found |
| 308 Permanent Redirect | 303 See Other |
| Meta refresh or HTTP refresh set to 0 seconds | 307 Temporary Redirect |
JavaScript location redirect | Meta refresh or HTTP refresh with any delay |
Being in the permanent column is not the same as being equally reliable. Google recommends a server-side permanent redirect wherever possible, and says to use a JavaScript redirect only when nothing else is available, because rendering can fail and Google might never see it.
When should you use a 307 or 308 instead?
Use a 307 or 308 when the request method must survive the redirect. RFC 9110 explains that, for historical reasons, a browser may turn a POST into a GET when it follows a 301 or 302. The 307 and 308 codes were added later to preserve the method without ambiguity.
That matters for forms and APIs. For an ordinary page move it changes nothing in Google: 301 and 308 are both permanent, and 302 and 307 are both temporary. The 308 is the younger code, dating from June 2014, which is why older tooling occasionally fails to recognise it.
How long should a 301 stay in place?
A 301 should stay in place for at least a year. Google's site move guidance says to keep redirects generally for at least one year, because that window allows Google to transfer all the signals to the new URLs. Longer is fine: from a visitor's point of view a redirect can stay forever.
How many redirects in a row can Google follow?
Googlebot can follow up to 10 hops, but Google asks for no more than 3 and fewer than 5. Its advice is to redirect straight to the final destination, because every extra hop adds delay for users. A chain usually forms over time, as one migration's redirect points at a URL a later migration moved again.
Sources
- RFC 9110: HTTP Semantics, section 15.4 (June 2022)
- Google Search Central: Redirects and Google Search
- Google Search Central: Site moves with URL changes
Last checked against these sources on 19 October 2026.