What Is a 307 Redirect? Temporary Redirect Guide
A 307 redirect is a temporary redirect that preserves the original HTTP method, making it the technically correct choice for temporary moves of POST requests and a modern alternative to the 302.
Explain It Like I'm 5
A 307 redirect is a 302 redirect that follows one extra rule: whatever you were carrying when you knocked on the door, you keep carrying when the door sends you somewhere else. That matters for forms and buttons, not so much for normal browsing.
Understanding 307 Redirects
The 307 status code means the requested resource temporarily lives at a different URL, and crucially, the HTTP method used for the original request must be repeated at the new URL. A GET stays a GET; a POST stays a POST. The older 302 was historically implemented in ways that could convert POSTs to GETs, which broke form submissions.
For plain page visits, the practical difference between 302 and 307 is nil for SEO: both are temporary, both keep the original URL indexed. The 307 is simply the method-correct modern equivalent defined in HTTP 1.1.
Where 307s appear in the wild: maintenance windows served at the same URL, HTTPS upgrade redirects configured at the server level, and application frameworks that use 307 internally for rerouting. Many hosting stacks now default to 307 instead of 302.
SEO guidance mirrors the 302: use it only for genuinely temporary situations, remove it when the period ends, and never use it to mask a permanent move.
Types of 307 Redirect
Temporary, Method-Preserving (307)
The resource is briefly elsewhere and the request method repeats unchanged.
Example: A maintenance page served temporarily while keeping login POSTs intact.
Internal Framework Rerouting (307)
Applications like ASP.NET Core use 307 by default when re-routing requests.
Example: A framework redirect from /old-route to /new-route during deployment.
Why 307 Redirects Matter
Most site owners will never consciously choose a 307, but hosting defaults increasingly serve them. Knowing they are temporary-class redirects lets you audit whether your stack is accidentally telling Google a permanent change is temporary.
Best Practices
Use When the Method Must Survive
Any temporary redirect in front of form submissions, logins, or payment flows should be 307 so POST data is not silently dropped or converted.
Treat Like a 302 for SEO
The original URL stays canonical and indexed. Plan to remove the redirect when the temporary period ends.
Audit Server Defaults
Check whether your host or CDN emits 307 for HTTPS redirects; that is fine, but you should know it is happening.
Never for Permanent Moves
A URL that has moved for good needs a 301 so Google consolidates signals at the new address.
Common Mistakes
Assuming 307 is a new kind of permanent redirect
Fix: It is not. It is the temporary class; permanent is 301 (or 308).
Using 307 for domain migrations
Fix: Migrations are permanent. Use 301 so Google transfers indexing to the new domain.
Ignoring 307s because they look like 302s
Fix: Audit them with the same rigor as 302s; accidental temporary redirects on moved content split your signals.
How WPLink Spots Redirect Issues
WPLink records the status and final destination of every internal link target during its crawl. Links passing through 307 hops surface in the audit report so redirect misconfigurations never hide inside your content.
Frequently Asked Questions
Related Articles
Ready to optimize your internal links?
Get started with WPLink today and see the difference.
Download WPLink