A 301 redirect, also called a permanent redirect, is an HTTP response with status code 301 Moved Permanently that tells browsers and crawlers that a resource has moved for good to the URL given in the Location header. In technical SEO it is the standard tool for changing URLs, because search engines replace the old URL with the new one in the index and consolidate the old URL’s ranking signals onto the target.
The status code is defined in the HTTP semantics specification (RFC 9110). Its counterpart for temporary moves is the 302 redirect, and the newer codes 307 and 308 preserve the request method. Choosing the right code, pointing each redirect at a relevant final destination and keeping redirects in place long enough are the three decisions that make site changes safe for search.
How a 301 redirect works
When a client requests the old URL, the server answers with status 301 and a Location header instead of content. The browser then requests the new URL automatically, and the user sees only the destination; the whole exchange usually adds one extra round trip, often tens of milliseconds.
Browsers may cache a 301 response indefinitely unless cache headers limit it, so a mistaken permanent redirect can keep sending returning visitors to the wrong page even after the server is fixed. Crawlers record the redirect, recrawl the target and, once they trust the move, index the destination URL in place of the original.
Redirects can be implemented at several layers. The table below compares the main options.
| Layer | Example | Suitability |
|---|---|---|
| Web server configuration | Apache rewrite rules, nginx return 301 | Fast and reliable for large rule sets |
| CDN or edge rules | Redirect rules at the edge network | Very fast, good for migrations |
| Application or CMS | Redirect plugin or framework route | Easy to manage, slightly slower |
| Meta refresh with zero delay | HTML meta tag | Fallback only, weaker signal |
| JavaScript redirect | location change in a script | Last resort, depends on rendering |
301 redirect compared with other redirect types
Redirect status codes differ in permanence and in how they treat the request method. Search engines treat 301 and 308 as strong canonical signals for the target, while 302 and 307 are understood as temporary, so the original URL tends to stay indexed.
| Code | Meaning | Method handling | SEO interpretation |
|---|---|---|---|
| 301 | Moved permanently | POST may change to GET | Target becomes canonical |
| 302 | Found, temporary | POST may change to GET | Source usually stays indexed |
| 303 | See other | Always changes to GET | Used after form submissions |
| 307 | Temporary redirect | Method preserved | Like 302 |
| 308 | Permanent redirect | Method preserved | Like 301 |
If a 302 stays in place for a long time, search engines may eventually treat it as permanent. Relying on that behavior is poor practice; the status code should state the real intent from the start.
When to use a 301 redirect
A 301 redirect is appropriate whenever a URL changes permanently and an equivalent page exists. It is the backbone of every site migration and of routine maintenance.
| Situation | Recommended response | Reason |
|---|---|---|
| Domain change | 301 every old URL to its new counterpart | Preserves rankings and links |
| HTTP to HTTPS | Site-wide 301 to the HTTPS version | Consolidates protocol duplicates |
| URL structure change | One-to-one 301 mapping | Keeps page-level signals |
| Merged articles | 301 the weaker page to the stronger one | Combines relevance and links |
| Product temporarily out of stock | Keep the page, no redirect | The move is not permanent |
| Page removed with no equivalent | Return 404 or 410 | Irrelevant targets become soft 404s |
Relevance is the decisive criterion. Search engines evaluate whether the destination genuinely replaces the source; a redirect from a specific product to the homepage is usually treated as a soft 404, and its signals are not passed on.
Ranking signals, timing and maintenance
Google has stated that 301 redirects no longer lose PageRank compared with direct links, so a well-mapped redirect passes link value to its target. Rankings can still fluctuate for a period after large migrations while crawlers process every redirect and reassess the new URLs.
Redirects should stay in place for at least one year, and ideally permanently, because external links, bookmarks and old citations keep sending traffic to the original URLs. Removing redirects too early turns those visits into 404 errors and drops the consolidated signals.
Over time redirect rules accumulate. A periodic audit should update internal links to point directly to final URLs, so that redirects serve only external traffic and crawlers do not spend requests on unnecessary hops.
Common 301 redirect mistakes
Most redirect problems surface after migrations, when thousands of rules are created under time pressure. The table lists the typical symptoms and their fixes.
| Mistake | Symptom | Fix |
|---|---|---|
| Redirect chains | Several hops before the final URL | Point each rule directly to the destination |
| Redirect loops | Browser error, crawler gives up | Correct conflicting rules |
| Mass redirect to homepage | Soft 404 reports, lost rankings | Map to relevant pages or return 404 |
| Using 302 for permanent moves | Old URLs remain indexed | Change the code to 301 |
| Lost query strings or paths | Visitors land on wrong pages | Test pattern rules with real URLs |
| Internal links left unchanged | Crawl waste and slower pages | Update links to the new URLs |
Googlebot follows up to 10 redirect hops in a chain, but every hop costs time and adds risk. The safe standard is one hop from any old URL to its final destination.
Stripped to the essentials
A 301 redirect is a forwarding address for a web page. When a page moves to a new address, the old address automatically sends every visitor to the new one.
It works like telling the post office that you have moved for good. Letters sent to your old home reach your new home, and senders gradually update their address books. Search engines behave the same way. They replace the old address with the new one and keep the page’s reputation.
Where it is applied
A travel blog with about 2,000 articles moves from dated URLs such as /2019/05/lisbon-guide to short topic URLs such as /lisbon-guide. Before launch, the team exports every old URL from the server logs and the XML sitemap and builds a one-to-one redirect map in the web server configuration.
After launch they crawl the old URL list to confirm that each returns a single 301 hop to a 200 page, update internal links, and submit the new sitemap. Rankings wobble for a few weeks, then settle at the previous level, and inbound links from other sites keep delivering visitors to the right articles.