What is the difference between a 301 and a 302?
One says the move is permanent, the other says it is temporary — and search engines treat those two claims very differently.
Both codes send a visitor from one URL to another. The difference is the claim each one makes about whether the old URL is coming back. A 301 says the move is permanent. A 302 says it is temporary. Search engines take that claim seriously and treat the two very differently when deciding what to do with their index.
What each one tells a search engine to do
| Code | Meaning | What a search engine does |
|---|---|---|
| 301 | Moved permanently | Updates its index to the new URL over time and transfers the large majority of the old URL's ranking signal to it |
| 302 | Found / moved temporarily | Keeps the original URL as the one it indexes and ranks, on the assumption it will return |
This is why using the wrong one causes real problems. A 302 placed on a change that is actually permanent tells search engines to keep treating the old address as canonical indefinitely, which means the new URL never properly inherits the old one's history — even though, to a visitor clicking the link, both codes look identical.
When to use which
- Use a 301 when a page has moved for good: a URL restructure, a domain change, pages merged together, or content retired in favour of a replacement.
- Use a 302 when the move is genuinely short-lived: a page temporarily replaced during maintenance, an A/B test sending some visitors to a variant, or a seasonal page that will point back to the original once the promotion ends.
Many platforms default to a 302 unless a permanent redirect is explicitly requested, so it is easy to set up what is meant to be a permanent change and unintentionally leave it marked temporary. If a redirect has been in place for months and nothing is planned to reverse it, check what status code it is actually sending rather than assuming it matches your intention.
How to check which one is actually being used
Your browser's address bar will not tell you — both codes land you on the same page with no visible difference. Use your browser's developer tools, specifically the network tab, to see the status code returned before the final page loads, or use one of the many free online redirect checkers that show the full chain of status codes for a URL.
See how to set up 301 redirects for the syntax on your specific setup, and check fixing duplicate content if you suspect an old page left reachable alongside its replacement is causing both to compete in results.
Related reading
A 301 tells search engines a page has permanently moved. Here is how to set one up correctly and what breaks when you get it wrong.
How to fix duplicate contentMost duplicate content is not copied text — it is the same page reachable at more than one URL. Here is how to find and fix it.
What is a canonical tag?A line in the page head that tells search engines which of several similar URLs is the one that should actually be indexed.
Does HTTPS affect SEO?Google has confirmed it counts, though as a lightweight signal. The larger effect is what happens without it.