FAQ SEO & Marketing

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.

Updated 4 min read Beginner

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

CodeMeaningWhat a search engine does
301Moved permanentlyUpdates its index to the new URL over time and transfers the large majority of the old URL's ranking signal to it
302Found / moved temporarilyKeeps 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.
A 302 left in place by accident is a common mistake, not a rare one

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