You've moved a page, renamed a folder, or merged two URLs into one, and now you need a
redirect. You open your CMS or .htaccess file and see two options staring
back: 301 and 302. They look almost identical, both send a visitor to a new address, so
it's tempting to just pick whichever one is the default and move on.
That's the mistake that quietly costs sites their rankings. The two codes tell search engines completely different stories about a page, and choosing the wrong one can leave the old URL competing with the new one instead of handing its rankings over cleanly.
Use a 301 redirect when a page has moved permanently — it passes ranking signals to the new URL and tells search engines to drop the old one from the index. Use a 302 redirect when the move is temporary, like an A/B test or a page under maintenance, since it keeps the original URL indexed and preserves its rankings while the redirect is active.
What are 301 and 302 redirects?
Both are HTTP status codes a server sends before pointing a browser to a different URL. The number is the only thing that changes, but that number carries a completely different instruction for search engines.
- 301 = Moved Permanently. The server is telling every crawler and browser that this address is retired for good, and any future request should go straight to the new one.
- 302 = Found (Moved Temporarily). The server is saying the content lives somewhere else right now, but the original URL is still the "real" one and should be checked again later.
- Search engines take the signal literally. A 301 consolidates ranking signals onto the destination URL. A 302 keeps the original URL indexed and holding its rankings, since it's treated as a short-term detour, not a move.
- Visitors can't tell the difference. Both redirects load the new page instantly in a browser — the distinction only exists in the HTTP response header, invisible unless you inspect it.
The practical takeaway: the code itself is a one-character decision, but it determines whether a page's SEO history transfers or stays parked at the old address.
Why the difference matters for SEO
Picking the wrong redirect type doesn't just create a technical inconsistency — it changes how a page performs in search:
- Ranking signals only transfer with a 301. Backlinks, authority, and ranking history built up on the old URL carry over to the new one, but only when the redirect says the move is permanent.
- A 302 can strand your rankings. If a page has actually moved for good but is redirected with a 302, search engines may keep the old URL in the index and hesitate to pass its value to the new one.
- Misusing 301s has its own cost. Slapping a 301 on something genuinely temporary, like a seasonal sale page, can cause the original URL to drop out of the index when it should have stayed.
- Migrations live or die on this choice. A site-wide URL structure change or domain migration depends on consistent 301s across every old URL to avoid a ranking drop.
Step-by-step: choosing and setting up the right one
- Ask if the old URL is coming back. If the content or page at that address is gone for good, it's permanent. If it will return — after a sale ends, a test finishes, or maintenance wraps up — it's temporary.
- Match the answer to the code. Permanent moves get a 301. Temporary moves, A/B tests, and maintenance pages get a 302.
- Set it up through your CMS or plugin. Most platforms and SEO plugins have a redirect manager where entering the old and new URL creates the correct status code without touching server files.
-
Or add it directly if you manage the server. On Apache, a 301 is written as
Redirect 301 /old-url /new-urlin.htaccess; a 302 omits the "301" or usesRedirect 302explicitly. - Point every redirect to a live, relevant page. Redirecting to an unrelated page or a chain of multiple redirects dilutes the value being passed and confuses crawlers.
- Verify the status code, not just the destination. Use a header checker to confirm the response is actually a 301 or 302, since a redirect can visually work while returning the wrong code.
- Revisit temporary redirects periodically. If a 302 has been live for months with no sign of the original page returning, it's time to convert it to a 301.
Common redirect mistakes
1. Leaving CMS defaults unchecked
Many website builders and plugins create 302 redirects by default. If a permanent page move goes live without changing that setting, the old URL can linger in the index far longer than intended.
2. Chaining multiple redirects together
Redirecting A to B, then later B to C instead of updating A directly to point at C, creates a chain that slows page load and can weaken how much ranking value ultimately reaches the final destination.
3. Redirecting everything to the homepage
When a specific page is retired, sending its redirect to the homepage instead of the closest matching page wastes the opportunity to preserve relevance and can look like a soft 404 to search engines.
4. Never revisiting old 302s
A 302 set up during a migration and forgotten about keeps telling search engines the move is temporary indefinitely, which can quietly hold back the new URL's rankings for months.
Real-world examples
How the choice between 301 and 302 plays out in situations most site owners actually run into:
In each case, the decision came down to one question: will the original URL matter again, or is it gone for good?
301 vs 302 vs 307 vs 308 compared
A look at all four common redirect status codes and where each one actually applies.
| Code | Meaning | Passes SEO signals | Best for |
|---|---|---|---|
| 301 | Moved permanently | Yes, consolidates rankings | Site migrations, retired pages, merged content |
| 302 | Found / moved temporarily | No, original keeps signals | A/B tests, maintenance, seasonal pages |
| 307 | Temporary redirect, strict | No, original keeps signals | Temporary moves where the request method must not change |
| 308 | Permanent redirect, strict | Yes, consolidates rankings | Permanent moves where the request method must not change |
Check any redirect right now — free
The Rebrixe Redirect Checker shows the exact HTTP status code, the full redirect chain, and the final destination URL for any link. No account, no watermark — just paste a URL and see what's actually happening under the hood.