Snoika
Technical SEO·Head-to-head comparison

301 vs 302 redirect: which one to use for SEO in each situation

Use a 301 redirect when a URL has moved for good and you want the new address to rank in its place. Use a 302 when the original URL will come back, as it does after maintenance or an A/B test, and you want Google to keep showing the old address. Both pass link value. So the 301 vs 302 redirect choice decides which URL Google indexes.

Portrait of Anton VedeshinAnton VedeshinFounder, Snoika · 9 min read
Five people in their fifties and sixties on an office rooftop terrace with a city skyline.

301 vs 302 for SEO

For SEO, a 301 moves the old URL's place in the index to the new URL, and a 302 keeps the old URL there. Both codes send visitors and crawlers to the same destination. The difference shows up only in which URL appears in search results and how fast Google updates them. The table below sets the two side by side.

What it tells crawlers

301 Moved Permanently
The page has moved for good
302 Found
The page is elsewhere for now

URL Google tends to index

301 Moved Permanently
The destination
302 Found
The original

Link value passed

301 Moved Permanently
Yes
302 Found
Yes

Browser caching

301 Moved Permanently
Cached by default
302 Found
Not cached by default

Common mistake

301 Moved Permanently
Used for a test that later ends
302 Found
Left in place for a permanent move

Best fit

301 Moved Permanently
Migrations, renamed pages, merged content
302 Found
Maintenance, A/B tests, short campaigns

The old belief that 302s waste link value is out of date. Gary Illyes, an analyst on Google's search team, wrote in July 2016 that "30x redirects don't lose PageRank anymore." John Mueller of Google later called the idea that 302s don't pass PageRank a mistake SEOs keep repeating. So you're choosing between two index outcomes. Neither choice puts your link value at risk.

How Google treats each redirect

Google reads a 301 as a strong signal that the destination should be the canonical URL, the version it shows in results, while a 302 leaves that choice to other signals. Google's own redirect documentation says that for permanent redirects "the indexing pipeline uses the redirect" as a sign the target should be canonical. For temporary ones it says the pipeline doesn't, though "the target page might still be indexed if other canonicalization signals are present." Google's crawlers follow both kinds in the same way.

A 302 that stays in place long enough ends up treated much like a 301. In a 2021 exchange reported by Search Engine Roundtable, Mueller said of long-running redirects, "We treat them exactly the same," and he explained that Google puts both URLs "into the same bucket" for canonicalization. Google has never said how long "long" is. Don't plan around that drift, because you can't predict when it'll happen.

The redirect is one vote among several. Internal links and the XML sitemap point Google toward one URL or another. Canonical tags and hreflang do the same. When those agree with the redirect, Google settles fast. When they contradict it, the choice can take weeks. To see which URL Google picked, open the URL Inspection tool in Search Console and compare the user-declared canonical with the Google-selected canonical.

When 302 hurts your rankings

A 302 hurts SEO when the move behind it is permanent. In that case Google keeps the old URL in the index and continues to crawl it while it delays giving the new URL its place. During a domain move or a URL restructure, that delay can last months, and the new pages wait the whole time.

A site that moves its blog to a new path with 302s and then updates the sitemap and internal links to the new URLs makes the damage worse through conflicting signals. Google now has two stories about the same page. Some old URLs stay indexed while others swap over, and rankings swing until the signals line up.

Captain DNS, a DNS and web tooling publisher, notes that redirect chains worsen the problem because in a 301 → 302 chain the 302 undoes what the 301 established, so crawlers keep returning to the source. Check any 302 older than your planned end date. If nobody can say when the original URL comes back, change it to a 301.

Choosing the right redirect type

Ask whether the original URL will ever return. Use a 301 for a permanent move and a 302 when the original URL will return. Google puts the bar plainly in its guidance: use permanent redirects "when you're sure" the redirect won't be reverted. The table maps common situations to the right code.

Domain move or rebrand

Code
301
Reason
The old domain is retired

HTTP to HTTPS

Code
301
Reason
The HTTP version never returns

Page renamed or slug changed

Code
301
Reason
The new URL replaces the old one

Two articles merged into one

Code
301
Reason
The surviving page takes over

Discontinued product with a successor

Code
301
Reason
The successor answers the same need

Maintenance window

Code
302
Reason
The original page comes back

A/B test with separate URLs

Code
302
Reason
The control URL must stay indexed

Seasonal promo replacing a page

Code
302
Reason
The regular page returns after the season

Logged-out user sent to login

Code
302
Reason
The protected page still exists

A product that's out of stock for 2 weeks needs a 302 or no redirect at all, while a product that's gone for good needs a 301 to its nearest replacement. When a team can't decide, start with a 302 and set a review date. But don't let that date slip, because an unreviewed 302 becomes the slow-move problem described above.

307 vs 308 redirects

A 308 redirect means the page has moved permanently and the client must repeat the original request method at the new address. RFC 9110, the current HTTP standard, says a 301 lets a client switch a POST to a GET "for historical reasons" and names 308 as the fix. A 307 does the same job for temporary moves: the client "MUST NOT change the request method." So 308 is the method-safe 301, and 307 is the method-safe 302.

Permanent

Method may change
301
Method kept
308

Temporary

Method may change
302
Method kept
307

Google groups 308 with 301 for the same SEO effect. It also treats 307 and 302 as equivalent for SEO. The method rule matters for forms and APIs. A signup form that POSTs to an old endpoint loses its data if a 301 turns the request into a GET. For ordinary page URLs that only receive GET requests, 301 and 308 behave alike.

