Definition: 
A 301 redirect is an HTTP response communicating that a resource has moved permanently to another location. The server returns the `301 Moved Permanently` status code and includes the new URL in the `Location` header, allowing browsers, crawlers, and other clients to request the destination.
It is used when the previous address is no longer the intended reference and should be replaced by another one. The redirect sends requests to the new resource and acts as a signal for links, indexes, and systems that still know the old location to be updated.
How the 301 response works
A request to the source URL receives the 301 status instead of its usual content. The client reads `Location`, makes another request to the destination, and displays that resource. The old address does not necessarily disappear from the server, but it will return the redirect while the rule remains active.
The process operates at the HTTP level. It is not equivalent to changing an internal link, declaring a canonical, or updating an address with JavaScript. Those signals may accompany the move, but they perform different functions.
Browsers may cache a 301. In addition, for certain requests other than `GET`, some clients may change the method when following it. A 308 also indicates permanence and is used when the request method and body must explicitly be preserved.
Use cases
A permanent redirect is applied when there is a clear and stable relationship between the source and destination. Common uses include:
- Domain change: moving every old URL to its equivalent on a new domain.
- Path change: replacing a slug, folder, or address structure while retaining the resource.
- Version consolidation: directing variants such as HTTP/HTTPS or www/non-www to a canonical version.
- Content consolidation: sending a retired page to another that covers an equivalent intent.
- Permanent correction: replacing an incorrect URL that has received links, traffic, or indexation.
The destination should provide a reasonable equivalent. Redirecting many different pages to the homepage or to unrelated content may confuse people and may be treated by search engines as a non-equivalent response.
Effects on search engines
For search engines, a 301 is a strong signal that the destination should replace the source. During processing, the engine crawls both addresses, evaluates their relationship, and may select the new URL for its results. The update does not have to be immediate.
Signals associated with the old address may be consolidated at the destination, but the redirect does not guarantee identical rankings, traffic, or authority. The outcome also depends on content equivalence, destination accessibility, internal links, and other canonicalization signals.
The main difference from a 302 redirect is temporary intent. A 302 indicates that the source should remain the reference, whereas a 301 communicates that the change is permanent. Maintaining a signal that contradicts the actual situation for a long period makes its interpretation more difficult.
Implementation methods
The redirect can be configured in the server, application, CMS, CDN, or proxy. In Apache with `mod_alias`, a rule in the server configuration or an .htaccess file can take this form:
Redirect 301 /old-path/ https://example.com/new-path/
Nginx can use `return 301 https://example.com/new-path/`. An application may also generate the status and Location header, while a CMS redirect manager stores the mapping and builds the response.
Rules covering sets of URLs need to preserve paths and parameters, as well as exceptions, correctly. During a web migration, each source should be mapped to the most equivalent destination; overly broad expressions may create errors at scale.
Verification and maintenance
Checking does not end when the rule is saved. Both the individual response and its integration into the site architecture should be confirmed:
- Status and header: verify that the source returns 301 and that `Location` contains the expected destination.
- Final destination: confirm that it responds correctly, is indexable where appropriate, and preserves the intent.
- Number of hops: remove unnecessary chains and identify loops between rules.
- Internal signals: update links, canonical tags, and sitemaps to point directly to the new URL.
- Complete coverage: review logs and crawls for omitted sources, parameters, or unexpected patterns.
Permanent redirects are commonly retained while old addresses still receive requests or retain relevant signals. Removing them without reviewing external links, bookmarks, traffic, and crawling can expose errors again or interrupt existing access paths.
An incorrect implementation can produce loops, long chains, irrelevant destinations, or lost functionality. The rule should therefore be compared with the approved mapping and checked from outside the system that generates it, not only from its administration panel.
