A 301 redirect is an HTTP response that permanently sends users and crawlers from one URL to another. It is appropriate when a page has permanently moved, several duplicate URLs are being consolidated or an obsolete address has a genuine replacement that satisfies the same user need.
Request:
https://example.com/old-page/
Response:
HTTP/1.1 301 Moved Permanently
Location: https://example.com/new-page/
Final request:
https://example.com/new-page/
The redirect is processed before the old page’s HTML is displayed. A browser normally follows the Location response header automatically and opens the destination URL.
Trace a live redirect with the free HTTP Status & Redirect Checker. Use Crawl Explorer when you need to inspect redirecting URLs, chains and final destinations across an entire website.
What Does a 301 Redirect Mean?
The HTTP status code 301 means that the requested resource has moved permanently to the URL supplied in the response’s Location header. Browsers and crawlers can follow that destination instead of attempting to use the old address as the continuing location.
A complete server-side 301 response contains several distinct pieces of information:
- Source URL: The old address requested by the browser or crawler.
- Status code:
301, indicating a permanent redirect. - Location header: The destination that should replace the old address.
- Destination URL: The new address requested after the redirect is followed.
- Final response: The status returned by the destination, ideally a usable final page.
The old URL can continue receiving requests from bookmarks, backlinks, search results, feeds and cached documents. The redirect preserves a working route for those requests while communicating that the new URL is the permanent destination.
How Does a 301 Redirect Work?
A 301 redirect works by returning an HTTP response before the source page is rendered. The response identifies a new destination, after which the browser or crawler sends another request to that URL.
- A visitor or crawler requests URL A. The request reaches the server, CDN or application responsible for the old URL.
- The system returns status code 301. No normal page needs to be rendered at URL A.
- The response includes a Location header. This header supplies URL B as the permanent replacement.
- The client requests URL B. The browser updates the visible address and attempts to load the destination.
- URL B returns its final response. A healthy destination commonly returns
200 OKand the expected content.
URL A
→ 301 Moved Permanently
→ Location: URL B
→ URL B
→ 200 OK
Search engines can use this pattern as a strong canonicalization signal. Processing is not necessarily immediate: crawlers must request the old URL, follow the redirect, evaluate the destination and update their systems.
When Should You Use a 301 Redirect?
Use a 301 redirect when an old URL has been permanently replaced and users reaching the old address should automatically continue to the new one. The destination should preserve the original purpose closely enough that the redirect remains useful and understandable.
Common valid uses include:
- Permanent slug changes: An article or product receives a new final URL.
- HTTP-to-HTTPS migration: Secure URLs permanently replace their HTTP versions.
- Hostname consolidation: A site permanently chooses either its
wwwor non-wwwhostname. - Content consolidation: Two pages serving the same intent are merged into one stronger destination.
- Category restructuring: A category or directory permanently moves into a new architecture.
- Domain migration: Content moves from an old domain to equivalent locations on a new domain.
- Product replacement: An unavailable product is replaced by a genuinely equivalent successor.
- Normalization: Duplicate path, case or trailing-slash variants are consolidated into one preferred form.
/blog/old-seo-guide/ to /wiki/technical-seo-guide/. The old address should return a 301 only when the new page is the legitimate continuation or replacement of the original resource.
When Should You Not Use a 301 Redirect?
Do not use a 301 redirect when the move is temporary, no relevant replacement exists or the original URL should remain independently accessible. A permanent redirect is not a universal method for eliminating every error or low-performing page.
A 301 is usually inappropriate when:
- The alternative destination is needed only during temporary maintenance or testing.
- A deleted article has no page covering the same question.
- An expired event is being sent to a generic events archive with unrelated information.
- A discontinued product is sent to the homepage instead of a comparable successor.
- A landing-page experiment should preserve the original URL as the long-term version.
- Two pages must remain accessible but need a preferred canonical representative.
- The purpose is to prevent indexing rather than move the URL.
- The destination is itself redirected, noindexed, unavailable or unrelated.
404 Not Found or 410 Gone response is generally clearer than an irrelevant redirect.
301 Redirect vs 302 Redirect
A 301 communicates a permanent move, while a 302 communicates a temporary redirect. Both send users to another URL, but they express different expectations about which address should remain the long-term representative.
| Dimension | 301 redirect | 302 redirect |
|---|---|---|
| Meaning | The resource has moved permanently. | The resource is temporarily available elsewhere. |
| User behavior | The browser opens the destination. | The browser opens the destination. |
| Long-term URL | The destination is intended to replace the source. | The source is expected to remain the primary long-term URL. |
| Internal links | Update controlled links to the new final URL. | Links may continue targeting the original URL during the temporary condition. |
| Typical use | Permanent migration, consolidation or slug change. | Temporary maintenance, short campaign or controlled experiment. |
| Removal plan | Usually retained as long as the old URL can receive meaningful requests. | Removed when the temporary condition ends. |
301 Redirect vs Canonical Tag
Use a 301 redirect when the old URL should send users to a permanent replacement. Use a canonical tag when multiple accessible URLs contain duplicate or substantially similar content but one should be preferred in search.
| Dimension | 301 redirect | Canonical tag |
|---|---|---|
| User reaches the source URL | The user is automatically sent elsewhere. | The source page remains visible and accessible. |
| Server behavior | The source returns a 3xx redirect response. | The source commonly returns its normal successful response. |
| Primary purpose | Move or replace a URL. | Select a representative among duplicate or similar pages. |
| Typical example | An old article permanently moved to a new slug. | A tracking-parameter version of the same article. |
| Content requirement | The destination should satisfy the original intent. | The pages should contain duplicate or substantially similar primary content. |
| Preferred internal links | Link directly to the destination. | Link directly to the canonical URL. |
Review the full canonicalization mechanism in What Is a Canonical Tag? rel=canonical Explained.
301 Redirect vs 404 and 410
Return a 301 when the old URL has a clear permanent replacement. Return 404 or 410 when the resource no longer exists and no equivalent destination is available. These responses describe different resource states rather than competing SEO tactics.
| Status | Meaning | Appropriate situation |
|---|---|---|
301 Moved Permanently |
The resource has a permanent replacement at another URL. | An article moved, two pages were merged or a product has an equivalent successor. |
404 Not Found |
The server cannot find a current resource at the requested address. | The page was removed and no relevant replacement exists. |
410 Gone |
The resource has intentionally been removed and is not expected to return. | The publisher wants to state explicitly that the resource is permanently gone. |
A customized 404 page can still help visitors find navigation, search or related resources. The server must nevertheless return the correct 404 status rather than a successful response that merely displays an error message.
Do 301 Redirects Pass SEO Signals?
A relevant permanent redirect can help search engines consolidate signals from the old URL with the destination, but it does not guarantee that every ranking, backlink, traffic or conversion outcome will remain unchanged.
The result depends on the complete migration context, including:
- Destination relevance: The new page should answer substantially the same need as the old page.
- Content continuity: Useful information from the old resource should remain available where appropriate.
- Redirect consistency: The old URL should not alternate between redirecting, failing and returning content.
- Final status: The destination should resolve successfully without unnecessary chains.
- Canonical alignment: The destination should not declare another unrelated canonical URL.
- Internal links: Controlled links should be updated to the final destination.
- Sitemap state: Current sitemaps should list the final canonical URL rather than the old redirect.
- External context: Backlinks may describe the old page in ways that do not fit a substantially different destination.
A redirect can preserve a route and support consolidation, but it cannot preserve an intent that no longer exists on the destination. Replacing a detailed guide with a generic homepage removes much of the contextual match that made the original URL useful.
How Long Does Google Take to Process a 301 Redirect?
There is no guaranteed processing time for a 301 redirect. Google must recrawl the source, follow the destination, evaluate the new relationship and update its search systems.
Processing speed can vary according to:
- How frequently Google recrawls the old URL
- The size and complexity of the migration
- Server availability and response consistency
- The strength of internal links to the destination
- Whether current sitemaps expose the new URL
- The number of redirect hops
- Whether old and new pages have equivalent intent
- Conflicting canonical or indexing signals
For a small set of frequently crawled pages, changes may be observed sooner than for a large migration containing many rarely requested URLs. Requesting recrawling does not guarantee immediate processing.
What Is a Redirect Chain?
A redirect chain occurs when one URL redirects to another redirecting URL before the request reaches its final destination. Every hop requires another request and creates another point where the route can fail.
URL A
→ 301 URL B
→ 301 URL C
→ 302 URL D
→ 200 Final Page
Redirect chains commonly appear after repeated migrations, slug changes or domain consolidations. They can cause:
- Additional latency for users
- More crawler requests before reaching the final page
- Greater risk of loops or broken intermediate URLs
- Harder migration debugging
- Internal links that continue describing an outdated architecture
Where safe, update the original redirect and internal links so they point directly to the current final destination.
Follow the practical workflow in Check Redirect Chains and HTTP Status Codes in 5 Minutes.
What Is a Redirect Loop?
A redirect loop occurs when redirects repeatedly send the request back to a URL already visited, preventing the browser or crawler from reaching a final resource.
URL A
→ 301 URL B
→ 301 URL A
→ 301 URL B
→ continues until the client stops
Loops often result from conflicting rules at different technical layers:
- A CDN forces HTTPS while the application redirects back to HTTP.
- A hostname rule sends
wwwto non-wwwwhile another rule reverses it. - A CMS plugin and server configuration apply competing slug redirects.
- Language or device routing repeatedly switches between URL variants.
- Broad regular-expression rules capture their own destination.
How Should Internal Links Work After a 301 Redirect?
Internal links should normally point directly to the final destination instead of relying on a redirect. The redirect should protect historical requests, while the current website architecture should use the current URL.
After a permanent move, review:
- Main navigation and footer links
- Contextual links inside articles and product descriptions
- Category, tag and archive templates
- Breadcrumbs
- Related-content modules
- Canonical tags
- Hreflang relationships
- Structured-data URLs
- XML and RSS feeds
- HTML and XML sitemaps
Updating internal links reduces avoidable requests and makes the preferred architecture explicit. It also prevents new pages from continuing to reinforce an obsolete source URL.
Should Redirected URLs Stay in the XML Sitemap?
Redirected URLs should normally be removed from the current XML sitemap and replaced by their final canonical destinations. A sitemap should communicate the URLs the site presently wants considered for indexing.
A clean page sitemap usually contains URLs that:
- Return a successful final response
- Are canonical representatives
- Are intended to be indexable
- Belong to the current website architecture
- Use the preferred protocol and hostname
It should normally exclude URLs that:
- Return 301 or 302 redirects
- Return 404, 410 or server errors
- Carry a noindex directive
- Canonicalize to another URL
- Are obsolete parameter or hostname variants
Create or validate a clean file with the XML Sitemap Generator & Validator.
How Do You Implement a 301 Redirect?
Implement a 301 redirect at the most reliable layer controlling the source URL, such as the web server, application router, CDN, hosting panel or CMS. The correct method depends on the website’s technology and deployment process.
Apache example
Redirect 301 /old-page/ https://example.com/new-page/
Nginx example
location = /old-page/ {
return 301 https://example.com/new-page/;
}
PHP example
<?php
header(
'Location: https://example.com/new-page/',
true,
301
);
exit;
?>
WordPress implementation
WordPress redirects may be configured through the server, hosting platform, a redirect-management plugin or application code. Avoid running multiple redirect systems without documented ownership because overlapping rules can create chains and loops.
How Do You Check a 301 Redirect?
Check the source status, Location header, complete redirect path, final response and relevance of the destination. Seeing another page in the browser does not prove that the source returned the intended 301 status.
- Request the exact old URL. Include its protocol, hostname, path and important query parameters.
- Record the first status code. Confirm that the source returns 301 rather than 200, 302, 404 or a client-side redirect.
- Inspect the Location header. Verify that it contains the intended destination.
- Follow every hop. Record intermediate statuses and URLs.
- Check the final response. Confirm that the destination resolves successfully.
- Compare user intent. Determine whether the final page is a legitimate permanent replacement.
- Inspect the destination canonical. It should not point unexpectedly elsewhere.
- Check indexability. Review robots and noindex directives on the final page.
- Review internal links and sitemaps. Controlled references should use the final URL.
- Run a fresh crawl. Verify the entire affected URL cohort rather than one sample alone.
Run the test with the free HTTP Status & Redirect Checker.
What Are the Most Common 301 Redirect Mistakes?
The most serious 301 mistakes send URLs to unrelated destinations, create long chains, produce loops or leave current internal signals pointing to obsolete addresses.
| Mistake | Why it causes problems | Preferred correction |
|---|---|---|
| Redirecting every deleted page to the homepage | The destination does not satisfy the original intent. | Use an equivalent replacement or return 404/410. |
| Creating multiple redirect hops | Each hop adds another request and failure point. | Point the source directly to the final destination. |
| Creating a redirect loop | No final page can be reached. | Remove conflicting server, CDN or application rules. |
| Redirecting to a 404 or 5xx page | The replacement is unavailable. | Restore the destination or choose a valid equivalent page. |
| Redirecting to a noindexed page | The intended replacement is being excluded from search. | Align the redirect and indexing strategy. |
| Destination canonicalizes elsewhere | Canonical signals point beyond the declared replacement. | Redirect directly to the final canonical URL. |
| Internal links still target the old URL | The site continues reinforcing outdated paths. | Update controlled links to the final URL. |
| Old redirects are removed too early | Backlinks, bookmarks and historical requests may break. | Retain useful redirects while old URLs still receive requests. |
| 301 used for a temporary test | The status communicates a permanent replacement. | Use an appropriate temporary redirect. |
| Overbroad regular expressions | Unrelated URL groups may be captured accidentally. | Test patterns, boundaries and exclusions before deployment. |
| Query parameters are discarded incorrectly | Required state, filtering or tracking information may be lost. | Define intentionally which parameters should be retained. |
| Case and slash rules conflict | Variants can cycle or produce inconsistent destinations. | Define one normalization policy at one controlled layer. |
301 Redirect Checklist
A 301 redirect passes QA when the move is genuinely permanent, the destination preserves the original intent and every major technical signal supports the final URL.
- The URL move is permanent.
- The source URL is recorded exactly.
- The destination URL is recorded exactly.
- The destination satisfies the original user intent.
- The source returns HTTP 301.
- The Location header is correct.
- The redirect uses an absolute valid destination where required.
- The destination returns a usable final response.
- No unnecessary intermediate redirect remains.
- No redirect loop exists.
- The destination is not noindexed.
- The destination canonical is consistent.
- Internal links point directly to the final URL.
- Breadcrumb links use the final URL.
- Structured-data URLs use the final URL.
- Hreflang references are updated.
- Current sitemaps list the final URL.
- Redirected URLs are removed from current sitemaps.
- Mobile and desktop requests follow the same intended route.
- Query-parameter behavior is tested.
- Representative templates are tested.
- External high-value links are reviewed.
- Before-and-after evidence is saved.
- A fresh crawl verifies the complete affected set.
- Redirect monitoring has an owner and review date.
Frequently Asked Questions About 301 Redirects
What is a 301 redirect?
Is a 301 redirect permanent?
Does a 301 redirect affect SEO?
Does a 301 redirect pass link equity?
What is the difference between a 301 and 302 redirect?
What is the difference between a 301 and a canonical tag?
Should I redirect every 404 page?
Can a 301 redirect point to the homepage?
How many redirect hops are acceptable?
Should redirected URLs remain in the sitemap?
How long should a 301 redirect remain active?
How can I check a redirect chain?
Check Every Redirect Before It Costs Traffic
Start with the exact source URL and follow every response until
the final page. Confirm that the first status is appropriate,
the destination preserves the original intent, and no chain, loop,
noindex rule, or canonical conflict remains.
Use the free redirect checker for one URL. Move to Crawl Explorer when you need a complete redirect inventory, or use Site Health Audit to prioritize broken destinations, loops, and multi-hop chains by affected page count.
Novaverb connects HTTP status evidence, redirect paths, final URLs, canonical signals, and internal links so teams can verify a migration instead of assuming every forwarded browser request is correct.
Use the Decision Ladder to decide whether an obsolete URL should be retained, redirected, consolidated, or removed according to the user’s next required action.