Still building! More content coming soon 🚧
SEO

What is 301 Redirect?

Published: June 14, 2024 Updated: January 31, 2026

TL;DR

A permanent redirect that tells browsers and search engines "this page has moved forever, go here instead." When someone requests the old URL, the server sends them to the new location and transfers your Page Authority and backlinks along with it. This preserves the SEO value you've built up over time.

Why 301 Redirect Matters

Every URL on your website accumulates SEO value over time through backlinks, user engagement, and search engine trust. When you change a URL without a redirect, you lose all of that accumulated value. It's like starting from zero.

301 redirects solve three critical problems:

1. Preserve SEO Value: When you move content, 301s transfer your ranking signals to the new URL. Google has confirmed that 301 redirects pass full link equity, treating them like normal links.

2. Prevent Broken Links: External sites linking to your old URLs will still work. Users clicking those links land on your content instead of a 404 error page.

3. Consolidate Duplicate Content: If the same content exists at multiple URLs (www vs non-www, HTTP vs HTTPS), 301 redirects tell search engines which version to index and rank.

How 301 Redirect Works

When someone requests a URL with a 301 redirect, here's what happens:

  1. Browser/Googlebot requests the old URL: "GET /old-page"
  2. Server responds with 301 status: "301 Moved Permanently" plus the new location
  3. Browser follows the redirect: Automatically requests the new URL
  4. User sees the new page: The transition is seamless

For SEO, Google treats the redirect as a signal to transfer ranking factors:

  • Backlinks pointing to the old URL now benefit the new URL
  • Page Authority flows to the destination
  • The old URL is eventually dropped from the index

Important: 301s are cached by browsers. Once a user's browser sees a 301, it may skip the old URL entirely on future visits. This is why you should only use 301s for permanent changes.

301 vs 302 vs 307 vs 308: Which Redirect to Use?

Type Description When to Use SEO Value
301

Permanent redirect. Original URL is replaced.

URL changes, site migrations, deleted pages

Full
302

Temporary redirect. Original URL will return.

A/B testing, maintenance, geo-targeting

Partial
307

Temporary redirect (HTTP/1.1). Preserves request method.

Form submissions, POST requests

Partial
308

Permanent redirect (HTTP/1.1). Preserves request method.

API endpoints, POST form migrations

Full

How to Implement 301 Redirect

Apache (.htaccess) Apache .htaccess

Add this to your .htaccess file in the site root. Works on most shared hosting.

# Single page redirect
Redirect 301 /old-page /new-page

# Redirect entire directory
RedirectMatch 301 ^/old-directory/(.*)$ /new-directory/$1

# Redirect old domain to new domain
RewriteEngine On
RewriteCond %{HTTP_HOST} ^olddomain\.com$ [NC]
RewriteRule ^(.*)$ https://newdomain.com/$1 [R=301,L]
Nginx Nginx

Add to your server block in nginx.conf or site configuration.

# Single page redirect
location = /old-page {
    return 301 /new-page;
}

# Redirect with regex
location ~* ^/old-directory/(.*)$ {
    return 301 /new-directory/$1;
}

# Redirect entire old domain
server {
    server_name olddomain.com;
    return 301 https://newdomain.com$request_uri;
}
WordPress (PHP) PHP

Add to your theme's functions.php or use a plugin like Redirection.

// Add to functions.php
function custom_redirects() {
    if (is_page('old-page-slug')) {
        wp_redirect('/new-page/', 301);
        exit;
    }
}
add_action('template_redirect', 'custom_redirects');

// Or use the Redirection plugin for a GUI interface
Cloudflare YAML

Create a Page Rule or Bulk Redirect in Cloudflare dashboard.

# Page Rule settings:
URL: example.com/old-page*
Setting: Forwarding URL
Status: 301 - Permanent Redirect
Destination: https://example.com/new-page

# For bulk redirects, use Cloudflare's Redirect Rules
# or upload a CSV with source/destination pairs
Vercel (vercel.json) JSON

Add redirects to your vercel.json configuration file.

{
  "redirects": [
    {
      "source": "/old-page",
      "destination": "/new-page",
      "permanent": true
    },
    {
      "source": "/blog/:slug",
      "destination": "/articles/:slug",
      "permanent": true
    }
  ]
}
Netlify (_redirects) Bash

Create a _redirects file in your publish directory.

# Simple redirect
/old-page  /new-page  301