Browsers that enforce HTTP Strict Transport Security (HSTS) show an internal 307 when they upgrade HTTP to HTTPS, even when you haven't set up that redirect. A Google product expert in the Search Central forum said these are usually misreported 301 redirects. Check the actual server response with a crawler or with curl before you change anything.

Common wrong-redirect mistakes

Most redirect problems come from the wrong destination or the wrong lifespan. The wrong status code is less often the cause. Our audits uncover these mistakes.

Every old URL sent to the homepage

A mass redirect to the homepage looks tidy, but it throws away the match between old and new content. Google can treat a redirect to an unrelated page as a soft 404 and drop the signals the old URL had earned. Map each old URL to the closest page by topic. If nothing close exists, a 404 or 410 is the more honest answer.

Chains and loops

Each extra hop adds a request and another chance of failure. Google's crawlers follow up to ten redirects in a row, but Google recommends pointing straight at the final target. Loops never resolve at all. After every migration, point the first URL in each chain straight at the last.

A 302 used for a permanent move

Some platforms and plugins set 302 as the default redirect type. Teams accept the default, and a site move ends up running on temporary redirects. Check the default in your CMS or at your CDN (content delivery network) before you create redirects in bulk.

Redirects removed too early

Google's site move guide says to keep redirects "generally at least 1 year" so it can recrawl old links from other sites and reassign them. After that cleanup, old backlinks and bookmarks start returning 404s. Email links return 404s too. Leaving a working 301 in place costs a few lines of configuration.

How to audit your redirects

A redirect audit is a crawl that lists every 3xx response, followed by a check of each one against its intent. Run it after any migration and every quarter on a large site. Follow these steps in order.

  1. Crawl the site with a crawler such as Screaming Frog or Sitebulb and export every URL that returns 301 or 302. Include URLs that return 307 or 308 in the export as well.
  2. Add the URLs from your old sitemap and your top backlinked pages, because a crawl only finds redirects that internal links reach.
  3. List every 302 and 307 and ask the owner whether the original URL will return. Change the permanent ones to 301 or 308.
  4. Flag chains of 2 or more hops and every loop, then point each source at its final destination.
  5. Find internal links that point at redirected URLs and update them to the final URL.
  6. Confirm the sitemap lists only URLs that return 200, with no redirected or noindexed entries.
  7. Check a sample of important moved pages in Search Console's URL Inspection tool and confirm the Google-selected canonical is the new URL.
  8. Review server logs for crawlers that keep requesting old URLs months after a move. That pattern points to a signal still contradicting the redirect.

Keep the effort in proportion. Mueller said in February 2026 that he couldn't recall redirect problems hurting SEO without also being visible to users. A one-hop chain on a low-traffic page can wait. A 302 on a migrated product category can't.

Implementation for B2B SaaS sites

B2B software as a service (SaaS) sites carry redirect risks that brochure sites don't, because their marketing site and app share a domain that also hosts docs and an API. Each part needs its own rules. Most of the risk sits where those parts meet.

The marketing site gets 301s for renamed pages. SaaS teams rename features and merge pricing tiers. They also retire integration pages; each of these changes should redirect to the page that now covers the same need. When a feature is folded into a larger product, send its old URL to the section of the new page that describes it, and skip the generic product overview.

The app and the login flow use 302s. Sending a logged-out visitor from a dashboard URL to the login page is temporary by design, since the dashboard still exists. A 301 here would ask Google to treat the login page as the canonical version of private URLs. Keep those app URLs out of the index with robots.txt rules or noindex as well.

When docs move to a new version path, 301 the old pages that have direct successors and keep old version pages live where customers still use them. For API endpoints and form handlers that accept POST requests, use 308 for permanent moves and 307 for temporary ones so payloads arrive intact.

A study by MERJ, a technical SEO consultancy, found that crawlers such as GPTBot send no Accept-Language header, so a site that redirects by browser language routes them to its default version. That finding calls for separate tests of language and region redirects. Serve each language at its own URL and link versions with hreflang, without forcing a redirect.

Redirect impact on AI visibility

Redirects affect whether AI assistants can reach and cite your pages, and the risk is higher than with Google. An Ahrefs study of 16 million cited URLs found that AI assistants send visitors to 404 pages 2.87x more often than Google Search. For ChatGPT, 1.01% of clicked URLs returned a 404, against a Google baseline of 0.15%. Some of those URLs are invented, and others are old addresses the model learned before a site changed.

Clean 301s recover both kinds of traffic. When your server logs or analytics show AI referrals landing on dead URLs, redirect each one to the page that best matches what the visitor asked about. That turns a broken citation into a working visit.

AI crawlers are also less forgiving than Googlebot. Captain DNS reports that a chain Googlebot handles without trouble can cause OpenAI's search crawler to give up, so the answer goes out without citing your page. Serve one hop, with a permanent code, straight to a page that returns 200 and isn't blocked by noindex or robots.txt. Then check your logs for AI user agents such as GPTBot and ClaudeBot to confirm they reach the final URL. Check PerplexityBot's requests as well.

Our verdict

For the 301 vs 302 redirect decision, write down whether each redirected URL will come back before you configure anything. Permanent moves get a 301, or a 308 when the request method matters. Moves that will be reversed get a 302 or a 307 with an end date someone owns.

The useful next step is your own redirect list. Export every 302 from your last crawl and check each one against that written intent. A few turn out to be forgotten permanent moves, and a switch to 301 is the fastest fix you can make this quarter.

FAQ

See how AI talks about your brand

Get free audit