What is a 301 redirect?
A 301 redirect is an HTTP status code that tells browsers and search engine crawlers that a URL has permanently moved to a new location. When Googlebot requests a URL that returns a 301, it follows the redirect to the destination URL and, over time, transfers the original URL's ranking signals to the new one.
The "301" refers to the HTTP status code itself. Other redirect codes you'll encounter: 302 (temporary move), 307 (temporary redirect, respects original HTTP method), and 308 (permanent redirect, respects original HTTP method). For SEO purposes, 301 is the standard choice for permanent URL changes.
The keyword "301 redirect seo" gets around 320 searches per month in the US, according to DataForSEO data, with a keyword difficulty of 21. That's a competitive but achievable target for a page covering the topic in real depth.
Does a 301 redirect lose PageRank?
No, and this is worth clarifying because a lot of older SEO guidance still says it does. Google's Gary Illyes confirmed in 2023 that 301 redirects no longer cause any PageRank loss. The full ranking signal transfers from the old URL to the new one.
This wasn't always the case. Until around 2016, Google's systems applied a roughly 15% PageRank penalty per redirect hop. The algorithm was updated to treat redirect signals the same as direct links. Google's official documentation now states that redirects do not affect how ranking signals are passed.
There's still one meaningful caveat: redirect chains. If URL A redirects to URL B which redirects to URL C, the full PageRank should theoretically pass through all hops. But Googlebot only follows up to 10 redirect hops before stopping. Long chains also slow down crawling, which means some pages in a chain may not get recrawled as frequently. Keep redirect chains short.
What is the difference between a 301 and 302 redirect for SEO?
The distinction matters a lot. A 301 redirect signals a permanent move and transfers PageRank to the destination. A 302 redirect signals a temporary move and does not transfer ranking signals. Google keeps the original URL in its index when it sees a 302, treating it as a short-term routing instruction.
| Redirect Type | HTTP Code | Signals Permanent? | Passes PageRank? | Use Case |
|---|---|---|---|---|
| 301 | 301 Moved Permanently | Yes | Yes (full) | Domain migrations, HTTPS moves, URL slug changes, merging pages |
| 302 | 302 Found | No | No | A/B testing, geo-based routing, temporary maintenance pages |
| 307 | 307 Temporary Redirect | No | No | Same as 302 but preserves HTTP method (POST stays POST) |
| 308 | 308 Permanent Redirect | Yes | Yes | Like 301 but preserves HTTP method; rarely needed for SEO purposes |
A common mistake: using 302 for permanent changes because it "sounds safer" or because a developer set it up as a temporary measure that never got revisited. If the old URL is being retired permanently, use 301. Any other choice bleeds ranking signals.
When should you use a 301 redirect?
Use a 301 when you're making a permanent URL change and you need to preserve the old URL's ranking signals. The most common scenarios are domain migrations (moving from HTTP to HTTPS, or from an old domain to a new one), URL slug changes (when you restructure your site's URL architecture), page consolidation (merging two pages that cover the same topic), and handling non-canonical variants (redirecting www to non-www or vice versa).
Don't use a 301 redirect as a substitute for fixing a broken link. If the destination doesn't closely match the original content, you're moving ranking signals to an irrelevant page. And don't remove 301 redirects prematurely: Google recommends keeping them in place for at least a year after a major migration to ensure full PageRank transfer.
How do you implement a 301 redirect?
Implementation depends on your server environment. Here are the most common methods.
Apache server (.htaccess)
Redirect 301 /old-page/ https://www.example.com/new-page/
Or use mod_rewrite for more complex pattern matching:
RewriteEngine On RewriteRule ^old-page/$ /new-page/ [R=301,L]
Nginx server config
server {
return 301 https://www.example.com$request_uri;
}
WordPress
Use a plugin like Redirection (free) to manage 301 redirects without touching server config. It logs 404 errors automatically and lets you create redirects from the WordPress admin. For large-scale migrations, manual .htaccess rules are faster.
PHP header()
header("HTTP/1.1 301 Moved Permanently");
header("Location: https://example.com/new-page/");
What are the most common 301 redirect mistakes?
I see four mistakes in almost every site migration audit.
Redirect chains. A redirects to B, B redirects to C. Each hop adds latency and risks losing some crawl budget. Audit your redirects regularly with the Redirect Checker tool and flatten chains so A points directly to the final destination.
Redirecting to irrelevant pages. When a page is deleted and 301'd to the homepage, Google sees it quickly and devalues the redirect. The ranking signals don't transfer meaningfully because the destination doesn't match the original content. Redirect to the closest thematically relevant page, or let the URL return a clean 404 if there's genuinely nothing equivalent.
Removing redirects too early. After a domain migration, some teams remove the old server's redirect rules within a few weeks to save hosting costs. But Google may not have recrawled all your pages in that window, and external backlinks still point to the old URLs. Keep redirects in place for 12 months minimum after a major migration.
Not submitting the new sitemap. A 301 redirect alone doesn't tell Google to prioritize recrawling your new URLs. Submit an updated XML sitemap with the new URLs after a migration to accelerate indexing. See the XML sitemaps guide for the correct submission process.
How long does Google take to process a 301 redirect?
For actively crawled, high-traffic pages, Google typically processes 301 redirects within a few days. The old URL disappears from the index as the new URL gets crawled and confirmed. For lower-traffic pages or pages with fewer inbound links, it can take several weeks.
You can speed things up by using the URL Inspection tool in Google Search Console to request indexing of the new URL. You can also submit an updated sitemap. But ultimately, Googlebot crawl frequency depends on PageRank and update signals, not just your requests.
One thing that reliably slows the process: crawl budget issues. If your site has crawl budget waste (excessive faceted navigation URLs, URL parameters, thin pages), Googlebot might not recrawl your 301 redirects quickly. The crawl budget guide covers how to diagnose and fix this.
Migration checklist: Before any domain migration, set up 301 redirects for every indexable URL. After, submit an updated sitemap with correct lastmod dates. Monitor Google Search Console Coverage for 404 errors. Check crawl stats to confirm Googlebot is following redirects. Keep the old server live with redirects for at least 12 months.
How do 301 redirects interact with canonical tags?
These two signals should agree, but they serve different purposes. A canonical tag (rel="canonical") tells Google which URL is the preferred version when duplicate content exists. A 301 redirect actually moves traffic and robots from one URL to another.
If you have a 301 redirect from old-url to new-url, the canonical on the destination page should point to the destination URL. Don't set a canonical pointing back to the old URL after the redirect, or Google will see a conflicting signal. See the canonical tags guide for how these work together during migrations.
For a broader technical SEO audit that checks redirects alongside crawlability, indexation, and page speed, start with the technical SEO audit checklist. And when auditing your full redirect map, use the Technical SEO hub as your central reference.
Check Your Redirects for Chains and Errors
The Redirect Checker tests any URL and shows the full redirect chain, HTTP status codes, and final destination. Free, no account needed.
Check Redirects Now