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. In 2022, when Shopify migrated thousands of merchant storefronts to a new checkout URL structure, it defaulted many transitions to 301s specifically to avoid this trap — competitors who ran the same kind of migration on 302s reported ranking dips that took months to recover. 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. Google's own documentation confirms this directly — its Search Central guidelines state that 301s pass the full ranking signal within days to weeks, while 302s are treated as a hint, not an instruction, so the original URL can stay in the index indefinitely.
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.
The most common redirect-related ranking loss traces back to permanent moves that were implemented as 302s by default, not to 301s being used incorrectly. Most CMS platforms and page builders — including default WordPress redirect plugins before manual configuration — set new redirects to 302 unless the site owner explicitly changes it.
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. On Nginx, the equivalent isreturn 301 https://example.com/new-url;inside the relevantlocationblock. - 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
These are the four mistakes that show up most often in technical SEO audits, roughly in order of how much ranking damage they cause.
Leaving CMS defaults unchecked
Many website builders and plugins create 302 redirects by default. A common real-world case: a WooCommerce store discontinues an old product URL and lets the plugin's auto-redirect handle it, not realizing the default is temporary. Months later, the old product URL is still indexed, splitting authority that should have consolidated on the replacement page.
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. This is especially common after a site goes through two or three redesigns over several years, where each redesign added a new hop without cleaning up the old ones — some enterprise sites accumulate chains five or six redirects long before anyone audits them.
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. This happens most often during bulk migrations, where a
developer maps hundreds of discontinued URLs to / as a shortcut instead of
mapping each one individually.
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. This is one of the most common findings in technical SEO audits of sites that migrated domains or replatformed a year or more ago — the redirect still works perfectly for visitors, so nobody notices the status code was never corrected.
Keep a simple log of every redirect you set up, its type, and why, so a temporary 302 from a past campaign doesn't get forgotten and left live for years.
Real-world examples
How the choice between 301 and 302 plays out in situations most site owners actually run into:
An HTTPS migration that almost went wrong
A mid-sized publisher moving from http:// to https:// is one
of the most common permanent-redirect scenarios in practice. The site owner sets up
redirects for every page, but the hosting provider's default SSL configuration ships
with 302s. Search Console starts showing both the HTTP and HTTPS versions of the same
articles indexed separately within a few weeks, splitting click and impression data
between two versions of the same page.
The fix is straightforward once identified: switch the server config from a 302 to a 301 for the entire HTTP-to-HTTPS ruleset. Within a month, Google Search Console typically consolidates the two versions and impressions merge back onto the HTTPS property.
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 |
The "strict" distinction matters more than it sounds. A 301 or 302 technically permits browsers to switch a POST request to a GET request during the redirect, which is harmless for a normal page move but can silently break a form submission or API call. A 307 or 308 guarantees the method stays exactly the same, which is why they're the safer choice for redirecting endpoints that receive form or API data rather than simple page views.
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.
Frequently asked questions
.htaccess or an Nginx config accomplishes the same thing.