# Wildcard redirect
/old-directory/*  /new-directory/:splat  301

# Domain redirect
https://olddomain.com/*  https://newdomain.com/:splat  301!

301 Redirect Best Practices

  • Always test redirects before deploying to production. Use tools like httpstatus.io or curl -I to verify the 301 status code.

  • Keep redirect chains to a maximum of 2 hops. A→B→C is acceptable; A→B→C→D→E wastes crawl budget and dilutes link equity.

  • Update internal links to point directly to the new URL. Don't rely on redirects for your own site navigation.

  • Create a redirect map spreadsheet (old URL → new URL) before any site migration. This documentation is invaluable for troubleshooting.

  • Monitor Google Search Console for crawl errors after implementing redirects. 404s indicate missed redirects.

  • Set up redirects for common URL variations: trailing slashes, case differences, and www/non-www versions.

Common 301 Redirect Mistakes to Avoid

  • Using 302 instead of 301 for permanent changes. This is the most common mistake and can prevent proper SEO value transfer.

  • Creating redirect loops (A redirects to B, B redirects to A). This breaks the page completely and wastes server resources.

  • Redirecting all old pages to the homepage. This provides a poor user experience and wastes the topical relevance of the original page.

  • Forgetting to redirect HTTP to HTTPS versions. Both should resolve, with HTTP redirecting to HTTPS.

  • Removing redirects too soon. Keep 301s in place for at least 1 year, ideally permanently. They have minimal performance impact.

  • Not handling query parameters. Decide whether /page?utm_source=x should redirect to /new-page or /new-page?utm_source=x.

Recommended 301 Redirect Tools

Crawls your site to find redirect chains, loops, and 404 errors. Essential for migration audits.

Free bulk URL checker. Tests multiple URLs at once and shows the redirect chain for each.

Browser extension that shows redirect chains as you browse. Great for quick spot-checks.

Free WordPress plugin with a GUI for managing redirects. Tracks 404s and logs redirect hits.

Monitor crawl errors and see which old URLs Google is still trying to access after a migration.

Frequently Asked Questions About 301 Redirect

When should I use a 301 redirect vs a canonical tag?

Use 301 redirects when the old URL should never be accessed again, as the content has permanently moved. Use canonical tags when both URLs need to remain accessible (like print-friendly versions or tracking parameters) but you want to consolidate SEO signals to one version.

Do 301 redirects hurt page speed?

Each redirect adds a small delay (typically 50-100ms) as the browser makes an additional request. One redirect is fine; long chains of 3+ redirects noticeably slow page loads. More importantly, redirect chains waste Googlebot's crawl budget.

How long should I keep 301 redirects in place?

Ideally, forever. At minimum, keep them for 1 year after migration. Redirects have negligible server overhead, and removing them too early means losing link equity from external sites still linking to old URLs.

Will a 301 redirect affect my rankings?

Temporarily, yes. Even with perfect 301s, expect a brief ranking fluctuation during migrations as Google reprocesses your site. Long-term, properly implemented 301s preserve your rankings. The danger is NOT using them. That's when rankings tank permanently.

Can I redirect to an external domain?

Yes, 301 redirects work across domains. This is common when rebranding (oldbrand.com → newbrand.com) or selling a website. The link equity transfers to the new domain.

What's the difference between a redirect and a rewrite?

A redirect (301/302) sends users to a new URL, and they see the new URL in their browser. A rewrite serves different content while keeping the original URL visible. Rewrites don't pass SEO value because search engines see the original URL.

Featured SEO Case Study

WCG CPAs & Advisors office building in Colorado Springs with Pikes Peak in the background
Professional ServicesConsulting Web DesignSEO

How a CPA Firm Captured 991 Top-3 Google Rankings and 175 AI Overview Citations

Strategic website redesign and content architecture helped an established Colorado Springs CPA firm dominate both traditional search and AI-powered results, with 991 keywords in the top 3 and 175 AI Overview citations.

Result
991 keywords in top 3, 175 AI Overview citations
991
Top 3 Keywords
2,063
Page 1 Rankings
175
AI Overview Citations
View Case Study

More SEO Case Studies

Ready for Results Like These?

Let's talk about how seo can drive real growth for your business.

Get a Free Consultation

SEO Articles

View All Posts »

Try it risk-free. If you don't see real progress in 30 days, I'll refund every cent.