Redirect Status Drift: A Decision Framework for Long-Lived 302s and 307s
A practical evidence framework for deciding whether a long-lived 302 or 307 should be retained, changed, investigated or removed.
A 302 or 307 can begin as a sensible temporary control and remain in production long after the original decision has been forgotten. That does not necessarily make it a technical error. It may still support a valid experiment, regional rule, availability mechanism, application route or unresolved migration. The problem is that the status no longer has an obvious relationship with the current business and implementation intent.
This is redirect status drift: a mismatch between the HTTP status being returned and the redirect’s valid, changed or unknown purpose. The answer is not to convert every old 302 or 307 to a 301 or 308. Age should trigger a review, not dictate the outcome.
This article sets out an evidence-led lifecycle decision. It explains how to inventory long-lived temporary redirects, recover their original intent, test whether the destination has become the durable URL identity, and choose between four outcomes: retain, change, investigate, or remove and document.
The meaning of 302 and 307
At protocol level, both responses describe temporary redirection. RFC 9110 defines 302 Found as a temporary redirection where the target resource may change and the client should continue using the original URI for future requests.
RFC 9110 defines 307 Temporary Redirect as a temporary redirection that requires the user agent to preserve the request method when automatically following it. That distinction matters for requests such as POST, PUT and PATCH. Historical client behaviour around 302 can change a POST into a GET, although actual behaviour depends on the client, framework, proxy and application.
For an ordinary browser request for an HTML page, a 302 and a 307 may appear to behave similarly. Their implementation meaning is not identical, however. A 307 may be protecting application semantics rather than expressing a simple relationship between an old page and its replacement.
Search documentation makes a related distinction. Google describes 301 and 308 as permanent server-side redirects for pages that have permanently moved, while 302 and 307 are temporary redirects that Googlebot can follow without the temporary response itself indicating that the destination should become canonical. The destination can still be indexed or selected as canonical when other signals support it; the distinction is not an automatic ranking verdict. See Google’s documentation on permanent redirects.
That gives us a useful starting point rather than a conversion rule:
- 302: temporary routing whose method behaviour must be understood in the relevant implementation context.
- 307: temporary routing with an explicit requirement to preserve the request method.
- 301 or 308: a stronger statement that the relationship is permanent, with 308 also preserving the request method.
Permanence and method preservation are related, but separate decisions. If a 307 route has genuinely become permanent and still carries non-GET requests, 308 may warrant investigation instead of defaulting to 301. That is an implementation judgement, not a universal replacement rule.
Why age is useful, but insufficient
A redirect that has been live for three years deserves more scrutiny than one deployed yesterday. That does not mean it has been wrong for three years.
A long-lived temporary redirect may still be intentional where:
- an experiment or feature flag is active or reversible;
- a campaign or event uses a stable public entry point;
- availability or inventory determines the destination;
- personalisation or authentication changes the route;
- regional or language logic determines the destination;
- an application route must preserve request-method semantics;
- a migration or platform programme has not yet reached its final state.
Google’s website testing guidance supports the broader point that temporary routing can be legitimate during controlled changes. The evidence does not establish a universal age threshold after which a 302 or 307 must become a 301 or 308.
The practical interpretation is simple: use age as a review trigger, not as proof that the redirect has become permanent.
Build an inventory that can recover intent
A status-only crawl produces a list of responses. It does not explain why they exist or whether changing them is safe. The inventory needs to support both lifecycle governance and release validation.
For each long-lived 302 or 307, record:
- Source: the complete source URL, including relevant query-string behaviour.
- Status and method: whether the response is a 302 or 307, and how GET, HEAD and relevant non-GET requests behave.
- Destination: the immediate Location target and the final resolved destination, including any additional hops.
- Age: first known deployment date, last change date and confidence in that history.
- Reason: the original business purpose, implementation reason and expected exit condition.
- Destination state: relevance, stability, indexability and whether it canonicalises elsewhere.
- Internal references: links from templates, navigation, content, feeds and applications.
- Sitemap context: whether the source or destination appears in XML Sitemaps and whether that inclusion is intentional.
- External references: links, partner integrations, bookmarks, paid media, QR codes or other known dependencies.
- Demand and crawling: organic and referral traffic, request volume, crawl activity and important user agents.
- Context: cookie, authentication, geography, user-agent, feature-flag and campaign variations.
- Ownership: business owner, implementation owner and the team able to approve or reverse a change.
- Risk: method preservation, caching, attribution, locale, integration and rollback considerations.
This field set is a proposed Liquid Silver operating framework, not a list prescribed in full by HTTP or Google. It draws on documented guidance about redirects, canonicalisation, XML Sitemaps and international URLs. Google explains that redirects, canonicals, internal links and sitemaps are signals used in canonicalisation, while Sitemap guidance explains how submitted URLs can communicate preferred canonical URLs.
Recover the original decision
When a redirect has no owner or recorded reason, the first task is not changing its status. It is reconstructing the decision that produced it.
Search deployment history, pull requests, release tickets, CDN rules, application configuration, analytics annotations and migration plans. Ask the responsible team:
- What problem was the redirect intended to solve?
- Was the source expected to remain a public entry point?
- What condition would have ended the redirect?
- Could the destination vary by user, region, campaign, availability or request method?
- Who can confirm whether that condition still exists?
Do not treat an absent answer as evidence that the redirect should be made permanent. Unknown intent is an investigate outcome. A stale ticket, an old migration spreadsheet or a current 200 response may provide clues, but none of them alone proves that the source has permanently moved.
Test whether the destination has become the durable URL identity
The destination is a candidate for permanent identity when several independent signals point in the same direction:
- the source resource has genuinely moved, been retired or been replaced;
- the destination is relevant and substantially equivalent for the user’s task;
- the destination is stable rather than another temporary or conditional route;
- no credible temporary condition or reversal plan remains;
- the site’s internal links point directly to the destination;
- the destination, rather than the source, is included in relevant XML Sitemaps;
- canonical tags are consistent with the destination;
- hreflang relationships, where applicable, identify the correct locale equivalent;
- external references and meaningful traffic do not depend on a different interpretation of the source;
- the implementation team understands the method and integration consequences.
Direct internal links and destination inclusion in a Sitemap support the inference that the destination has become the preferred URL identity. They do not independently prove permanent intent. Links and Sitemaps can be stale, automatically generated or maintained for convenience. Google also notes that canonicalisation signals are not absolute instructions, so even aligned signals do not guarantee the search engine’s selected canonical.
Destination relevance matters as much as technical resolution. A source that returns a 302 to a 200 page may still lead to the wrong product, the wrong locale, a non-indexable page or a destination that canonicalises elsewhere. “It resolves” is not the same as “it has permanently replaced the source”.
Four decisions for the lifecycle record
1. Retain
Retain the 302 or 307 when the temporary or conditional intent remains valid. This may apply when the source is a stable entry point but its destination can change, when an experiment is still active, when availability controls the route, or when method preservation is required.
Retention is not the same as leaving the rule unmanaged. Assign an owner, record the reason, set a review date and define the exit condition. A temporary response can be technically correct and operationally neglected at the same time.
2. Change
Change the status when the source has genuinely been replaced or retired, the destination is stable and relevant, no credible temporary condition remains, and the surrounding URL signals support the same interpretation.
The permanent status must also match the request semantics. A straightforward HTML URL move may support 301. A permanently moved route that must preserve non-GET methods may require investigation of 308 instead. Test client, framework, proxy, cache and integration behaviour before release.
This is a decision criterion synthesised from protocol semantics and search documentation, not a Google-prescribed conversion test. Changing a temporary redirect to a permanent redirect does not, on the reviewed evidence, automatically improve rankings, consolidate a guaranteed amount of authority or accelerate indexing.
3. Investigate
Investigate when ownership or original intent is unknown, routing varies by context, signals conflict, the destination canonicalises elsewhere, or a 307 appears to serve application or non-GET traffic.
Investigation is also appropriate when the source has valuable external references or traffic but the team cannot explain why it routes to the current destination. Low organic traffic does not prove that a source has no value: partner systems, paid campaigns, bookmarks, QR codes and API clients may still depend on it.
4. Remove and document
Remove the redirect when it no longer serves a valid user, business, application or search purpose. The correct replacement may be a retired-resource response, such as 404 or 410, or another implementation appropriate to the resource lifecycle. The evidence does not support one universal removal status.
There is a second version of this outcome: leave an unusual but intentional control in place and document it clearly. “Remove/document” therefore means either retire the unnecessary rule or make the continuing exception visible, owned and reviewable.
A synthetic example: an event booking platform
The following example is illustrative, not measured client evidence.
An event platform has returned a 302 from /summer-festival to the current booking page for 28 months. The source receives links from partner sites and is used on printed posters. The destination is included in the XML Sitemap, internal navigation links directly to it, and the canonical tag points to it. The original campaign ended 18 months ago, and the marketing team confirms that the source is now intended to be the permanent public entry point for the event series.
Those signals support a possible status change, but the team checks the implementation before acting. The source sometimes routes to a sold-out information page, campaign parameters need to be preserved for the intended attribution setup, and the destination changes when a new event season launches. The source is therefore not simply an old page with a forgotten replacement.
The evidence suggests two defensible outcomes. If the source is meant to remain a stable campaign entry point whose destination will vary by season, retaining the 302 may be correct, provided the owner and review condition are recorded. If the current event page has replaced the source permanently and the seasonal routing has ended, a permanent redirect may be appropriate after testing parameter handling, analytics attribution, links, Sitemap generation and rollback.
The age of the rule is relevant because it prompted the review. It is not the reason for the decision.
Validate the change before releasing it
A status change can be logically correct and still create operational damage if the surrounding implementation is not checked. Before changing a group of redirects, validate:
- Destination relevance: confirm that the destination fulfils the source’s user and business purpose.
- Redirect path: confirm the response, final URL and absence of unnecessary additional hops.
- Internal links: update important references so users and crawlers reach the intended URL directly.
- Canonicals: ensure the destination does not declare a different preferred URL.
- Hreflang: check locale equivalents and reciprocal relationships where international versions are involved. Google’s hreflang guidance is relevant here.
- XML Sitemaps: confirm that the intended canonical destinations, rather than temporary or obsolete sources, are submitted.
- Parameters: test campaign, referral, product, session and other query-string handling.
- Analytics: compare landing-page, referral and campaign attribution before and after release. Google Analytics documentation notes that attribution depends on parameter handling and configuration; the status code alone is not shown to determine the outcome. See Google’s campaign and referral attribution guidance.
- Request methods: test relevant POST, PUT and PATCH flows for any 307 or application route.
- Rollback: record the previous rule, release owner, monitoring window and tested reversal procedure.
Locale-sensitive redirects deserve particular care. Automatic regional or language routing can restrict access to alternate versions, and changing a status without checking the locale destination can disrupt the intended hreflang architecture. Google discusses these risks in its guidance on multi-regional and multilingual sites.
For broad changes, release in a controlled group rather than converting the entire inventory at once. Monitor response status, final destinations, crawl activity, organic landing pages, errors, attribution and application logs. This is release governance, not evidence that a permanent status has a guaranteed search benefit.
Turn temporary redirects into governed decisions
The most durable fix is to prevent temporary controls from becoming invisible architecture. Every new 302 or 307 should have a lifecycle record containing:
- purpose and source URL;
- business and implementation owners;
- start date and next review date;
- expected variability or conditions;
- exit condition;
- request-method implications;
- destination and fallback behaviour;
- rollback method;
- eventual retain, change, investigate or remove/document decision.
The review interval should reflect the type of control. An experiment, campaign, availability rule, locale route and migration control do not necessarily need the same cadence. What matters is that the owner can explain why the temporary status still represents the current intent.
Conclusion
A long-lived 302 or 307 is not automatically a defect, and its age is not a conversion threshold. The useful distinction is between a temporary status that still accurately describes conditional or reversible routing and one that has drifted away from the site’s current URL architecture.
Make the decision from evidence: recover the original intent, assess destination relevance and stability, compare internal links and Sitemap signals, check external dependencies and traffic, understand request methods, and validate the release path. Then record a clear outcome rather than allowing uncertainty to become another permanent rule.
The practical governance rule is straightforward: every temporary redirect should have a purpose, owner, review date and exit condition. When those fields are maintained, a 302 or 307 can remain temporary for a defensible reason, or be changed safely when the architecture has genuinely moved on.
For implementation support, see Liquid Silver’s technical SEO services and SEO implementation services. For a separate framework focused on migration redirect prioritisation, read Redirect Chains After Migration: Which URLs Should You Fix First?
Share this article