301 vs 302 redirects: which to use and what chains cost you

2026-08-29·Technical SEO for indie SaaS·3 min read·by Sourabh Singh

301 vs 302 redirects: which to use and what chains cost you

The difference between permanent and temporary redirects, when 307 and 308 apply, and why every extra hop in a chain is worth removing.

301 vs 302 redirects: which to use and what chains cost you

Use 301 for permanent moves and 302 for genuinely temporary ones. A 302 on a permanent move keeps the rankings on the old URL. Browsers cache 301s indefinitely, so never use one to test. Flatten every chain - point the first URL directly at the final destination.

Four status codes cover almost every redirect you will write. Picking the wrong one either loses you rankings or, worse, caches a mistake in every visitor's browser semi-permanently.

The four codes

CodeMeaningMethod preservedCacheable
301Moved permanentlyNo - POST becomes GETYes, aggressively
302Found (temporary)No - POST becomes GETNo by default
307Temporary redirectYesNo
308Permanent redirectYesYes

301 is the default for anything permanent: a URL that changed, http to https, www consolidation. Google passes essentially full link value through it and eventually replaces the old URL in the index.

302 tells search engines to keep indexing the original URL. Correct for genuinely temporary situations - a maintenance page, a seasonal promotion - and wrong for a permanent move. Using 302 for a permanent move means the old URL keeps the rankings, and the new one never accumulates any.

307 and 308 are the strict versions that preserve the HTTP method. Use them for API endpoints where turning a POST into a GET breaks the request. For ordinary page moves, 301 is what everything expects.

Free toolRedirect CheckerFollow every hop a URL takes, see the status code at each step, and find the chains, loops and temporary redirects that leak link equity.

The 301 caching trap

Browsers cache 301s aggressively and often indefinitely. If you 301 /pricing to /plans and later change your mind, every visitor who hit it in the meantime keeps going to /plans regardless of what your server now says. There is no way to purge it remotely.

Two consequences:

  • Never use 301 to test a redirect. Use 302 while you are unsure, and switch to 301 once you are certain.
  • Send a short Cache-Control with your 301s if you want any chance of revising them: Cache-Control: max-age=3600.

Why chains matter

A chain is any redirect that lands on another redirect.

http://example.com        → 301 → https://example.com
https://example.com       → 301 → https://www.example.com
https://www.example.com   → 301 → https://www.example.com/en

Three hops to serve one page. What it costs:

  • Crawl budget. Every hop is a separate request. Across thousands of URLs this is real.
  • Latency. Three round trips before the first byte of content, which is felt most on mobile.
  • Reliability. Google follows about five hops and gives up. Chains grow over time as people add redirects without checking existing ones.

The fix is always to flatten: point the first URL directly at the final destination. Keep the intermediate redirects - other sites may link to them - but nothing should route through them.

Even with a perfect redirect, an internal link pointing at the old URL is a bug. Every click pays the extra hop, and every crawl wastes a request.

After any URL change, update your internal links. The redirect is for external links and bookmarks, not for your own navigation.

When not to redirect

Deleted content with no equivalent. Redirecting a removed page to the homepage is a "soft 404" - Google recognises the target is unrelated and treats it as an error anyway. Return a real 404 or 410. A 410 (Gone) tells Google to drop the URL faster.

Bulk-redirecting an old site to a new one. Redirecting every old URL to the new homepage transfers almost nothing. Map old URLs to their closest equivalent individually, or accept the loss.

Redirecting instead of canonicalising. If both URLs should stay reachable - a print version, a tagged campaign URL - use a canonical, not a redirect.

Check the redirect chain from the exact URL people actually type: the bare apex, with http and no www. That is the path with the most hops, and the one nobody tests.

Launch it where the numbers are checked

RankCert ranks products on domain control we verify ourselves. Listing is free and the link stays dofollow whether or not you display the badge.

Submit a product - free

Tools from this guide