Most SEO advice treats temporary redirects as a mistake — “use a 301, always, or you’ll leak link equity.” That rule is wrong often enough to cost you rankings. A temporary redirect is not a broken permanent one; it’s a different instruction to Google, and there are real situations where sending a 301 is the actual error. The question was never “which redirect is more powerful.” It’s “which URL do I want sitting in Google’s index six months from now?” Get that answer right and the status code chooses itself.
The one question that decides every redirect
Before you touch your server config, answer this: is the move permanent, or is the original URL coming back? If the source page is gone for good — a migrated domain, a merged product, an HTTPS upgrade — you want Google to forget the old URL and transfer its signals to the new one. That’s a 301. If the source page is coming back and you still want it indexed, ranking, and bookmarkable, you want Google to keep it — and serve users somewhere else in the meantime. That’s a temporary redirect. Everything else in this guide is downstream of that single distinction.
What a temporary redirect actually tells Google
A 302 or 307 sends a specific message to a crawler: the resource at this URL still lives here, but right now I’m sending visitors elsewhere. Google’s documented behavior is to keep the source URL as the canonical, index it, and keep attributing ranking signals to it. The destination page borrows the traffic but not the equity. Contrast that with a 301, which consolidates: Google eventually drops the old URL, forwards its PageRank and history to the target, and treats the target as the canonical going forward.
This is why “302s don’t pass link equity” is a lazy half-truth. Temporary redirects don’t consolidate signals onto the destination — by design. The signals stay put on the source, which is exactly what you want when the source is the page you’re keeping. Nothing leaks. It only feels like a loss if you pointed a temporary redirect at a page you actually intended to make permanent.
302 vs 307: the difference that matters, and the one that doesn’t
Both codes mean “temporary,” so people assume they’re interchangeable. For plain page-to-page redirects on GET requests, Google treats them the same, and so can you. The technical distinction lives at the HTTP-method level:
- 302 Found — historically ambiguous. Many clients would convert a POST to a GET on the redirect, which quietly breaks form submissions and API calls.
- 307 Temporary Redirect — strict. It guarantees the method and body are preserved, so a POST stays a POST.
- The HSTS 307 — a browser-internal upgrade from HTTP to HTTPS. It never hits your server and has no SEO meaning; don’t confuse it with a server-issued 307.
The rule of thumb: for content pages a searcher lands on, 302 and 307 are functionally equal for SEO — pick whichever your platform emits cleanly. For anything that carries a request body (checkout, login, API endpoints), reach for 307 so you don’t mangle the method. The SEO signal is identical; the application behavior is not.
When temporary redirects are the right call
These are the scenarios where a 301 would actively hurt you, because it tells Google to abandon a URL you’re planning to bring back:
- Out-of-stock or seasonal products — the product URL returns; you want it to keep its rankings while you route shoppers to a related item.
- A/B and split tests — you’re comparing two versions and don’t want Google to permanently canonicalize the variant.
- Maintenance windows — a page is down for hours or days, not forever.
- Geolocation and language routing — you send a visitor to a regional page but keep the generic URL indexable for everyone.
- Promotions and limited campaigns — a landing page points to a live offer that expires and reverts.
The common thread: the original URL is still the address you want people to bookmark and Google to rank. A temporary redirect protects that. A 301 in any of these cases hands your rankings to a page you’ll delete or revert in a month.
When a 301 is the honest choice
Symmetry matters — knowing when not to use a temporary redirect is half the skill. Reach for a permanent 301 when the change is genuinely one-way:
- Domain migrations and rebrands.
- HTTP-to-HTTPS upgrades and www/non-www normalization.
- Permanently discontinued products or merged duplicate pages.
- Consolidating a weaker URL into a stronger one to end keyword cannibalization.
Using a temporary redirect here does the opposite of what you want: Google keeps the dead URL in the index, keeps splitting signals between old and new, and your consolidation never happens. Ranking authority sits stranded on a page nobody should land on.
The trap: how a “temporary” redirect quietly becomes permanent
Here’s the mechanism almost no guide explains. Google doesn’t take your status code at face value forever. If a 302 or 307 stays in place long enough — Google’s own guidance is that a long-lasting temporary redirect will eventually be treated like a 301 — the crawler concludes you lied. It starts consolidating signals onto the destination and drops the source URL as canonical, exactly as if you’d sent a permanent redirect all along.
That sounds convenient until you consider the failure mode. You set a 302 for a two-week promotion, forget about it, and eight months later Google has quietly canonicalized the promo page. Then you revert the redirect — and your original URL, now stripped of its canonical status, has to re-earn its index position from scratch. The lesson: a temporary redirect is a promise with an expiry date. Keep temporary redirects genuinely temporary, and set a calendar reminder to remove them. The status code is a statement of intent that Google audits by watching your behavior over time.
A worked example: the out-of-stock product
Say /running-shoes-x ranks on page one for a decent-volume term and sells out for six weeks. Three options, three outcomes:
- Return a 404 — Google drops the page, your ranking evaporates, and when stock returns you start over on page three.
- 301 to a sibling product — you permanently hand the rankings to
/running-shoes-y. Restocking the original does nothing; Google forgot it. - 302 to the sibling — shoppers get a live product to buy,
/running-shoes-xkeeps its index position and rankings, and the day stock returns you drop the redirect and the original page is right where it was.
Only the temporary redirect satisfies both the shopper (something to buy now) and the algorithm (the URL you’re keeping stays intact). This is the single most common case where the “always 301” crowd gets it backwards.
Auditing your redirects like a crawler would
Redirects rot silently. A 302 someone set in 2023 for a launched-and-forgotten campaign is still there, quietly bleeding intent into your architecture. Audit them the way Googlebot sees them, not the way your CMS labels them:
- Crawl the whole site and log every 3xx, with source URL, destination, and status code — this is where a real-crawler site audit earns its keep. SEO Rocket’s site audit crawls like a search engine rather than parsing your sitemap, so it catches redirects your CMS doesn’t even know it’s emitting.
- Flag redirect chains and loops — every extra hop dilutes signal and slows the crawl. Collapse A→B→C to A→C.
- Check every temporary redirect against intent — is the source URL actually coming back, or should this be a 301 by now?
- Verify destination relevance — redirecting a discontinued blender to your homepage is a soft-404 in Google’s eyes; send it to the closest matching page.
- Reconcile with canonical tags — a redirect and a conflicting canonical are two contradictory instructions, and Google picks one unpredictably.
After you change any redirect, watch the affected URLs with rank tracking over the following weeks — rankings jitter daily, so you want the trend line, not a single-day reading, to confirm the source URL held its position.
Common mistakes that leak ranking signal
Even teams that pick the right status code undermine it downstream:
- JavaScript and meta-refresh redirects — these aren’t clean server-side signals. Google may process them slowly or interpret them ambiguously; use a real HTTP redirect.
- Redirect plus conflicting canonical — telling Google “index this page” via canonical while also redirecting away from it is a self-contradiction.
- Chaining temporary and permanent redirects — a 302 into a 301 into another 302 muddies which URL should own the signal.
- Internal links pointing at redirected URLs — every internal link should point at the final destination, not through a hop. Redirects are for external and legacy traffic, not your own navigation.
- Forgetting the expiry — the single biggest cause of accidental canonicalization, as covered above.
Frequently asked questions
Do temporary redirects pass link equity?
They don’t consolidate it onto the destination — that’s the point. A temporary redirect keeps signals attributed to the source URL, which is what you want when the source is the page you’re keeping. If you need equity to flow permanently to the target, that’s a 301’s job, not a temporary redirect’s.
Is a 302 bad for SEO?
No — a 302 is bad only when it’s the wrong tool for a permanent change. Used for a genuinely temporary situation, it’s exactly correct and protects the source URL’s rankings. The “302s are bad” myth comes from people using them where a 301 belonged and then blaming the code.
How long can a temporary redirect stay in place?
Technically indefinitely, but Google will eventually treat a long-lived temporary redirect like a permanent one and consolidate onto the destination. Keep them to weeks or a couple of months at most. If a “temporary” redirect has run for six-plus months, decide whether it should become a 301 or be removed.
Should I use 302 or 307?
For content pages a searcher lands on via GET, they’re equivalent for SEO — use whichever your stack emits cleanly. Use 307 specifically when the request carries a body (forms, logins, API calls) so the HTTP method is preserved.
The bottom line
Temporary redirects aren’t a weaker cousin of the 301 — they’re a precise instruction for a precise situation: the source URL is coming back and you want it kept, indexed, and ranking. Choose the code by answering the only question that matters — which URL do you want in Google’s index six months from now — then keep temporary redirects genuinely temporary, audit them like a crawler, and watch the source URLs hold their rankings after every change. Do that and redirects stop being a source of quiet signal loss and become the routing tool they were designed to be. The habit of auditing 3xx status codes at scale — not guessing from your CMS labels — is one small piece of a playbook proven across 1,000,000+ ranking pages.