301 redirect

Also known as: permanent redirect

On this page 7

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.

LayerExampleSuitability
Web server configurationApache rewrite rules, nginx return 301Fast and reliable for large rule sets
CDN or edge rulesRedirect rules at the edge networkVery fast, good for migrations
Application or CMSRedirect plugin or framework routeEasy to manage, slightly slower
Meta refresh with zero delayHTML meta tagFallback only, weaker signal
JavaScript redirectlocation change in a scriptLast resort, depends on rendering
Ways to implement a 301 redirect

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.

CodeMeaningMethod handlingSEO interpretation
301Moved permanentlyPOST may change to GETTarget becomes canonical
302Found, temporaryPOST may change to GETSource usually stays indexed
303See otherAlways changes to GETUsed after form submissions
307Temporary redirectMethod preservedLike 302
308Permanent redirectMethod preservedLike 301
HTTP redirect status codes in SEO

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.

SituationRecommended responseReason
Domain change301 every old URL to its new counterpartPreserves rankings and links
HTTP to HTTPSSite-wide 301 to the HTTPS versionConsolidates protocol duplicates
URL structure changeOne-to-one 301 mappingKeeps page-level signals
Merged articles301 the weaker page to the stronger oneCombines relevance and links
Product temporarily out of stockKeep the page, no redirectThe move is not permanent
Page removed with no equivalentReturn 404 or 410Irrelevant targets become soft 404s
Decision guide for permanent redirects

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.

MistakeSymptomFix
Redirect chainsSeveral hops before the final URLPoint each rule directly to the destination
Redirect loopsBrowser error, crawler gives upCorrect conflicting rules
Mass redirect to homepageSoft 404 reports, lost rankingsMap to relevant pages or return 404
Using 302 for permanent movesOld URLs remain indexedChange the code to 301
Lost query strings or pathsVisitors land on wrong pagesTest pattern rules with real URLs
Internal links left unchangedCrawl waste and slower pagesUpdate links to the new URLs
Redirect mistakes, symptoms and fixes

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.