Full-Service Digital Agency  ·  Web Design  ·  SEO  ·  Social Media  ·  WordPress  ·  Mobile Apps Get a Free Consultation →
SEO

301 vs 302 Redirects: When to Use Each

By The Blog Theme Machine Team
301 vs 302 Redirects: When to Use Each

Getting this wrong is one of the most expensive small mistakes in technical SEO. A site migration executed with 302s instead of 301s can hold rankings hostage for months, and the symptom — traffic that drops and then stubbornly refuses to recover — rarely points obviously back to the cause. The distinction itself is simple. Applying it correctly, particularly at scale, is where sites come unstuck.

The Core Difference

301 Moved Permanently tells search engines the resource has moved for good. Update your index, transfer the ranking signals, and show the new URL from now on.

302 Found — historically “Moved Temporarily” — says the resource is briefly somewhere else but the original URL is the one that matters. Keep the original indexed, and check back later.

The consequence people care about is link equity. A 301 consolidates the old URL’s accumulated authority onto the new one. A 302 does not, because it is explicitly telling Google the old URL is still the real one.

The Nuance Everyone Gets Wrong

Here is where the standard explanation breaks down. Google does not treat these codes as absolute instructions — it treats them as strong hints, and it will override you if the evidence disagrees.

Google has stated that a 302 left in place long enough will eventually be treated as a 301, because the observed behaviour contradicts the declared intent. Conversely, a 301 pointing somewhere clearly irrelevant may be treated as a soft 404 rather than honoured as a redirect.

This has two practical implications:

  1. A wrong 302 is usually recoverable. If you migrated with 302s and caught it within weeks, fixing them to 301s resolves the problem. The damage is delay, not permanent loss.
  2. You should still get it right. “Google will probably work it out eventually” is a poor foundation for a migration. Every week of ambiguity is a week of suppressed rankings, and “eventually” is not a timeline you control.

When to Use a 301

Use 301 whenever the change is permanent — which is the overwhelming majority of redirects on a normal site:

If you are asking yourself “will this ever revert?” and the honest answer is no, it is a 301.

One case worth flagging because it silently costs sites traffic: if both /page and /page/ resolve, you have two URLs serving identical content, splitting impressions and links between them. Pick one form, 301 the other to it, and make sure your canonical tags agree. It is a ten-minute fix that frequently recovers measurable traffic.

When to Use a 302

Genuine 302 cases are rarer than most people think:

The test: will this URL serve its original content again? If yes, 302. If no, 301.

For maintenance across a whole site, note that a 503 Service Unavailable with a Retry-After header is the correct code, not a 302. A 503 tells Google to come back later without disturbing your index at all.

307, 308 and 303

Three more codes exist and cause occasional confusion:

For SEO purposes, 307 behaves as 302 and 308 behaves as 301. You will also see 307s appear in browser dev tools for HSTS — that is an internal browser behaviour, not a redirect your server sent, and it is not something to fix. We cover all of these in more detail in 307, 308 and other redirect status codes.

The Mistakes That Actually Cost Traffic

Redirect chains. /a/b/c/d. Each hop adds latency and consumes crawl budget, and Google may stop following after a few. Always point redirects at the final destination, and re-check after any migration — chains accumulate quietly over years as successive changes stack on each other.

Redirect loops. /a/b/a. The page becomes completely inaccessible. Usually caused by conflicting rules across a CMS, a plugin, and a CDN all trying to manage redirects independently.

Mass redirects to the homepage. Covered at length in 410 vs 404 vs 301 for deleted pages — Google treats these as soft 404s and passes no equity. If there is no relevant destination, do not manufacture one.

Leaving internal links pointing at redirects. The redirect works, so nothing appears broken. But every internal link firing through a redirect wastes crawl budget and adds load time. After any URL change, update the internal links themselves rather than relying on the redirect to paper over it.

Removing redirects too early. Old inbound links keep sending traffic for years. Keep redirects live indefinitely where you can; there is very little cost to leaving them in place and a real cost to removing them.

Redirecting instead of fixing canonicals. If two URLs should both remain accessible but only one should be indexed, that is a canonical tag’s job, not a redirect’s.

Implementation

Apache

Redirect 301 /old-page /new-page

# Force HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Nginx

location = /old-page { return 301 /new-page; }
server { listen 80; return 301 https://$host$request_uri; }

WordPress — the Redirection plugin handles this well and logs 404s so you can spot URLs worth redirecting. Rank Math and Yoast Premium include equivalent features. Use one tool, not three.

Always verify the actual response. curl -IL https://yoursite.com/old-page shows every hop and every status code in the chain. Plugin dashboards, server config, and CDN rules routinely disagree about what is really being sent.

During a Site Migration

If you are changing URLs at scale, the order matters:

  1. Crawl the old site first and export every URL. You cannot redirect what you have not recorded, and the old site stops being crawlable the moment you launch.
  2. Map old to new, one by one. Every URL with traffic or links needs a specific destination. Spot-checking a sample is how migrations go wrong.
  3. Use 301s, and test them on staging before launch.
  4. Keep the old sitemap available briefly. It helps Google find the redirects faster.
  5. Monitor Search Console daily for the first fortnight. Watch the Page Indexing report and impressions, not just traffic.
  6. Expect a temporary dip. Even a clean migration usually dips for a few weeks. Judge it at six to eight weeks, not six days.

Permanent Means Permanent

The rule reduces to one question, and it is worth asking deliberately rather than accepting whatever your plugin defaults to: is the original URL coming back?

No means 301. Yes means 302. Unsure almost always means 301, because genuine temporary redirects are rare and a 302 left in place indefinitely just creates ambiguity you have to resolve later anyway.

The rest is discipline — point at final destinations, update internal links, verify the real status codes, and leave the redirects in place once they work. None of it is complicated, and all of it is the difference between a migration that recovers in a month and one that never quite does.

If you have a migration coming up, or traffic that dropped after one and never came back, our SEO services cover redirect mapping and technical recovery. Get in touch with the team at blogthememachine.com, and subscribe to our newsletter below for more technical guides like this one.

301 redirect302 redirecttechnical seourl migration
Free Newsletter

Get Digital Growth Tips
Every Week

Join 12,000+ marketers, designers, and developers. Get actionable strategies on SEO, web design, social media, and more — every Tuesday, free.

No spam. Unsubscribe at any time.

Related Articles