3xx
301 Moved Permanently
The resource has permanently moved to a new URL and all future requests should use it.
What is HTTP 301?
This status code indicates that the requested resource has been permanently assigned a new URI, and all future references should use the URI provided in the Location header. Search engines will transfer ranking signals to the new URL and update their index accordingly. Browsers and clients should cache this redirect and automatically go to the new URL for future requests.
Defined in RFC 9110
Common Causes
- A website restructured its URLs and old paths need to point to new ones
- A domain migration where all content moved from one domain to another
- HTTP to HTTPS enforcement where all insecure URLs redirect permanently to secure ones
- Trailing slash normalization or www/non-www canonicalization
How to Fix
- Update all internal links, bookmarks, and API endpoints to use the new URL from the Location header
- For SEO, ensure the redirect chain is as short as possible, ideally one hop
- Verify the destination URL returns a 200 OK and is the correct final location
- Update sitemaps, canonical tags, and external references to reflect the new URL