HTTP 301 redirect
A 301 is the HTTP "Moved Permanently" status code. It signals that a URL has changed location for good and clients should update bookmarks and references. Since 2016 Google has treated 301s as passing effectively all link equity to the target. The default redirect for permanent moves.
Long definition
The 301 status was defined in HTTP/1.0 (RFC 1945) and refined in RFC 9110 as the canonical "this URL has permanently moved, update your records" signal. For two decades the SEO folklore was that 301s leaked some PageRank — the famous "15% loss" that Matt Cutts walked back. In 2016 Gary Illyes confirmed on Twitter that 30x redirects no longer lose PageRank, and the position has held since.
When to reach for a 301:
- Domain migration (
old.com→new.com). - Protocol/host normalization (
http://→https://,www→ non-www). - URL slug changes after rebrands, restructures, or content consolidations.
- Consolidating duplicates into a single canonical URL.
- Pruning low-value content by redirecting to a relevant parent (not always — sometimes
410is correct).
Implementation matters. A 301 should be a server-level rule (Nginx return 301, Apache RedirectPermanent, Cloudflare Page Rule, edge worker) — not a <meta refresh> or a JavaScript window.location swap. Server 301s are honored instantly by all clients; the alternatives are slower and less reliable.
A subtle behavior: a 301 on a POST request historically rewrites the method to GET, which can break form submissions and APIs. The fix is 308 Permanent Redirect, which preserves the method. For HTML page redirects, 301 is fine; for any non-idempotent endpoint, prefer 308.
Single-hop is the rule. Each additional hop costs latency and a small amount of equity, and some clients abandon chains beyond five to ten redirects. After a migration, audit your link graph and update internal links to point at the new URL directly — don't lean on the redirect indefinitely.
Common misconceptions
- "301 redirects lose 15% of link equity." Stale advice. Google clarified in 2016 that 30x redirects pass effectively all PageRank. Chains and meta-refresh tricks still leak; a clean single-hop 301 does not.
- "301 means the target inherits everything overnight." Google needs to recrawl both URLs and confirm the redirect before consolidating signals. Expect days to weeks for the new URL to take over rankings, longer for high-traffic pages.
- "Once a 301 is set, you can remove it after a few months." Don't. Old links from external sites, social posts, and email archives will keep firing for years. Removing the 301 turns those into 404s and breaks the equity transfer.
- "301 is always better than 302." Use the code that matches reality. A genuinely temporary move (A/B test, maintenance staging URL, holiday landing) belongs on 302 or 307.
Continue exploring