A 301 redirect is a server response with the HTTP status code 301 Moved Permanently. It tells browsers and crawlers that a URL has permanently moved to a new address, which the server sends in the Location header.
At a glance
- Class
- 3xx (redirection)
- Duration
- permanent
- In Google
- signal that the target should become the canonical URL
- Request method
- POST may become GET when followed (not with 308)
- Caching
- heuristically cacheable
- Specification
- RFC 9110, section 15.4.2
Last checked:
What does a 301 redirect mean for SEO?
Google treats 301 and 308 as permanent redirects and uses them as a strong signal that the target URL should be canonical. Over time, the new URL replaces the old one in search results. With a temporary redirect (302, 307), the original URL tends to stay visible. Google calls server-side redirects the most reliable option and recommends JavaScript redirects only when nothing else is possible.
For site moves, Google advises keeping redirects in place as long as possible, generally at least one year. It also recommends redirecting straight to the final destination. Googlebot follows up to 10 redirect hops. If a chain cannot be avoided, the site move documentation advises ideally no more than 3 hops and fewer than 5. Each extra hop adds a request for browsers and crawlers.
RFC 9110 notes one technical difference to 308. For historical reasons, a browser may turn a POST request into a GET when following a 301. A 308 keeps the method. For normal page views this has no effect; for forms and APIs it can matter.
| Type | Permanent or temporary? | Request method | Effect in Google | How reliably Google detects it |
|---|---|---|---|---|
| 301 Moved Permanently (this term) | permanent | POST may become GET when followed | Signal that the target should become canonical | most reliable (server-side) |
| 308 Permanent Redirect | permanent | preserved | same as 301 | most reliable (server-side) |
| 302 Found | temporary | POST may become GET when followed | not used as a canonical signal for the target; other signals can still get it indexed | most reliable (server-side) |
| 307 Temporary Redirect | temporary | preserved | same as 302 | most reliable (server-side) |
| Meta refresh, instant (0 s) | permanent | – (redirect inside the HTML, no 3xx status code) | same as 301 | after server-side redirects |
| Meta refresh, delayed (> 0 s) | temporary | – (redirect inside the HTML, no 3xx status code) | same as 302 | after server-side redirects |
| JavaScript (location) | permanent | – (redirect in the browser) | same as 301, but only if Google renders the page | least reliable: if rendering fails, Google may never see it |
Google orders redirect types by how likely it is to interpret them correctly: server-side redirects first, JavaScript last. Request-method behaviour is defined in RFC 9110 (section 15.4). Sources: Google Search Central: Redirects and Google Search (last updated 2026-04-14); Google Search Central: How to specify a canonical URL (redirects as canonical signal); RFC 9110: HTTP Semantics, 15.4 Redirection 3xx. Last checked: .
Example
Server response for an old URL:
HTTP/1.1 301 Moved Permanently
Location: https://www.example.com/new-page/
The matching rule in an Apache .htaccess file:
Redirect 301 /old-page/ https://www.example.com/new-page/
Common mistakes
- 302 instead of 301 for a permanent move, for example because a CMS or plugin defaults to 302, as WordPress’s
wp_redirect()does. - Chains after several relaunches, where old rules were never updated to point at the current URL.
- Redirecting everything to the home page. Google warns this may be treated as a soft 404. Each old URL should lead to its closest equivalent.
FAQ
How long should a 301 redirect stay in place? Google recommends at least one year after a site move and, from the user’s point of view, indefinitely, as long as old links and bookmarks exist.
301 or 308? Google treats both as permanent. 308 is the better choice when the request method has to be preserved, for example for form submissions or API endpoints.
What do 307 and 308 redirects mean? 307 Temporary Redirect and 308 Permanent Redirect are the method-preserving counterparts of 302 and 301.
More on the searchVIU blog
Sources
- Redirects and Google Search – Google Search Central (updated Apr 14, 2026)developers.google.com
- Site moves with URL changes – Google Search Central (updated Aug 20, 2026)developers.google.com
- How HTTP status codes, and network and DNS errors affect Google Search – Google Search Centraldevelopers.google.com
- RFC 9110: HTTP Semantics, 15.4.2 301 Moved Permanently – IETFrfc-editor.org
- 301 Moved Permanently – MDN Web Docsdeveloper.mozilla.org
- wp_redirect() – WordPress Developer Resourcesdeveloper.wordpress.org
Last updated: