A 301 redirect is a permanent server-side instruction that sends both users and crawlers from an old URL to a new one while signaling the move is final. Search engines transfer most ranking signals from the old address to the new one. It is the correct tool for retired, merged, or relocated pages.
Key Takeaways
- A 301 is a permanent redirect; a 302 is temporary, and that distinction changes how search engines treat indexing and link signals.
- Google treats both as canonicalization signals, but a long-lived 302 keeps the original URL indexed rather than the destination.
- Implement redirects at the CDN edge or server layer so the request never hits origin and resolves in a single hop.
- Redirect chains and loops waste crawl budget and dilute link equity; audit and consolidate to one hop before a migration.
- Query strings, UTMs, and fragments must survive the redirect or your analytics and paid media data will break.
- Keep a 301 in place for at least a year after a move, and longer if the old URL still receives meaningful traffic.
What Is a 301 Redirect?
A 301 redirect is an HTTP status code meaning "Moved Permanently." When a browser or crawler requests the old URL, the server answers with status 301 and a Location header pointing to the new URL. The client then fetches the destination automatically.
For SEO, the 301 is the signal that the old resource no longer exists at its original address and the new URL is its permanent replacement. Browsers cache a 301 aggressively, which means a user who hits the old URL may be sent straight to the destination on later visits without re-checking. That caching is a feature for performance but a hazard during testing, because a bad 301 can stick in a visitor's browser.
Use a 301 whenever a page is gone for good: a URL changed during a rebrand, a piece of content was merged into a stronger page, or an entire site moved to a new domain. The destination should be the single most relevant replacement, ideally one-to-one.
What Is a 302 Redirect?
A 302 redirect is an HTTP status code meaning "Found" or "Moved Temporarily." Like the 301, it sends the client to a different URL, but it explicitly tells the client the move is not permanent. Browsers do not cache a 302 the way they cache a 301, so each request re-evaluates the redirect.
The key behavioral difference is indexing. Because a 302 is temporary, search engines keep the original URL in the index and continue to treat it as the canonical address. If you leave a 302 in place for months on a page that is actually gone for good, you tell crawlers to keep sending visitors and ranking credit to the URL that no longer serves content directly.
A 302 is appropriate for A/B tests, seasonal landing pages, locale or currency switchers, and maintenance pages where the original URL will return to serving its own content. When the temporary period ends, remove the redirect rather than converting it.
What Is the Difference Between a 301 and a 302?
| Dimension | 301 Permanent | 302 Temporary |
|---|---|---|
| Status code | 301 Moved Permanently | 302 Found / Moved Temporarily |
| Meaning | The resource has a new permanent address | The resource is temporarily elsewhere |
| Link equity | Most signals pass to the destination | Signals largely stay with the original URL |
| Indexing behavior | Destination tends to replace the original in index | Original URL stays indexed |
| Caching | Browsers cache aggressively | Browsers do not cache strongly |
| Typical use case | Rebrands, merges, domain moves, dead URLs | A/B tests, maintenance, seasonal pages |
| Risk if used wrong | Hard to undo once cached; misroutes forever | Original stays canonical; equity never transfers |
When Should You Use a 301?
Use a 301 whenever the old URL will never serve its original content again. The clearest cases are a domain migration, a URL structure change, a content merge where two pages become one, and the removal of a page that has a clear replacement.
The destination matters as much as the decision to redirect. Point each old URL at the single most relevant new page, not at a category or the homepage. A redirect to a vaguely related page reads as a soft 404 to search engines and loses the ranking signal you were trying to preserve. If no relevant replacement exists, let the old URL return a true 404 or 410 instead of forcing a redirect.
Keep a 301 in place for at least twelve months after the move. Crawlers need repeated confirmation that the redirect is stable before they fully transfer indexing and signals to the destination. External sites that still link to the old URL will keep sending visitors to it for years, so removing the redirect too early creates dead links. If the old URL still receives meaningful referral or direct visits, keep it indefinitely; the cost of a correct one-to-one 301 is near zero.
When Should You Use a 302 (or a 307)?
Use a 302 when the original URL will resume serving its own content. Common examples are a temporary maintenance page, a time-boxed A/B test on a checkout flow, and a locale or currency selector that forwards based on a cookie or header.
The 307 status code is the method-preserving cousin of the 302. A 302 in the wild is sometimes rewritten by clients from POST to GET, which can break form submissions and API calls. A 307 tells the client to repeat the request to the new URL using the same method. If you are redirecting a non-GET request and need the method kept intact, prefer 307 over 302.
Does a 301 Redirect Pass Link Equity and Rankings?
A 301 passes the large majority of link equity from the old URL to the destination. Search engines treat it as a strong signal that the new URL should inherit the old one's relevance and authority. In practice the transfer is not a precise 100 percent, but the loss from a single clean 301 is small.
Equity loss compounds when redirects are chained. If URL A points to B, and B points to C, the signal has to travel two hops, and crawlers may give up or apply diminishing weight. A direct A-to-C 301 preserves more of the original signal than the chain does. Keep the path to one hop whenever you control both ends.
The 308 status code is the permanent, method-preserving counterpart to 301. Like 301 it signals permanence and passes equity, but it also instructs the client to keep the original request method. For most marketing-site URL moves a 301 is correct; reach for 308 when method preservation on a permanent move is required.
How Do You Implement a 301 Redirect?
Follow this sequence to implement a 301 without losing traffic or signals:
- Audit the current URL map and list every old URL that needs a destination, including the new target for each.
- Choose the implementation layer: CDN edge rules, server config such as Nginx or Apache, the CMS or app router, or a plugin if your stack has one.
- Write one-to-one redirect rules. Avoid wildcards that flatten many URLs to the homepage, because they destroy the relevance signal.
- Test each rule with a status-code check, such as a HEAD request, to confirm it returns 301 and not 302 or 200.
- Update internal links on the site to point directly at the final URL so users and crawlers never take the hop.
- Resubmit the sitemap so crawlers discover the new URLs quickly.
- Monitor Search Console coverage and server logs for spikes in 404s or redirect chains.
Prefer the CDN edge or server layer over application code. A redirect resolved at the edge returns before the request reaches your origin, which keeps latency low and protects the origin from extra load during a migration traffic surge.
What Is a Redirect Chain and Why Does It Hurt?
A redirect chain is a sequence of two or more redirects between the initial URL and the final destination, such as A to B, then B to C. Each additional hop adds latency and consumes crawl budget, because the crawler must request each URL in turn to reach the end.
Chains also leak value. Although a single 301 passes most equity, each successive hop in a chain can apply further dilution, and crawlers may stop following after too many redirects. The fix is to point the original URL directly at the final destination so the path is one hop. Audit for chains after any migration, because stacked moves are the most common cause.
What Is a Redirect Loop and How Do You Fix It?
A redirect loop is a cycle where URL A redirects to B and B redirects back to A, or a longer cycle that never reaches a stable final page. The browser shows an error and the page is unreachable; crawlers eventually drop the URLs involved.
Loops usually come from conflicting rules across layers, for example a CDN rule and a server rule that each send the request to the other. To fix one, inspect the redirect path with a verbose request tool that shows each status and Location header, find where the cycle closes, and remove or correct the conflicting rule. After the fix, confirm the final URL returns 200 with no further redirects.
How Do Redirects Affect Analytics and Paid Media Tracking?
Redirects can silently corrupt your measurement if the hop drops the data your tools rely on. The details that break are specific:
- Query strings and UTMs must be preserved through the redirect, or paid campaigns lose their source and medium attribution at the destination.
- Ad platform final URLs must match the destination after redirects, because mismatch policies can disapprove ads or flag the post-click experience.
- URL fragments after a hash can be lost on some redirect configurations, breaking in-page anchors and scroll tracking.
- Meta refresh and JavaScript redirects strip the referrer in many browsers, so downstream attribution loses the referring site.
Test tracking end to end. Click a tagged ad, follow the redirect, and confirm the destination landing page still captures the campaign parameters. A redirect that is invisible to users can be fully visible to your attribution gap.
What Redirect Mistakes Cost the Most Traffic?
The most damaging mistakes are the ones that look harmless during a launch but quietly erase relevance at scale:
- Mass-redirecting every old URL to the homepage during a migration, which signals a soft 404 and throws away page-level equity.
- Redirecting to a page that is itself noindexed, which removes the destination from the index entirely.
- Chaining through http and www variants so a single visit takes three or four hops before settling.
- Using JavaScript or meta-refresh redirects where a server-side 301 belongs, which crawlers and some bots handle poorly.
- Leaving a 302 on a permanent move, which keeps the dead URL indexed and blocks equity transfer.
Each of these is preventable with a one-to-one map and a status-code check before the change goes live. The homepage-catch-all redirect is the single most common migration killer we see.
How Should You Handle Redirects During a Site Migration?
A migration is where redirect discipline decides whether you keep or lose organic traffic. Start the URL map before any DNS or platform change, matching old URLs to the closest new URL one-to-one. Resolve redirects at the CDN edge or server so they fire before origin.
After launch, watch server logs and Search Console daily for the first two weeks. Look for 404 spikes, chains, and loops. Keep the 301s in place for at least a year, and preserve UTMs and query strings so paid and organic attribution survive the move. A migration with a clean redirect map is recoverable; one without it rarely is.
Frequently Asked Questions
Is a 301 or 302 Better for SEO?
Neither is inherently better; they answer different questions. A 301 is correct when a page is permanently gone and you want signals to move to the destination, while a 302 is correct when the original URL will return. Using a 302 on a permanent move keeps the old URL indexed and blocks equity transfer. Choose based on whether the move is final, not on a general preference.
Can a 302 Become Treated as a 301?
Search engines can decide a long-lived 302 should be treated like a permanent move if it stays in place for a long time and the destination clearly serves the content. This is an inference, not a guarantee, and it is slower and less reliable than sending an explicit 301. If the move is permanent, send a 301 from the start rather than relying on inference.
Do Redirects Slow Down Page Load?
Each redirect hop adds a round trip before the browser reaches the final page, so chains and loops increase latency noticeably. A single clean 301 resolved at the CDN edge adds minimal delay because it returns before the request hits origin. The performance cost comes from multiple hops and from redirects handled late in the application layer rather than at the edge.
Should Internal Links Point to Redirected URLs?
No. Internal links should point directly at the final destination URL so users and crawlers never take the hop. Leaving internal links on old URLs forces every crawl and visit through the redirect, wasting crawl budget and adding latency. Fix the links in templates, navigation, and content at the same time you publish the redirect rules.
What Status Code Should I Use for a Domain Move?
Use a 301 from each old domain URL to the matching new domain URL, one-to-one where possible. A domain move is permanent, so the 301 tells crawlers to transfer indexing and signals to the new property. Keep the redirects in place for at least a year and verify that UTMs and query strings survive the cross-domain hop for attribution.