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.

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.
| Attribute | 301 Moved Permanently | 302 Found |
|---|---|---|
| What it tells crawlers | The page has moved for good | The page is elsewhere for now |
| URL Google tends to index | The destination | The original |
| Link value passed | Yes | Yes |
| Browser caching | Cached by default | Not cached by default |
| Common mistake | Used for a test that later ends | Left in place for a permanent move |
| Best fit | Migrations, renamed pages, merged content | Maintenance, A/B tests, short campaigns |
What it tells crawlers
URL Google tends to index
Link value passed
Browser caching
Common mistake
Best fit
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.
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.
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.
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.
| Situation | Code | Reason |
|---|---|---|
| Domain move or rebrand | 301 | The old domain is retired |
| HTTP to HTTPS | 301 | The HTTP version never returns |
| Page renamed or slug changed | 301 | The new URL replaces the old one |
| Two articles merged into one | 301 | The surviving page takes over |
| Discontinued product with a successor | 301 | The successor answers the same need |
| Maintenance window | 302 | The original page comes back |
| A/B test with separate URLs | 302 | The control URL must stay indexed |
| Seasonal promo replacing a page | 302 | The regular page returns after the season |
| Logged-out user sent to login | 302 | The protected page still exists |
Domain move or rebrand
HTTP to HTTPS
Page renamed or slug changed
Two articles merged into one
Discontinued product with a successor
Maintenance window
A/B test with separate URLs
Seasonal promo replacing a page
Logged-out user sent to login
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.
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.
| Method may change | Method kept | |
|---|---|---|
| Permanent | 301 | 308 |
| Temporary | 302 | 307 |
Permanent
Temporary
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Google can treat a long-running 302 much like a permanent redirect, but it hasn't published a fixed timeline. If the original URL won't return, change the redirect to a 301 rather than waiting for Google to reinterpret it.
A 302 isn't bad for SEO when the move is temporary, and it passes link value. The 301 vs 302 redirect choice matters for indexing: using a 302 for a permanent move can delay the new URL appearing in search results.
A 308 means a URL has moved permanently and the browser must preserve the original request method. It's useful for forms and APIs that send POST requests. Google treats it like a 301 for SEO.
Keep site-move redirects for at least one year so Google can revisit old URLs and transfer their signals. Keep them longer if old links or bookmarks still bring visitors, since removing the redirects can leave those visitors facing missing pages.
Return a 404 or 410 if there's no relevant replacement page. Redirecting to an unrelated destination, such as the homepage, can be treated as a soft 404, meaning the old page's search signals may be dropped.

