Runs in your browser. Your files and text never leave your device - nothing is uploaded.
3xx Redirection
What it means
The requested resource has been permanently moved to a new URL, given in the Location header.
| Property | Detail |
|---|---|
| Status class | 3xx Redirection |
| Defined in | RFC 9110, Section 15.4.2 |
| Cacheable by default | Yes. RFC 9110 lists it as heuristically cacheable, so a cache may reuse it without explicit freshness headers unless Cache-Control says otherwise. Browsers can therefore reuse a 301 without contacting the server, so a mistaken permanent redirect may persist for visitors after you remove it. |
| Who needs to act | The site owner, who sets it up. Clients just follow it. |
What does HTTP 301 Moved Permanently mean?
HTTP 301 Moved Permanently means the resource now lives at a new URL, given in the Location header, and future requests should go there. Browsers follow it automatically and may cache it, and Google treats it as a strong signal that the new URL should replace the old one in search results.
How 301 Moved Permanently works
A 301 is the standard tool for moving content: renaming URLs, switching from HTTP to HTTPS, consolidating www and non-www, or moving to a new domain. RFC 9110 says the server should send a Location header with the new URL, and lets user agents follow it automatically. One historical quirk remains. When a POST hits a 301, browsers send the follow-up request as a GET, which the RFC permits for historical reasons. That is harmless for page moves but breaks APIs that redirect a POST, and it is the reason 308 exists.
Example 301 request and response
GET /blog/old-post HTTP/1.1
Host: example.com
HTTP/1.1 301 Moved Permanently
Location: https://example.com/blog/new-post
Cache-Control: max-age=3600Cache-Control: max-age limits how long browsers reuse the redirect, which is useful while a migration is still settling.
When servers send 301 Moved Permanently
- Site migrations, domain changes and HTTP to HTTPS moves.
- URL normalisation, such as adding or removing a trailing slash or the www prefix.
- Pages renamed, or merged into another page.
- CMS slug changes that automatically create a redirect from the old address.
How to handle 301 Moved Permanently
If you are a visitor or API client
- Update bookmarks, links and API base URLs to the address in Location.
- If a page redirects in a loop, clear cookies and cached data for the site; a stale cached 301 can be the cause.
If you run the site
- Redirect each old URL straight to its final destination. Google follows up to 10 hops, but every hop adds latency.
- Point redirects at the most relevant equivalent page, not the homepage.
- Use 308 instead if clients may send POST, PUT or DELETE to the old URL and the method must be kept.
- Keep the redirects in place for as long as old links might still be followed.
301 and SEO
Google treats 301 and 308 identically: it follows the redirect and uses it as a strong signal that the target should be the canonical URL, so the new address is the one shown in search results. Canonicalisation also consolidates signals such as links onto the chosen URL, which is why a one-to-one 301 is the standard way to move a page without losing its standing. Update internal links and sitemaps to the new URLs so crawlers do not keep passing through redirects.
Related status codes
- 308 Permanent Redirect: Also permanent, but guarantees the method and body are kept; Google treats the two the same.
- 302 Found: Temporary: the old URL normally stays the one shown in search results.
- 410 Gone: For content that is gone with no replacement, rather than a redirect to an unrelated page.
Frequently asked questions
The requested resource has been permanently moved to a new URL, given in the Location header.
The most common redirect for URL restructuring, domain changes, or HTTPS migrations; search engines treat it as a strong signal to index the new URL.
Update bookmarks or links to the new URL. Site owners: ensure the Location header points to the correct destination and that redirect chains are kept short.
For as long as old links, bookmarks or other sites might still use the old URL, which for important pages can mean years. Removing it turns every remaining link into a 404 and discards the signals the old URL had built up.
A 301 is cacheable by default, so the browser can reuse the redirect without asking the server. Clear the site data or test in a private window, and send Cache-Control on redirects you may need to change later.
Sources
- RFC 9110, Section 15.4.2
- Google Search Central: Redirects and Google Search
- Google: How HTTP status codes affect Google's crawlers
Other 3xx Redirection codes
Reviewed by Raja Jahangir · Last reviewed: October 7, 2026
