301 vs 302 Redirects: When to Use Each and Why It Matters for SEO
Understand the difference between 301 and 302 redirects, their SEO impact, when to use each, and common mistakes that hurt rankings.
Last updated: 2026-02-17
The Difference Between 301 and 302 Redirects
A 301 redirect means "this page has permanently moved to a new URL." A 302 redirect means "this page is temporarily at a different URL." Both send the user to the same destination. The difference is what they tell search engines and browsers about the nature of the move.
That distinction sounds simple, but using the wrong one costs rankings, splits link equity, and creates indexing problems that can take months to untangle.
What a 301 Redirect Does
A 301 (Moved Permanently) tells the browser and search engines that the original URL is gone for good. The new URL is the canonical location of this content.
What happens when you use a 301:
- Search engines transfer ranking signals (link equity) from the old URL to the new URL
- Google de-indexes the old URL and indexes the new one
- Browsers cache the redirect, so future requests go directly to the new URL without hitting the server
- Backlinks pointing to the old URL pass their value to the new URL
When to use a 301:
- You have permanently changed a URL slug or path structure
- You have moved your site to a new domain
- You have switched from HTTP to HTTPS
- You have consolidated duplicate content to a single URL
- You have merged two pages into one
- The old URL will never be used again
What a 302 Redirect Does
A 302 (Found) tells the browser and search engines that the original URL still exists, but the content is temporarily available somewhere else. The original URL should remain indexed.
What happens when you use a 302:
- Search engines keep the original URL in their index
- Link equity stays with the original URL (not transferred to the redirect target)
- Browsers do not cache the redirect as aggressively, checking back with the server on subsequent requests
- The original URL retains its ranking position
When to use a 302:
- A/B testing where you temporarily send traffic to a variant
- Maintenance mode where the site will return to the original URL
- Geolocation-based redirects (the "real" URL stays the same, users are temporarily routed elsewhere)
- Temporary promotions that redirect to a campaign page
- Any situation where the original URL will be restored
SEO Impact: Why the Wrong Choice Hurts
The SEO consequences of using the wrong redirect type are significant and often invisible until the damage is done.
Using a 302 When You Should Use a 301
This is the more common mistake. You permanently move a page but use a 302 instead of a 301.
What goes wrong:
- Google keeps the old URL in its index, not the new one
- Link equity does not transfer cleanly to the new URL
- You end up with two versions in Google's index, splitting ranking signals
- The new URL struggles to rank because it is not receiving the authority of the old URL
Google has said it will eventually treat long-standing 302 redirects as 301s. But "eventually" can mean months. During that time, your new URL is not getting the full benefit of the old URL's authority. Do not rely on Google to correct your mistake.
Using a 301 When You Should Use a 302
Less common but still problematic. You temporarily redirect but use a 301.
What goes wrong:
- Google de-indexes your original URL
- When you remove the redirect, the original URL has to be re-indexed from scratch
- Any ranking authority the original URL had may be diminished
- Browsers cache 301 redirects aggressively. Even after you remove the redirect on your server, some users will still be redirected because their browser cached the 301
Browsers cache 301 redirects indefinitely by default. If you accidentally use a 301 and then remove it, users with the cached redirect will still be sent to the old destination. The only fix on the user side is clearing their browser cache.
Side-by-Side Comparison
| Attribute | 301 (Permanent) | 302 (Temporary) |
|---|---|---|
| Meaning | Page has permanently moved | Page is temporarily elsewhere |
| SEO link equity | Transferred to new URL | Stays with original URL |
| Indexed URL | New URL replaces old in index | Original URL stays in index |
| Browser caching | Aggressively cached | Not cached (or short cache) |
| Use case | Domain migration, URL restructuring, HTTPS | A/B tests, maintenance, geo-routing |
| Reversibility | Hard to reverse (browser cache) | Easy to reverse |
| HTTP spec name | Moved Permanently | Found |
Common Mistakes
Mistake 1: Using 302 for All Redirects by Default
Many server frameworks and CMS plugins default to 302 redirects. Developers who do not think about the distinction end up using 302 for everything, including permanent URL changes.
Fix: Audit your existing redirects. Any 302 that has been in place for more than a few weeks and is not genuinely temporary should be changed to a 301.
Mistake 2: Redirect Chains Mixing 301 and 302
When a redirect chain contains both 301 and 302 redirects, search engines may not pass link equity through the entire chain. A single 302 in a chain of 301 redirects can break the equity transfer.
Example:
/old-page (301) -> /new-page (302) -> /final-page
The 302 in the middle signals that /new-page is temporary, which can prevent the equity from /old-page from reaching /final-page.
Fix: Eliminate the chain entirely. Redirect /old-page directly to /final-page with a single 301.
Monitor your redirects continuously
Site Watcher tracks redirect chains, status codes, and SSL configuration. Know the moment a 301 changes to a 302 or a redirect chain appears.
Mistake 3: Not Redirecting at All
Worse than the wrong redirect type is no redirect at all. Deleting a page without redirecting it results in a 404 error, which immediately loses all link equity and breaks every inbound link.
Fix: Every URL that has ever been indexed or linked to should redirect to its nearest equivalent page. If no equivalent exists, redirect to the parent category or section page.
Mistake 4: Redirecting Everything to the Homepage
Lazy redirects that send every old URL to the homepage are called "soft 404s" by Google. Search engines recognize this pattern and may not pass link equity.
Fix: Redirect each old URL to the most relevant equivalent page. Map redirects individually rather than using blanket rules.
Mistake 5: Forgetting About the www/non-www Redirect Type
The redirect from www.example.com to example.com (or vice versa) should always be a 301. Using a 302 for this common redirect means search engines will index both versions of every URL on your site.
How to Check Which Redirect Type a URL Uses
Using Browser Developer Tools
- Open Chrome DevTools (F12)
- Go to the Network tab
- Enable "Preserve log"
- Visit the URL that redirects
- Click on the original request in the network log
- Look at the Status column: 301 or 302
Using curl
curl -I https://example.com/old-page
The response will include a status line like HTTP/1.1 301 Moved Permanently or HTTP/1.1 302 Found, plus a Location header showing the redirect destination.
Using Site Watcher
Monitoring tools that check redirect behavior automatically will show you the full redirect chain for every monitored URL, including the HTTP status code at each hop. This catches unintentional changes (like a server update that switches your 301s to 302s) before they affect SEO.
How to Implement Each Type
Apache (.htaccess)
# 301 Permanent Redirect
Redirect 301 /old-page https://example.com/new-page
# 302 Temporary Redirect
Redirect 302 /temp-page https://example.com/campaign-page
Nginx
# 301 Permanent Redirect
location = /old-page {
return 301 https://example.com/new-page;
}
# 302 Temporary Redirect
location = /temp-page {
return 302 https://example.com/campaign-page;
}
WordPress (via functions.php)
// 301 Permanent Redirect
function custom_redirects() {
if (is_page('old-page')) {
wp_redirect('https://example.com/new-page', 301);
exit;
}
}
add_action('template_redirect', 'custom_redirects');
JavaScript (Client-Side)
<!-- 301/302 cannot be set from JavaScript -->
<!-- This is a meta refresh, not a proper HTTP redirect -->
<meta http-equiv="refresh" content="0;url=https://example.com/new-page">
Client-side redirects (meta refresh and JavaScript window.location) do not send HTTP status codes. Search engines may or may not treat them as 301 equivalents. Always use server-side redirects when SEO matters.
Beyond 301 and 302: Other Redirect Codes
Two newer redirect codes exist but are less commonly used:
| Code | Name | Meaning | Key Difference from 301/302 |
|---|---|---|---|
| 307 | Temporary Redirect | Same as 302, but preserves HTTP method | POST stays POST (302 may change to GET) |
| 308 | Permanent Redirect | Same as 301, but preserves HTTP method | POST stays POST (301 may change to GET) |
For standard website redirects (GET requests), 301 and 302 are the correct choices. 307 and 308 matter primarily for API endpoints where preserving the HTTP method (POST, PUT, DELETE) is important.
Monitoring Redirect Health
Redirects are not set-and-forget. Server updates, CMS upgrades, plugin changes, and CDN configuration changes can silently alter redirect behavior.
Status Code Tracking
Chain Detection
Destination Validation
Change Alerting
The choice between 301 and 302 is not a technicality. It directly controls how search engines treat your URLs, where your link equity flows, and whether your site restructuring helps or hurts your rankings.
Never Lose Link Equity to a Wrong Redirect
Site Watcher monitors redirect status codes, chains, and destinations continuously. Catch redirect changes before they impact your SEO. $39/mo unlimited, free for 3 targets.