
A 301 redirect is a permanent HTTP status code that automatically sends browsers and search engines from an old URL to a new one. It tells Google the move is final, so the destination page inherits the ranking signals and link equity the old URL had built. A 301 redirect is the standard fix whenever a URL changes for good.
A 301 redirect belongs to the 3xx class of HTTP status codes, the group reserved for redirection. When a browser or a crawler like Googlebot requests a URL that has a 301 in place, the server does not send back the page itself. Instead it sends a short response with the status code 301 and a Location header pointing to the new address. The client then automatically requests that new URL. The whole exchange happens before any HTML, CSS, or content loads, which is why a server-side 301 is faster and more reliable than redirect methods that run inside the page.
The raw response looks like this:
HTTP/1.1 301 Moved Permanently
Location: https://example.com/new-page/That is the entire mechanism. Everything else, browser caching, search engine reindexing, link equity transfer, follows from that one header.
Server-side 301 redirects are configured at the web server or CMS level, not in the page's HTML. When Googlebot crawls a URL with a 301 in place, Google's indexing pipeline treats the redirect as a signal that the destination URL should be the canonical one, according to Google's own developer documentation. Google then works to move the ranking signals, over time, to the new URL and drops the old one from the index.
Browsers behave similarly but faster. Because a 301 is defined as permanent, most browsers cache it aggressively, meaning a repeat visitor's browser may jump straight to the new URL without even asking the server again. That caching is exactly why you want to be certain a move is permanent before you use a 301: reversing it later means waiting out cached copies in both browsers and search indexes.
A 301 redirect tells browsers and search engines that a page has moved permanently, so Google updates its index to the new URL and transfers ranking signals to it. A 302 redirect signals a temporary move: Google keeps the original URL indexed and expects it to come back, so it does not fully hand over ranking credit. Use a 301 when the old URL is never returning; use a 302 when it might.
The practical difference shows up in three places: indexing (301 replaces the old URL in Google's index, 302 keeps the original), caching (browsers store 301s long-term, 302s are treated as short-lived), and intent (a 302 is a promise you will bring the original URL back).
Yes. Google's Gary Illyes stated in 2016 that 301 and 302 redirects no longer lose PageRank when passing signals to the destination URL, reversing earlier guidance from Matt Cutts that some authority leaked with each hop. In practice, a properly implemented 301 to a genuinely equivalent page preserves the rankings, backlinks, and topical relevance the old URL had earned.
That comes with two conditions worth remembering. First, the destination has to be a real match for the old content; redirecting an old product page to your homepage instead of its true replacement weakens the relevance signal even if the technical transfer works. Second, the redirect has to be direct or close to it. A long chain of hops between the old and new URL adds delay and, at scale, risk of Googlebot giving up before it reaches the final page. For the full picture on protecting rankings during a larger move, see our SEO migration strategy guide.
Five different tools can redirect or consolidate a URL, and each is built for a different job. Here is how they compare.
| Method | Status code | Permanent? | Passes ranking signal | Best use case |
|---|---|---|---|---|
| 301 redirect | 301 | Yes | Yes, full signal per Google | URL or domain permanently moved |
| 302 redirect | 302 | No | Original URL stays indexed | Temporary move, A/B test, maintenance page |
| 307 redirect | 307 | No | Original URL stays indexed | Temporary move that must preserve POST data |
| 308 redirect | 308 | Yes | Yes, same as 301 | Permanent move that must preserve POST data |
| Meta refresh | 200 (client-side) | Depends on delay set | Weaker; Google says use only when a server redirect isn't possible | CMS or platform with no server access |
| Canonical tag | 200 (both URLs stay live) | N/A, not a redirect | Consolidates duplicate-content signals to one URL | Near-duplicate pages that must both remain reachable |
307 and 308 exist for one reason: preserving the HTTP method. If a visitor submits a form with a POST request, a 301 or 302 can cause some browsers to convert that request into a GET on the new URL, which silently drops the submitted data. A 307 or 308 keeps the original method intact. For ordinary page moves, 301 and 308 behave the same for SEO purposes; most sites default to 301 simply because it is more widely supported by hosting panels and CMS plugins.
A canonical tag is not a redirect at all, it is a hint. Both URLs stay live and reachable, but the tag tells search engines which one should represent the pair in search results. Use it when two versions of a page genuinely need to keep working, such as a filtered product listing versus its default view. Our guide on canonical tags covers the syntax and common mistakes in depth, and our piece on the duplicate content penalty explains when a redirect is the better fix instead.
The exact method depends on your server, but the goal is always the same: configure the redirect at the server level so it fires before any page content loads. Here are the three most common setups.
The simplest single-page redirect uses the Redirect directive:
Redirect 301 /old-page/ https://example.com/new-page/For pattern-based redirects, such as sending an entire old directory to a new one, use mod_rewrite instead:
RewriteEngine On
RewriteRule ^old-directory/(.*)$ /new-directory/$1 [R=301,L]Nginx redirects live in the server block, either for a specific path or as a domain-wide rule:
location = /old-page/ {
return 301 https://example.com/new-page/;
}Caddy's redir directive accepts either a numeric status code or the keyword permanent:
example.com {
redir /old-page/ /new-page/ permanent
}Whichever server you run, test every redirect after deploying it. Load the old URL directly, confirm it lands on the intended new page with a single hop, and check the response headers (in a browser's network tab or a tool like curl) to make sure the status really reads 301 and not a client-side workaround.
A redirect chain happens when URL A redirects to URL B, which then redirects to URL C, instead of A pointing straight to the final destination. Chains slow page loads, and Google's John Mueller has said to keep them under five hops for frequently crawled URLs; beyond that, Googlebot may give up before reaching the final page, meaning the destination URL never gets indexed under its own address.
Beyond chain length, a few mapping mistakes cause most of the damage we see in audits:
Google's own developer documentation lists the core scenarios: moving a site to a new domain, consolidating several URLs into one, merging two websites after an acquisition, enforcing HTTPS or a single www/non-www version, and removing a page while sending its traffic somewhere still useful. Outside of Google's list, the same logic applies any time a URL changes permanently, whether that is a rebrand, a CMS migration, a restructured URL pattern, or retiring an old blog post in favor of an updated one.
Two situations trip people up. If content moved but the old URL might come back, such as a seasonal page or a page under a short maintenance window, use a 302 instead so Google keeps the original indexed. And if you are dealing with near-duplicate pages that both need to stay live, a redirect is the wrong tool entirely; read our guide on the duplicate content penalty to see when a canonical tag or a rewrite is the better fix. For a full technical foundation before you touch redirects at all, our what is SEO guide covers how search engines evaluate a site end to end.
What is a 301 redirect in simple terms? A 301 redirect is a signal from your web server that tells browsers and search engines a page has moved to a new URL for good. Anyone who visits the old address lands on the new one automatically, and Google updates its index to match.
Is a 301 redirect the same as a permanent redirect? Yes. "301 redirect" and "permanent redirect" describe the same thing. The number 301 is the HTTP status code, and its official reason phrase is literally "Moved Permanently."
Do 301 redirects pass all the link equity to the new page? Google's Gary Illyes stated in 2016 that 301 and 302 redirects no longer lose PageRank, reversing earlier guidance from Matt Cutts. In practice a clean, direct 301 to a genuinely equivalent page preserves the ranking value of the old URL, though long redirect chains or mismatched destinations still weaken the signal.
How long should you keep a 301 redirect in place? Keep it live indefinitely. Search Engine Land and Conductor both note that removing a redirect after search engines have already reindexed it will not restore the old rankings, and visitors who bookmarked or linked to the old URL will start hitting 404 errors.
Can a 301 redirect hurt my SEO? A single, correctly targeted 301 rarely hurts. Problems come from misuse: redirecting many old URLs to an unrelated homepage, stacking redirects into long chains, creating redirect loops, or leaving broken redirect chains that dead-end in a 404. Each of those wastes crawl budget and confuses the ranking signal.
What is the difference between a 301 redirect and a canonical tag? A 301 redirect sends visitors to a new URL and removes the old page from the index. A canonical tag leaves both URLs live and reachable, but tells search engines which one to treat as the master copy for ranking. Use a redirect when the old page should stop existing; use a canonical tag when both versions need to stay accessible.
How many redirects can be in a chain before Google stops following them? Google's John Mueller has said to keep redirect chains under five hops for URLs that get crawled often. Beyond that, Googlebot may abandon the chain before reaching the final destination, so the page never gets indexed under its new URL.
Do I need a 301 redirect for HTTP to HTTPS? Yes. Google's own developer documentation lists enforcing HTTPS as one of the standard reasons to use a 301 redirect, since the HTTP and HTTPS versions of a URL are technically different addresses.
Will a 301 redirect pass my rankings to the new URL immediately? No. Conductor notes the transfer typically takes anywhere from a few days to a few weeks, depending on how often Google crawls the page. Rankings usually move gradually as Google reprocesses the redirected URLs rather than shifting all at once.
Can I use a 301 redirect for a whole website migration? Yes, and it is the standard method. Every old URL should get its own 301 to its true new equivalent, not a blanket redirect to the new homepage. See our SEO migration strategy guide for the full phased process.
Before you ship any redirect, map every affected URL to its true new equivalent, keep the chain to a single hop, and test the response headers once it is live. If you are not sure how many broken links, orphaned redirects, or chains are already sitting on your site, run through our SEO audit checklist or request a free SEO audit from Rankite and we will map out exactly what needs fixing first.
Get a free, no-obligation SEO audit and a 30-minute strategy session. We'll show you exactly where the growth is hiding.
Fill out the form and we'll get back to you within one business day. Prefer email? Write to us directly at contact@rankite.com.