HTTP 301 Moved Permanently

HTTP 301 Moved Permanently means the requested resource has been permanently moved to the URL given in the Location response header. Browsers follow the redirect automatically and update their history. Search engine crawlers follow the redirect and transfer ranking signals โ€” link equity, PageRank โ€” from the old URL to the new one. A 301 is a permanent, cached, SEO-impacting redirect.

HTTP 301 full guide โ†’

Quick reference

Code301
NameMoved Permanently
Category3xx Redirect
SpecificationRFC 9110 ยง15.4.2
IANA statusAssigned
CacheableYes โ€” cached indefinitely by default
Client actionFollow the Location header to the new URL. Update bookmarks and links to the new URL.
In-depth guideHTTP 301 full guide โ†’

What HTTP 301 means

RFC 9110 defines 301 as indicating that the target resource has been assigned a new permanent URI. Any future references to this resource should use the new URI provided in the Location header. The server may include a short hypertext body with a link to the new URI for clients that do not redirect automatically.

The critical characteristic of 301 is permanence and caching. Browsers cache 301 redirects aggressively โ€” often indefinitely โ€” without a server round trip. Once a user or crawler has followed a 301, they will go directly to the new URL on subsequent visits without checking the original. This makes 301 extremely easy to deploy but difficult to reverse: a cached 301 cannot be undone without clearing browser cache or waiting for the CDN TTL to expire.

For search engines, 301 passes ranking signals to the destination URL. Googlebot and other crawlers follow 301s and consolidate index entries. If a page at URL A redirects 301 to URL B, Google will eventually delist A and index B with the combined link equity. This is the mechanism used to migrate domains, enforce HTTPS, and canonicalize www vs non-www.

Common use cases

HTTPS enforcement

Redirecting all HTTP traffic to HTTPS is the most common use of 301 in modern web infrastructure. The web server or CDN returns 301 from http://example.com to https://example.com. Most TLS configurations use HSTS in addition to the 301 to prevent the initial insecure request entirely.

www to non-www canonicalization

Choosing one canonical form of a domain and 301-redirecting the other consolidates SEO signals. Without this, search engines may index both www.example.com and example.com as separate domains with split link equity.

Permanent URL restructuring

When a site reorganizes its URL structure โ€” moving a blog from /news/ to /blog/, for example โ€” 301 redirects preserve inbound link value and prevent 404s for existing bookmarks and backlinks.

Domain migrations

301 redirects from the old domain to the new domain signal to Google that the site has permanently moved. Combined with Google Search Console's Change of Address tool, 301s from the old domain are the standard mechanism for domain migrations.

Method behavior: POST to GET

When a browser follows a 301 redirect from a POST request, most browsers change the method from POST to GET for the redirected request. This is technically non-conforming โ€” RFC 9110 says the method should not change on a 301 โ€” but it is the historical browser behavior and is widely relied upon. If you need to redirect a POST while preserving the POST method, use 308 Permanent Redirect instead.

301 vs 302 vs 307 vs 308

CodePermanent?Cached?Method preserved?Use when
301YesYesNo (POST โ†’ GET)Permanent move, method change acceptable
302NoNoNo (POST โ†’ GET)Temporary redirect, method change acceptable
307NoNoYesTemporary redirect, must preserve method
308YesYesYesPermanent redirect, must preserve method

SEO and caching implications

301 redirects are cached by browsers indefinitely unless a Cache-Control or Expires header specifies otherwise. This means once a user or crawler has seen the 301, they will bypass the origin server on future requests to the old URL. This is efficient in production but problematic during testing โ€” a 301 you set during development may persist in browsers and CDNs long after you change it.

Search engines consolidate index entries after following 301s, but this process takes time โ€” typically days to weeks for established pages, potentially longer for low-crawl-frequency pages. Do not expect immediate deindexation of the old URL after setting a 301.

Redirect chains โ€” where Aโ†’Bโ†’C via multiple 301s โ€” reduce the efficiency of link equity transfer and add latency for users. Keep redirect chains to a single hop wherever possible. Scan for chains periodically and collapse them.

FAQ

What does HTTP 301 Moved Permanently mean?

HTTP 301 means the resource at the requested URL has permanently moved to the URL in the Location header. Browsers follow the redirect automatically and cache it. Search engines update their index to the new URL and transfer ranking signals.

Does 301 pass SEO value?

Yes. Search engines follow 301 redirects and consolidate ranking signals โ€” link equity, indexation โ€” from the old URL to the new one. A properly implemented 301 during a site migration preserves most of the SEO value of the old URLs.

Can I reverse a 301 redirect?

Technically yes โ€” remove the redirect and the server returns the original response again. But cached 301s in browsers and CDNs will continue redirecting until their cache entries expire. Test 301s carefully and use short cache TTLs during migration periods.

When should I use 302 instead of 301?

Use 302 when the redirect is temporary โ€” A/B tests, maintenance pages, seasonal promotions. Use 301 only when the move is truly permanent and you are confident the old URL will never be used again.

Related resources

On this site: HTTP 301 Moved Permanently โ€” full guide ยท HTTP 302 Found ยท HTTP 307 Temporary Redirect ยท HTTP 308 Permanent Redirect ยท All 3xx redirect codes

Comparisons: 301 vs 302 ยท 301 vs 307 ยท 301 vs 308 ยท 300 vs 301

Standards: RFC 9110 ยง15.4.2 ยท IANA HTTP Status Code Registry ยท MDN Web Docs: 301