A 301 redirect is a permanent redirect that tells browsers and search engines a page has moved to a new URL. Get it right and your rankings follow the move. Get it wrong and you can wipe out years of accumulated authority overnight.
What a 301 redirect is
When a browser or search engine crawler requests a URL, the server responds with an HTTP status code. A 200 means "here's the page". A 404 means "page not found". A 301 means "this page has permanently moved to this new URL — go there instead."
The 301 tells both users and Google where to find the page now. Users are automatically sent to the new URL (they usually don't notice the redirect). Google updates its index to use the new URL and transfers the ranking authority from the old URL to the new one.
Without a redirect, a URL that changes becomes a 404 — a dead end. Any backlinks pointing to it lead nowhere. Any bookmarks saved by visitors fail. Any internal links still pointing to the old URL break. A 301 redirect prevents all of this.
Redirect types: 301 vs 302 vs 307
There are several HTTP redirect status codes. For SEO, the distinction between 301 and 302 matters most:
301 — Permanent redirect
The page has permanently moved. Google will update its index to use the new URL, transfer link equity, and eventually stop crawling the old URL. Use this for any redirect that is intended to be lasting — a URL change during a redesign, a domain migration, consolidating HTTP to HTTPS, or merging duplicate pages.
302 — Temporary redirect
The page has temporarily moved. Google keeps the original URL in its index rather than replacing it with the new one, because the expectation is that the original will come back. Use this only when genuinely temporary — for example, redirecting to a sale page for a limited-time offer.
The most common mistake: using a 302 when a 301 was intended. This happens because 302 is often the default in some server configurations and frameworks. A 302 where a 301 was needed means Google doesn't update its index to the new URL, so rankings don't follow the move.
307 — Temporary redirect (HTTP/1.1)
Functionally similar to 302 but preserves the HTTP method of the original request. Rarely needed for standard SEO purposes. Use 301 for permanent changes, 302 for temporary ones, and don't overthink 307.
308 — Permanent redirect (HTTP/1.1)
Similar to 301 but preserves the HTTP method. Like 307, rarely needed in standard SEO scenarios. 301 remains the standard for permanent redirects.
When to use a 301 redirect
- URL changes during a redesign: any page whose URL changes must have a 301 from the old URL to the new one. This is the most common — and most commonly missed — scenario.
- HTTP to HTTPS: redirect all HTTP URLs to their HTTPS equivalent. This should also be set at the server level as an automatic redirect for the entire domain.
- www to non-www (or vice versa): pick one canonical version and redirect the other to it permanently.
- Trailing slash normalisation: if your site uses
/page/, redirect/pageto/page/(or the reverse). Consistent URL format prevents duplication. - Domain migration: moving from one domain to another. Every URL on the old domain should redirect to the corresponding URL on the new domain.
- Merging pages: if you're combining two similar pages into one, redirect the old page to the surviving page. Both pages' authority consolidates on the destination.
- Deleted pages: if you remove a page that was indexed and had backlinks, redirect it to the most relevant remaining page rather than returning a 404.
- Changed permalink structure: if you change your CMS's URL format (e.g. from
/2024/01/post-nameto/blog/post-name), set up pattern-based redirects to cover all existing posts.
How redirects affect SEO
A properly implemented 301 redirect passes the ranking authority of the old URL to the new URL. Google has confirmed that 301 redirects pass "full" PageRank — an earlier concern that some equity was lost in each redirect has been addressed by Google directly.
What this means in practice: if a page has backlinks from other sites, those backlinks continue to benefit the new URL after a 301 redirect. The transition isn't instantaneous — Google needs to recrawl the old URL, see the redirect, follow it, and update its index — but within a few weeks, the new URL should rank similarly to how the old one did.
The ranking continuity depends on the redirect target being genuinely relevant. A 301 from /old-product to a specific /new-product page passes full authority. A 301 from every deleted page on a site to the homepage is treated as a "soft 404" by Google — it's not seen as a relevant redirect and may not pass much value at all.
How to implement 301 redirects
Apache (.htaccess)
On Apache servers, redirects are configured in the .htaccess file in the root directory:
# Single URL redirect
Redirect 301 /old-page/ https://yoursite.com/new-page/
# Redirect entire old domain to new domain
RewriteEngine On
RewriteCond %{HTTP_HOST} ^olddomain\.com [NC]
RewriteRule ^(.*)$ https://newdomain.com/$1 [R=301,L]
# HTTP to HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Nginx
In the Nginx server block configuration:
# Single URL redirect
location = /old-page/ {
return 301 https://yoursite.com/new-page/;
}
# HTTP to HTTPS
server {
listen 80;
server_name yoursite.com;
return 301 https://$host$request_uri;
}
WordPress
Use a plugin — Redirection (free) is the most widely used. It provides a UI for adding redirects without touching server config files, logs 404 errors so you can spot broken URLs, and handles pattern-based redirects for permalink changes.
Rank Math and Yoast SEO Premium also include redirect managers. For simple, occasional redirects, any of these work. For a site-wide migration with hundreds of redirects, Redirection's import/export from CSV is useful.
Vercel / Netlify / static hosting
For static sites on Vercel, redirects are configured in vercel.json:
{
"redirects": [
{
"source": "/old-page/",
"destination": "/new-page/",
"permanent": true
}
]
}
For Netlify, use a _redirects file or netlify.toml. Both platforms handle redirect rules efficiently at the CDN edge — no server needed.
Shopify
Shopify has a built-in URL redirect tool under Online Store → Navigation → URL Redirects. You can add redirects individually or import a CSV. Limited compared to a dedicated plugin, but sufficient for most URL changes.
Redirect chains and loops
A redirect chain is when a URL redirects to another URL which redirects to another URL — and so on. Each hop in the chain:
- Adds latency for the visitor (each redirect is an extra HTTP round-trip)
- Slightly dilutes link equity transfer
- Risks hitting Google's crawl limit (if the chain is too long, Google may stop following it)
Chains happen most commonly during redesigns that build on top of previous redirects. The old site had A → B. The new site changes B to C. Now you have A → B → C instead of updating the original A → C.
To find and fix chains: crawl your site with Screaming Frog, which identifies redirect chains in its Redirects report. Update each chain's starting point to redirect directly to the final destination.
A redirect loop is worse — A redirects to B which redirects back to A. Browsers and crawlers detect this after a few hops and show an error. Usually caused by misconfigured redirect rules (e.g. an HTTP→HTTPS redirect conflicting with a www→non-www redirect). Test all redirect rules carefully after implementation.
Checking your redirects
HTTP Header Checker: free browser-based tools like Redirect Checker or Redirect Path (Chrome extension) show you the exact HTTP status codes and redirect chain for any URL. Enter an old URL and confirm it returns a 301 to the expected new URL.
Google Search Console: the Coverage report (Indexing → Pages) will flag errors. 404 errors on pages that should be redirected suggest a missing or broken redirect. Check this regularly in the weeks after any URL change.
Screaming Frog: the free version (up to 500 URLs) crawls your site and reports on all redirect types, chains, and loops. Essential for verifying a large redirect map before launch.
Also cross-reference with the website redesign SEO checklist for the full pre- and post-launch verification process when URLs change.
Common redirect mistakes
Using 302 instead of 301
The most common mistake. Many developers use 302 as the default because it's less "permanent" — but for any URL change intended to be lasting, you need a 301. Check the actual HTTP status code with a header checker, not just that "a redirect is in place".
Redirecting everything to the homepage
When pages are deleted, redirecting them all to the homepage is tempting but wrong. Google treats these as "soft 404s" — it recognises that the destination isn't a genuine replacement for the deleted content and won't transfer meaningful link equity. Redirect to the most relevant surviving page instead.
Not redirecting after a domain change
Moving from one domain to another without implementing redirects on the old domain means every page on the old domain is effectively deleted. All backlinks lead to 404s. All accumulated authority is abandoned. Domain migrations require redirects on every URL — not just the homepage.
Removing redirects too soon
Some developers remove old redirects after a few months to "clean up" the server config. This causes 404 errors for any user or crawler that hasn't updated their cached version of the old URL, and breaks any backlinks that haven't been updated. Keep redirects in place indefinitely.
Not testing before launch
Redirect rules should be tested thoroughly before going live — both individually (does A redirect to B?) and in combination (do any rules conflict?). A broken redirect rule that blocks crawling of the whole site, or a loop that sends users into an infinite redirect, is easily caught with pre-launch testing and hard to diagnose after the fact.
Redirects are one of the most technically consequential parts of any website change. See the full redesign SEO checklist — or get in touch to talk through your project.