301 Redirect
A permanent redirect that passes ranking power from one URL to another.
What is 301 Redirect?
A 301 redirect is an HTTP status code indicating that a page has permanently moved to a new location. When properly implemented, 301 redirects transfer most of the original page's ranking signals (PageRank) to the destination URL.
301 redirects are essential for preserving SEO value when changing URLs, consolidating duplicate pages, or migrating to a new domain. They tell search engines to update their index with the new URL.
Why 301 Redirect matters
Without proper redirects, changing URLs causes lost rankings and broken links. 301 redirects preserve link equity built over time. They're crucial for site migrations, URL restructuring, and handling duplicate content.
How to implement
Identify all URLs that need redirecting
Map old URLs to new destinations
Implement redirects at server level
Avoid redirect chains (A→B→C)
Update internal links to point directly to new URLs
Monitor for crawl errors in Search Console
Code example
# Apache .htaccess
Redirect 301 /old-page /new-page
# Nginx
location /old-page {
return 301 /new-page;
}
# Next.js next.config.js
async redirects() {
return [
{ source: '/old-page', destination: '/new-page', permanent: true }
]
}Common mistakes to avoid
- Using 302 (temporary) instead of 301
- Creating redirect chains or loops
- Redirecting to irrelevant pages
- Not updating internal links after redirecting
Examples
Old URL /blog/post-name → New URL /articles/post-name
HTTP → HTTPS migration
Old domain → New domain
Frequently asked questions
Google has stated that 301 redirects pass full PageRank (previously they said ~85%). The exact amount may vary, but 301s are the best option for preserving SEO value.
Use 301 for permanent moves. Use 302 only for temporary changes (A/B tests, maintenance). When in doubt, use 301 - incorrect 302s can prevent link equity transfer.