301 vs 302 Redirects: Which One Should You Use for SEO?

A 301 tells search engines a page has moved for good; a 302 says the move is temporary. Picking the wrong one can keep the wrong URL in Google for months. Here is how to choose — and how to check.

Close-up of outdoor stop and left turn traffic signs with blurred nature background.
Photo by Diana ✨ on Pexels

Use a 301 redirect when a URL has moved permanently and a 302 redirect when the move is temporary. A 301 tells Google to replace the old URL with the new one in its index and to consolidate ranking signals there. A 302 tells Google the original URL will come back, so it usually keeps the old URL indexed. If you are not sure, the move is almost always permanent — use a 301.

Key takeaways: 301 and 308 = permanent · 302 and 307 = temporary · all four pass ranking signals · chains of several redirects slow users and crawlers · test every redirect with the Redirect Checker.

What is a redirect?

A redirect is a server response that sends browsers and crawlers from one URL to another. Instead of returning the page with a 200 OK status, the server answers with a 3xx status code and a Location header that contains the new address. Browsers follow it instantly; users usually never notice.

You need redirects whenever an address changes: a site moves to HTTPS, a domain is renamed, a blog post gets a new slug, products are merged, or old pages are removed. Without them, visitors and search engines hit a 404 error and every backlink pointing to the old URL is wasted.

301 vs 302 vs 307 vs 308 at a glance

StatusNameTypeKeeps HTTP method?Typical use
301Moved PermanentlyPermanentNot guaranteed (POST may become GET)Site migrations, HTTPS, changed slugs
308Permanent RedirectPermanentYesPermanent moves of forms and APIs
302FoundTemporaryNot guaranteedShort campaigns, A/B tests, maintenance
307Temporary RedirectTemporaryYesTemporary moves that must keep POST; browsers also use it internally for HSTS

How Google treats each redirect

Google has stated that 301, 302, 307 and 308 redirects all pass PageRank. The difference is about canonicalisation — which URL Google chooses to show in search results:

  • Permanent (301/308): a strong signal that the target should become the canonical URL. The old URL drops out of the index, usually within days or weeks.
  • Temporary (302/307): a weak signal. Google often keeps showing the original URL because it expects it to return. If a 302 stays in place for a long time, Google may eventually treat it like a 301 — but you lose control over when that happens.

That is why the classic mistake — implementing a permanent site move with 302s — can leave old URLs ranking for months while the new ones struggle.

301 vs. 302 Redirects for SEO: Which Should You Use? | SEO Tutorial — WsCube Tech · Watch on YouTube

When to use a 301 redirect

  1. Moving to HTTPS — redirect every http:// URL to its https:// version.
  2. Changing domain — redirect each old URL to the matching new URL, not everything to the new home page.
  3. Choosing www or non-www — pick one host and redirect the other.
  4. Renaming or merging pages — redirect the old slug to the new one, or several thin pages to one stronger page.
  5. Removing a page that has backlinks — redirect to the closest relevant page so the link value is not lost.

When a 302 is the right choice

  • A product is temporarily out of stock and you send visitors to a category page.
  • You run an A/B test that sends some users to an alternative version.
  • A seasonal landing page (for example a Black Friday page) should only be live for a few weeks.
  • URL shorteners — they use temporary redirects on purpose so every click can be counted and the destination can be edited. Our URL Shortener works this way.

Redirect chains and loops: the hidden cost

A redirect chain is a series of redirects, for example http://example.com → https://example.com → https://www.example.com → https://www.example.com/. Each extra hop adds latency (often 100–300 ms on mobile networks) and Googlebot stops following after about ten hops. A redirect loop (A → B → A) makes the page unreachable.

Fix chains by pointing the first rule straight at the final URL and updating internal links so they never trigger a redirect in the first place. The Bulk HTTP Status Code Checker shows which internal links still redirect.

How to implement a 301 redirect

On Apache servers, add a rule to .htaccess:

Redirect 301 /old-page https://example.com/new-page

For whole-site rules such as HTTPS plus non-www in a single hop, use mod_rewrite — the Htaccess Redirect Generator writes the exact code. On nginx, use return 301 https://example.com$request_uri;. In WordPress, a redirect plugin or your SEO plugin's redirect manager does the same job without editing files.

How to check a redirect in 10 seconds

  1. Open the Redirect Checker.
  2. Paste the old URL and click Check now.
  3. Read the chain: every hop shows its status code and timing. You want one 301 hop ending in 200 OK.

If you see a 302 where the move is permanent, change the server rule. If you see more than one hop, simplify the rules. Then check the final page's headers with the HTTP Headers Checker to confirm there is no stray noindex.

The bottom line

Default to 301 (or 308) for anything permanent, keep 302 (or 307) for genuinely temporary situations, avoid chains, and verify every change. A few minutes of checking after a migration protects years of accumulated rankings.

Frequently asked questions

Is a 301 or 302 better for SEO?

For permanent moves, a 301 is better because it tells Google to index the new URL and consolidate signals there. Use a 302 only when the original URL will come back.

Does a 302 redirect pass link juice?

Yes. Google says all 3xx redirects pass PageRank. The difference is which URL Google keeps in its index: with a 302 it often keeps the old one.

How long should I keep a 301 redirect?

Keep it for at least a year, and ideally permanently. Backlinks and bookmarks to the old URL can keep sending visitors for many years.

What is the difference between 307 and 308?

Both preserve the request method. 307 is temporary and 308 is permanent — they are the method-safe versions of 302 and 301.

How do I find redirect chains on my site?

Run important URLs through a redirect checker or a bulk status code checker and look for more than one hop. Then point the first rule directly at the final URL.

Shorten links & create QR codes free

Clean fvj.io links, dynamic QR codes and click analytics — plus 90 free SEO tools.

Keep reading