301 Redirect: What It Is and How to Set It Up Correctly
A 301 redirect is an HTTP server response code that tells browsers and search engines a page has permanently moved from one address to another. Unlike a temporary redirect (302), a 301 passes almost all of the old URL's link equity, traffic, and rankings to the new one, and the search engine eventually replaces the old address with the new one in its index.
How does it work?
When a server receives a request for a page with a 301 redirect configured, it returns no content — only an HTTP header with status 301 and the new location (Location). The browser follows the new address automatically, and the search crawler records the move as permanent.
How search engines handle it
When Googlebot finds a 301 redirect, it gradually transfers the old page's ranking signals to the new one: link equity, crawl history, and search positions. The process usually takes from a few days to a few weeks, depending on how often the site is crawled.
Where to set it up
A redirect can be implemented at the server level (.htaccess for Apache, Nginx configuration), at the CMS level through redirect plugins, or programmatically in application code — the choice depends on the site's technology stack.
Why do you need it?
A 301 redirect is essential when you change the URL structure, delete pages, merge duplicates, or migrate to a new domain — without it, old links return 404 and the site loses accumulated link equity and organic traffic.
Redirects are also used to merge several versions of a domain (with and without www, http and https) into one canonical version, preventing ranking signals from being split.
Example
# .htaccess (Apache)
Redirect 301 /old-page/ https://example.com/new-page/# Nginx
location /old-page/ {
return 301 https://example.com/new-page/;
}# Example of an HTTP response header
HTTP/1.1 301 Moved Permanently
Location: https://example.com/new-page/Common mistakes
Redirect chains
Several consecutive 301s (A → B → C) slow down signal transfer and page loading — set up a direct A → C redirect instead.
Redirecting every page to the homepage
When a section is removed, mass-redirecting all its URLs to the homepage instead of relevant equivalents is treated by Google as a weak signal and can cost you part of your traffic.
Redirect loops
Page A redirects to B and B redirects back to A, making both pages unreachable for users and crawlers.
Using 302 instead of 301 for permanent changes
A temporary redirect doesn't fully pass link equity and tells the search engine the old address is still current, which delays indexing of the new URL.
Redirecting to a noindex page or one blocked in robots.txt
The destination page must be crawlable and indexable, otherwise ranking signals aren't transferred.
How to check it?
You can check a redirect's status code with the URL Inspection tool in Google Search Console, or with any HTTP header checker. In the browser, the Network tab in DevTools shows the redirect chain and the final response code.
FAQ
How long does it take Google to process a 301 redirect?
Usually from a few days to a few weeks, depending on how often the site is crawled. For a large domain migration it can take longer because of the number of URLs that need to be reprocessed.
Should I remove a 301 redirect a year after the migration?
No, keep redirects indefinitely: external links and users' bookmarks pointing to old URLs can exist for years.
How does a 301 differ from a 302 redirect?
A 301 signals a permanent move and passes link equity, while a 302 means a temporary change and the search engine keeps treating the original address as the primary one.
Can I redirect many old pages to one new page?
Technically yes, but you lose part of each page's unique traffic — where possible, it's better to find a relevant equivalent for every URL.
Related terms
- Canonical URLAn alternative way to consolidate duplicates without redirecting the user, unlike 301.
- Robots.txtMust allow crawling of both the old and the new address while signals are being passed through the redirect.
- Duplicate contentThe problem 301 solves for good by physically merging several URLs into one.
- Meta robots (noindex)A page with noindex should never be the final destination of a 301 redirect.
- Sitemap.xmlAfter setting up a 301, remove the old address from the sitemap and keep only the new one.
- Crawl budgetLong redirect chains waste crawl budget.
Prepared by the LuchanLabs team