301 vs 302 vs 307 vs 308 Redirects
Choose redirect status codes by two questions: is the move permanent, and must the client preserve the original method and body?
Status codes in this guide
- 301 Moved Permanently
- 302 Found (Previously "Moved temporarily")
- 307 Temporary Redirect (since HTTP/1.1)
- 308 Permanent Redirect (RFC 7538)
Quick comparison
| Code | Permanent? | Method preserved? | Typical use |
| 301 | Yes | Not reliably for non-GET requests | Permanent page moves and canonical URLs. |
| 302 | No | Not reliably for non-GET requests | Temporary browser redirects. |
| 307 | No | Yes | Temporary API redirects or uploads. |
| 308 | Yes | Yes | Permanent API redirects. |
Questions
Which redirect should I use for SEO?
Use 301 or 308 for permanent moves, then update internal links and sitemaps to the final URL.
Which redirect is safest for POST requests?
Use 307 for temporary moves and 308 for permanent moves when the method and body must be preserved.