A 301 redirect looks like a small technical decision: an old URL points to a new URL and the user avoids an error. But in technical SEO, it is not just a jump. It is a signal that tells browsers, crawlers, and search engines: “this resource has permanently moved; the correct reference is now here.”
That signal can preserve continuity, links, traffic, and user experience. It can also break when used as a patch: redirecting everything to the homepage, stacking three historical CMS migrations, mixing 301s and 302s without intent, or leaving thousands of old URLs without an equivalent destination.
The useful question is not “should I add a 301?”. The useful question is:
Which new URL truly represents the intent, content, and value of the old URL?
In summary
A 301 redirect should be used when a URL has been permanently replaced by another URL. In Google, a permanent redirect acts as a canonicalization signal: the destination becomes the URL that should be shown and consolidate signals.
That does not mean every 301 preserves value. Signal transfer depends on the destination making sense. A product page replaced by an equivalent product, a category migrated to a new category, or an article updated with a new slug are good candidates. One hundred deleted articles pointing to the homepage are not.
The practical recommendation for migrations is to keep redirects active for as long as possible and, as a general minimum, for one year. That period gives Google time to recrawl old URLs, see the redirect, reassign external links, and consolidate signals toward the new destination.
What a 301 actually says
At the HTTP level, 301 Moved Permanently indicates that the requested resource has been assigned a new permanent URI. The server should respond with a Location header pointing to the destination, and the browser can automatically request that new URL.
For a user, this feels like normal navigation. For a search system, the message has more layers:
- The old URL should no longer be the main reference.
- The new URL should be treated as a stable destination.
- Internal and external links should be updated over time.
- The response may be cacheable unless instructions say otherwise.
There is one important technical caveat: because of the history of the protocol, some clients can turn a POST request into GET after a 301. For public content pages, this rarely matters. For endpoints, forms, or flows where the method matters, it is worth evaluating 308 Permanent Redirect.
How Google interprets permanent redirects
Google distinguishes permanent redirects from temporary ones. Permanent redirects such as 301 and 308 are strong signals that the destination should be canonical. Temporary redirects such as 302 and 307 indicate that the source may still be the URL shown in results.
That is why a 301 should not be treated as “a link with extra power”. It is an architecture instruction. You are telling the search engine that one URL entity has been replaced by another.
In its site move documentation, Google also clarifies a point that caused fear in SEO for years: 301 and other permanent redirects do not cause PageRank loss by themselves. The practical consequence is that a well-mapped migration should not be designed around fear of an automatic loss simply because it uses 301 redirects.
But “no loss because of the hop itself” does not mean “no risk”. The risk appears when the redirect does not represent a real replacement, when the destination is not indexable, when chains are long, when crawling is blocked, when redirects conflict with canonical tags, or when old URLs point to a generic page.
The condition that matters: intent equivalence
The most delicate part of a 301 strategy is the map. Before touching .htaccess, NGINX, a plugin, or a hosting redirect manager, you need to decide what each old URL means.
A good redirect answers this question:
If someone lands on the old URL, does the new URL satisfy the same intent without misleading them?
If the answer is yes, the 301 makes sense. If the answer is no, you are probably trying to preserve signals where there is no equivalent resource anymore.
| Situation | Recommended response | Reason |
|---|---|---|
| You changed an article slug | 301 to the new slug | It is the same content with a different URL. |
| You migrated from HTTP to HTTPS | 301 or 308 to the HTTPS version | It is a permanent technical canonicalization. |
| A product was replaced by an equivalent new version | 301 to the replacement product | The user still finds a relevant alternative. |
| Several guides were consolidated into one complete guide | 301 from each old guide to the consolidated guide | There is a reasonable editorial replacement. |
| A product disappeared and has no replacement | 404 or 410 | There is no equivalent destination. |
| Many old URLs point to the homepage | Avoid | This can be interpreted as an irrelevant destination or a soft 404. |
Why redirecting everything to the homepage is a bad idea
The homepage is usually a poor answer for a deleted deep URL. A person who clicked a link to a specific guide, category, or product page did not ask for “anything from the domain”. They asked for a resource.
When many old URLs redirect to a single irrelevant page, the system creates three problems:
- Bad experience: the user does not find what they expected.
- Ambiguous signal: the crawler sees a destination that does not represent the original URL.
- Soft 404 risk: the search engine may treat the redirect as a disguised deleted page.
This does not mean content can never be consolidated. If five old articles were merged into a new guide, redirecting them to that guide can be correct. The difference is relevance. Consolidation is not the same as sweeping errors into the homepage.
The one-year rule: how long to keep a 301
In a real migration, Google does not process every URL at the same time. It has to revisit old URLs, discover new ones, follow redirects, compare signals, update sitemaps, recrawl links, and stabilize the index URL by URL.
That is why the operational recommendation is to keep redirects for as long as possible and, in general, at least one year. That year is not a magical ranking guarantee. It is a crawling and consolidation window.
The practical decision would be:
- URLs with external links or historical traffic: keep indefinitely if the technical cost is low.
- Internal URLs with no value or traffic: review after one year, but do not remove rules blindly.
- Domain migrations: keep redirects from the old domain while you still control that domain.
- Campaigns, landing pages, or PDFs linked from third parties: keep while they continue to generate visits.
From the user’s perspective, an old redirect remains useful if there are live links in newsletters, PDFs, social media, external articles, or saved bookmarks. From the server’s perspective, keeping thousands of poorly ordered rules can also add complexity. The solution is not deleting by date: it is auditing by value.
Redirect chains: the problem is not only PageRank
A chain appears when the old URL does not go to the final destination, but to an intermediate URL:
/old → /middle → /new
Google can follow multiple hops, but recommends pointing directly to the final destination and keeping the number of redirects low. The reason is not only “classic SEO”. It is also latency, user experience, crawl budget, client compatibility, and loop risk.
Chains often appear through accumulation:
- HTTP → HTTPS.
- Non-www → www.
- Old slug → intermediate slug.
- Old CMS → new CMS.
- Old domain → new domain.
Each individual rule may look reasonable. The combined system can become fragile.
A good audit should detect:
- Number of redirects per URL.
- Presence of 302 or 307 inside a chain that should be permanent.
- Loops.
- Final destinations with 404, 500,
noindex, conflicting canonicals, or robots blocking. - Redirects to non-equivalent pages.
301, 302, 307, and 308: a quick decision model
There is no need to make this more complicated than necessary.
| Code | Typical use | Search signal |
|---|---|---|
| 301 | Permanent move of a public URL | The destination should be canonical. |
| 308 | Permanent move preserving the method | Similar to 301, useful when you do not want a method change. |
| 302 | Temporary move | The source URL may remain the main URL. |
| 307 | Temporary move preserving the method | Useful for technical flows, not permanent migrations. |
| 404 | Resource not found | The URL has no current equivalent. |
| 410 | Resource permanently gone | Explicit removal signal. |
For public content, migrations, slug changes, HTTPS, or domains, the normal choice is 301 or 308. For temporary tests, reversible campaigns, or maintenance, use a temporary redirect.
Minimal server implementation
Implementation depends on the stack, but the principle is the same: resolve on the server, declare permanence, and point to the final destination.
In Apache, a simple rule can live in server config, a virtual host, or .htaccess:
Redirect permanent "/old-service" "https://www.example.com/new-service"
In NGINX, if there is a one-to-one correspondence between the old and new domain, you can preserve the path:
server {
listen 80;
listen 443 ssl;
server_name old.com www.old.com;
return 301 https://www.new.com$request_uri;
}
If the URL architecture also changed, do not rely only on $request_uri. You need an explicit map from old URLs to new destinations.
In cPanel, WordPress, or commercial CMS redirect managers, the main risk is not “whether the button creates a 301”. The risk is not reviewing the generated rule, its execution order, conflicts with other rules, and whether the final destination responds correctly.
Recommended workflow for a migration or URL cleanup
A single redirect can be solved quickly. A migration needs a process.
- Inventory: export current URLs from the sitemap, crawl, Search Console, analytics, logs, backlinks, and CMS.
- Classification: separate URLs with traffic, links, conversions, duplicate content, deleted content, and consolidated content.
- Map: assign a one-to-one destination, a consolidated destination, 404, or 410.
- Implementation: apply permanent rules on the server or CMS, avoiding intermediate hops.
- Pre-launch test: check a critical sample with
curl, a crawler, or a script. - Launch: update internal links, canonicals, hreflang, sitemap, and navigation.
- Post-migration audit: crawl old and new URLs, reviewing final status and indexability.
- Monitoring: track organic traffic, coverage, errors, logs, and incoming links.
Checklist for a well-designed 301
Before closing a redirect task, I would review this:
- The old URL responds with
301or308if the change is permanent. - The final destination responds with
200. - There is no more than one hop unless there is a clear technical reason.
- The destination is semantically equivalent or a real consolidation.
- The destination is not blocked by
robots.txt. - The destination does not have an accidental
noindex. - The destination canonical points to itself or to the correct URL.
- Internal links already point to the new URL.
- The sitemap contains only new indexable URLs.
- Important backlinks have been identified for possible manual update.
- The rule will remain active for at least one year and, if it has external value, indefinitely.
Common mistakes
The mistakes are usually not spectacular. They are cumulative.
- Mapping by pattern without reviewing content:
/blog/*to/resources/*can fail if intent changed. - Redirecting deleted pages to the homepage: it cleans the 404 report, but it does not solve the user’s need.
- Leaving permanent moves as 302: the search engine may continue treating the original URL as the main one.
- Creating historical chains: each migration adds a hop unless rules are normalized.
- Forgetting images, PDFs, and downloads: many external links point to assets outside HTML pages.
- Keeping old canonicals: the server says one thing and the HTML says another.
- Removing redirects too early: external links and crawlers do not all update at the same time.
How Nicolás Torres would approach it
I would not start by “adding redirects”. I would start by understanding the system.
First, I would separate URLs by value: organic traffic, backlinks, conversions, crawl frequency, commercial function, and content equivalence. Then I would define which URLs deserve replacement, which should be consolidated, and which should disappear with 404 or 410.
The technical layer comes after that: server rules, tests, sitemap, canonicals, and audits. A well-built 301 is not SEO decoration. It is an architecture component that maintains continuity between content, links, users, and search engines.
When a website changes CMS, domain, language, structure, or content architecture, redirects are the bridge. If the bridge points to the right place, it preserves value. If it points anywhere, it only hides the problem for a few weeks.
Want to check whether your redirects are preserving value?
If you are migrating a website, changing URLs, consolidating content, or cleaning 404 errors, it is worth reviewing the map before touching production rules.
We can detect which URLs should redirect, which should return 404 or 410, where chains exist, and which signals may be lost because of poor equivalence.
Frequently Asked Questions
- Does a 301 redirect lose PageRank?
- Google says that 301 and other permanent redirects do not cause PageRank loss by themselves. The practical condition is that the destination must be a relevant replacement for the old URL.
- How long should I keep a 301 redirect active?
- The operational recommendation is to keep it for as long as possible and, as a general minimum, for one year so Google can recrawl, reassign links, and transfer signals to the new URL.
- Can I redirect deleted pages to the homepage?
- It is not a good idea to redirect many old URLs to an irrelevant homepage. If there is no equivalent or consolidated alternative, returning 404 or 410 is usually cleaner.
- Are redirect chains bad for SEO?
- They should not be treated as a strategy. Googlebot can follow multiple hops, but Google recommends pointing directly to the final destination because chains add latency and crawling risk.
- When should I use 308 instead of 301?
- For normal public content pages, 301 is usually enough. A 308 makes sense when you need to declare a permanent redirect without allowing the request method to change from POST to GET.