HTTP Status Codes for Redirects
Every HTTP redirect uses a 3xx status code to tell the client where to go. Understanding these codes is essential for debugging redirects and making informed SEO decisions. For a broader overview, see our guide to HTTP redirects.
Redirect Status Codes
Multiple Choices
The request has more than one possible response. The user or agent should choose one of them. Rarely used for redirects.
SEO Impact
Minimal. Search engines may not follow this redirect reliably.
When to Use
Content negotiation — offering the same resource in multiple formats (HTML, PDF, etc.).
Moved Permanently
The requested resource has been permanently moved to a new URL. The Location header specifies the new URL.
SEO Impact
High. Passes approximately 99% of link equity to the new URL. Search engines update their index to show the new URL.
When to Use
Domain migrations, URL restructuring, HTTP-to-HTTPS migration, consolidating duplicate pages.
Found (Temporary Redirect)
The requested resource is temporarily located at a different URL. The original URL should remain in the index.
SEO Impact
Medium. Search engines may keep the original URL in the index. Link equity transfer is inconsistent.
When to Use
Temporary maintenance pages, A/B testing, location-based content, device-based redirects.
See Other
The response can be found at a different URL using a GET request. Typically used after a POST request to prevent form resubmission.
SEO Impact
Minimal. Not typically used for SEO purposes.
When to Use
Redirecting after a form submission to a thank-you page.
Not Modified
The resource has not been modified since the last request. Used with conditional caching. Not a redirect.
SEO Impact
None. This is a caching response, not a redirect.
When to Use
Browser caching — telling the client their cached version is still valid.
Use Proxy
Deprecated. The requested resource must be accessed through the specified proxy. Rarely used.
SEO Impact
None. Deprecated and not used for redirects.
When to Use
Legacy proxy configurations. Not recommended for modern use.
Temporary Redirect
The requested resource is temporarily at a different URL. Unlike 302, the request method must not change (POST stays POST).
SEO Impact
Medium. Similar to 302 — search engines may keep the original URL. Preserves request method.
When to Use
Temporary redirects where POST requests must be preserved, OAuth callbacks, temporary maintenance.
Permanent Redirect
The requested resource has been permanently moved to a new URL. Unlike 301, the request method must not change.
SEO Impact
High. Similar to 301 — passes link equity and updates the index. Preserves request method.
When to Use
Permanent redirects where POST requests must be preserved, API endpoint migrations.
Quick Reference Table
| Code | Name | Type | Passes Equity |
|---|---|---|---|
| 300 | Multiple Choices | Redirect | N/A |
| 301 | Moved Permanently | Redirect | ~99% |
| 302 | Found (Temporary Redirect) | Redirect | Inconsistent |
| 303 | See Other | Redirect | N/A |
| 304 | Not Modified | Cache | N/A |
| 305 | Use Proxy | Deprecated | N/A |
| 307 | Temporary Redirect | Redirect | Inconsistent |
| 308 | Permanent Redirect | Redirect | ~99% |
Decision Flowchart
Is this redirect permanent or temporary?
Use 301 (default) or 308 (if preserving POST method)
Use 302 (default) or 307 (if preserving POST method)
Frequently Asked Questions
What is the most common redirect status code?
301 (Moved Permanently) is the most commonly used redirect status code. It tells search engines the page has permanently moved and passes nearly all link equity to the new URL.
What is the difference between 301 and 302?
A 301 redirect is permanent — search engines replace the old URL with the new one in their index. A 302 redirect is temporary — search engines keep the old URL in their index. Use 301 for permanent moves and 302 for temporary ones.
Do all redirects pass link equity?
301 redirects pass approximately 99% of link equity. 302 redirects may pass link equity inconsistently. 307 and 308 redirect status codes have less data on equity transfer but generally follow the same pattern as their 301/302 counterparts.
Can I use a 302 redirect permanently?
You can, but it's not recommended. Search engines may eventually treat a 302 as a 301 if the redirect has been in place for a long time, but this is unpredictable. Always use 301 for permanent redirects.
What status code should I use for maintenance?
Use a 302 (or 307) redirect during maintenance. This tells search engines the redirect is temporary and they should keep the original URL in their index.
Related Comparisons
Related Guides
More Redirect Checker Guides
Test Your Redirects
Use the Redirect Checker to trace full redirect chains and verify status codes.
Open Redirect Checker