Technical SEO · Glossary · Updated Apr 2026

HTTP 302 redirect

Definition

A 302 is the HTTP "Found" status — a temporary redirect. It tells clients the original URL is the canonical one and they should keep using it. Google historically treated 302s differently from 301s, but since 2016 a long-lived 302 is consolidated to the target like a 301. Use only for true temporary moves.

Find related

Long definition

The 302 status was the source of years of SEO confusion. In HTTP/1.0 the wording was "Moved Temporarily"; HTTP/1.1 (RFC 9110) renamed it "Found" and clarified the semantics. The intent: the client should keep requesting the original URL because the redirect is short-lived. Browsers, crawlers, and SEO tools each interpreted that differently.

Google's modern position, stated by Gary Illyes and John Mueller multiple times: a 302 that stays in place long enough is treated as a canonicalization signal, much like a 301. The "long enough" threshold is undocumented but observable in practice — weeks, not days. For a brand-new 302, Google keeps the original URL in the index and crawls both. For a 302 that hasn't moved in months, Google switches the indexed URL to the target.

Legitimate uses for a 302:

  • A/B testing at the URL level — sending half of traffic to a variant.
  • Geographic or device-based redirects that should be re-evaluated on each request.
  • Maintenance windows when a URL temporarily resolves elsewhere (better: 503 with Retry-After).
  • Logged-in versus logged-out flows where the redirect target changes per user state.
  • Short-term promotional URLs that revert after a campaign.

The cost of mis-using 302 for permanent moves: Google keeps crawling the old URL at the original frequency, your migration takes longer, and link-equity consolidation drags. If the move is permanent, use 301 (or 308 for non-idempotent methods) and skip the ambiguity.

A 302 on a POST historically also rewrites the method to GET, just like 301. The method-preserving temporary equivalent is 307 Temporary Redirect — same timing semantics as 302 but the original HTTP method is kept intact.

Common misconceptions

  • "302 hides redirected URLs from Google so you can A/B test safely." Not since 2016. A 302 left in place gets consolidated. Real A/B testing belongs in client-side experimentation tools or behind a Vary header, not a permanent 302.
  • "302 passes no link equity." It does, eventually. The difference from 301 is timing, not amount. A 302 in place for a few months ends up looking like a 301 to Google's index.
  • "301 vs 302 doesn't matter — Google figures it out." Google figures it out eventually. For a permanent migration, the wrong code costs weeks of crawl confusion and delayed consolidation. Pick the right code up front.
  • "302 and 307 are interchangeable." They are for GET requests. For POST and other non-idempotent methods, 307 preserves the method and 302 may rewrite it to GET. The distinction matters for APIs and forms.