Technical SEO

301 vs 302 Redirects for SEO: Which One to Use and When

A 301 redirect tells Google a URL has moved for good, so the new URL should become canonical. A 302 says the move is temporary, so Google keeps the old URL. Use 301 for anything you won't undo.

By SEORecheck Research Team, SEO auditorsPublished 9 min read

301 vs 302 redirect: a cyan path leads to a new page while an amber loop returns to the original.
Permanent relocation versus a temporary redirect

The difference between a 301 and a 302 redirect is permanence. A 301 tells search engines a URL has moved for good, so Google treats the new URL as the one to index. A 302 says the move is temporary, so Google keeps the old URL in its index. In the 301 vs 302 redirect choice, use a 301 for any change you won't undo.

Picking the wrong one is one of the most common technical SEO mistakes we see. It rarely breaks a site overnight. Instead, the wrong URL stays in search results for months, and nobody can work out why the new page never takes over.

What is the difference between a 301 and a 302 redirect?

Both codes send visitors and crawlers from one URL to another, and in a browser they look exactly the same. The difference is what they tell search engines about which URL should be indexed.

Google's redirects documentation says that with a permanent redirect, "the indexing pipeline uses the redirect as a signal that the redirect target should be canonical." With a temporary redirect, Googlebot still follows it, but "the indexing pipeline doesn't use the redirect as a signal that the redirect target should be canonical."

In other words:

  • 301 Moved Permanently: "The old URL is gone. Index the new one."
  • 302 Found: "Send people over there for now, but keep the old URL. It's coming back."

Google's HTTP status code reference puts it even more simply: a 301 is a "strong" signal that the redirect target should be processed, and a 302 is a "weak" signal.

How does Google treat 301, 302, 307 and 308?

There are four redirect status codes you're likely to meet, plus 303. Google groups them into two families. The permanent ones (301, 308) are strong canonical signals, and the temporary ones (302, 303, 307) are weak ones.

Status code Meaning Google treats it as Typical use
301 Moved Permanently Permanent move Strong signal: target becomes canonical Changed URLs, HTTP→HTTPS, domain moves, merged pages
308 Permanent Redirect Permanent move, method kept Same as 301 Permanent moves where POST requests must stay POST
302 Found Temporary move Weak signal: source usually stays canonical Short promotions, A/B tests, temporary maintenance pages
307 Temporary Redirect Temporary move, method kept Same as 302 Temporary moves for forms and APIs
303 See Other Go to a different resource (as GET) Same as 302 After a form submission ("thank you" page)

Google states directly that 307 is handled like 302 and 308 like 301. For SEO, 301 and 308 are interchangeable, and so are 302 and 307.

What's the difference between 307 and 308?

The difference only matters for non-GET requests, such as a form POST. According to MDN's 308 reference, with a 308 "the request method and the body will not be modified", while older clients sometimes wrongly turn a redirected POST into a GET after a 301. For ordinary pages that people and crawlers load with GET, that never comes up. Choose based on permanence, not on the number.

Does a 302 redirect hurt SEO?

A 302 doesn't hurt SEO when the move really is temporary. That's exactly what it's for. The damage comes from using a 302 for a permanent change. Google then has no strong signal to switch to the new URL, so the old address may stay indexed and the new one may struggle to take its place.

The typical symptoms:

  • Search results keep showing the old URL (or the old domain) weeks after a move.
  • In Search Console, the URL Inspection tool reports the old URL as the Google-selected canonical.
  • The new URL shows up as a duplicate, or as "Page with redirect" coverage that never resolves the way you expected.
  • Reports split traffic and links between two addresses for the same content.

Because a 302 is a weak signal rather than an instruction, Google can still end up picking the target as canonical if other signals point there, such as internal links, a canonical tag or the sitemap. But you're leaving the outcome to chance. Google's canonicalization guide says signals "can stack and thus become more effective when combined". A permanent redirect that agrees with your canonicals and sitemap is the reliable way to do it.

When should you use a 301 redirect?

Use a 301 (or 308) whenever the old URL won't come back. Google's advice is to "use permanent redirects when you're sure that the redirect won't be reverted" (source). That covers most of the redirects a business website ever needs.

Common cases:

  1. Changing a page's URL: for example, /services/web-design-london becomes /web-design/london.
  2. HTTP to HTTPS, and choosing between www and non-www.
  3. Domain moves and rebrands: oldbrand.com/* → newbrand.com/*, page to page.
  4. Merging content: two thin articles combined into one stronger guide.
  5. Removing a product or service for good when a close replacement exists. If no relevant page exists, a 404 or 410 is more honest than redirecting everything to the homepage.
  6. Trailing slashes and URL case: /Pricing → /pricing.

For site moves, Google's site move guide recommends server-side permanent redirects "such as 301 and 308". It also says to keep them "for as long as possible, generally at least 1 year" so that signals can move to the new URLs.

When should you use a 302 redirect?

Use a 302 (or 307) only when you plan to bring the original URL back and want it to stay in search results meanwhile. If you can't name the date or event that will undo the redirect, it probably isn't temporary.

Good uses of a temporary redirect:

  • A seasonal or short campaign: /offers points to /black-friday for two weeks, then goes back.
  • Short maintenance: a product page is unavailable for a few days and visitors are sent to a holding page.
  • A/B tests that send part of the traffic to a variant URL.
  • Redirects based on login or session, such as sending logged-out visitors from /account to /login.
  • Device or language suggestions where the original URL stays the main version. For multilingual sites, set up hreflang correctly rather than relying on automatic redirects alone.

A common trap: many CMS plugins, hosting panels and frameworks default to 302 when you add a redirect. A redirect created "temporarily" during a redesign often stays for years. If you're auditing an older site, assume some 302s exist that should have been 301s.

Google doesn't publish a percentage, and old claims that a 301 "loses 15% of PageRank" have no source in Google's documentation. What Google does document is that a permanent redirect is a strong signal that the target should become canonical. Keeping redirects for at least a year is meant to let Google move ranking signals to the new URLs, according to the site move guide.

In practice, the bigger risks are not the redirect type but:

  • Redirecting to an irrelevant page. Sending a deleted product to the homepage gives Google no equivalent content, so it may be treated as a soft 404.
  • Removing redirects too early. Old backlinks and bookmarks start hitting 404s.
  • Leaving internal links pointing to old URLs. Every internal click and crawl takes an extra hop. Update links at the source; our internal linking guide covers how to find them.

Which redirect method should you use: server-side, meta refresh or JavaScript?

Use a server-side HTTP redirect whenever you can. Google says a server-side redirect "has the highest chance of being interpreted correctly" (source). An instant meta refresh is read as permanent, a delayed meta refresh as temporary, and JavaScript redirects are the last resort because they depend on rendering succeeding.

Examples of a permanent redirect at server level:

# Apache (.htaccess)
Redirect 301 /old-page /new-page
# Nginx
location = /old-page {
    return 301 /new-page;
}

If you only control the HTML, an instant meta refresh (<meta http-equiv="refresh" content="0; url=https://example.com/new-page">) is the next best option.

How many redirects in a chain are too many?

Point every redirect straight at the final URL. Google's crawlers follow up to 10 hops, according to its status code documentation. The site move guide, though, recommends redirecting "to the final destination directly" and keeping chains ideally to no more than 3 hops, and fewer than 5, because of the delay for users.

Chains usually build up over time: http:// → https:// → www → a new slug → a new folder. Each migration adds one more hop. Fix them by updating each old rule so it points directly to the current URL, and look for loops (A → B → A), which never resolve.

How do you check whether a redirect is 301 or 302?

You can check any URL in seconds from the command line or with a crawler:

curl -sI https://example.com/old-page
# HTTP/2 301
# location: https://example.com/new-page

Add -L to follow the full chain and see every hop. For a whole site:

  1. Crawl the site with an audit tool and filter responses by 3xx status. Export the source URL, status code, target and number of hops.
  2. Flag every 302/307 and ask: will this be undone? If not, change it to a 301.
  3. Flag chains and loops, and redirects pointing to 404s or noindexed pages.
  4. Find internal links to redirected URLs and update them to the final URL.
  5. Check your XML sitemap: it should list only final, 200-status URLs.
  6. Confirm in Search Console with URL Inspection that Google has chosen the new URL as canonical. Our guide to Search Console errors explains the "Page with redirect" status.

If you'd rather not run the crawl yourself, a free SEORecheck audit lists the redirects it finds on your pages, with status codes, chains and internal links pointing to redirected URLs. You can see what that looks like in the sample report.

Redirect rules often break during redesigns, CMS migrations and plugin updates, so add redirect checks to your SEO regression testing routine after every release.

Common 301 vs 302 mistakes (and fixes)

Mistake What happens Fix
302 used for a permanent URL change Old URL stays indexed; new URL doesn't take over Change it to 301/308
Everything redirected to the homepage Treated as soft 404s; relevance lost Redirect to the closest equivalent page, or return 404/410
Redirect chains after several migrations Slower for users, more crawl hops Point every old URL straight to the final URL
Redirects removed after a few months Backlinks and bookmarks hit 404s Keep them for at least a year, ideally indefinitely
Canonical tag points to the redirecting URL Mixed signals Canonicalize to the final URL
Sitemap lists redirected URLs Wasted crawls, weaker signals List only final 200 URLs
JavaScript-only redirect May not be seen if rendering fails Move the redirect to the server

Key takeaways

  • 301/308 = permanent: a strong signal that the new URL should be indexed. 302/307 = temporary: Google generally keeps the old URL.
  • For SEO, 301 and 308 behave the same, and so do 302 and 307. The method-preserving codes only matter for non-GET requests.
  • Use a 302 only when you know when the original URL will come back.
  • Prefer server-side redirects, point them straight to the final URL, and keep them for at least a year.
  • Make redirects, canonical tags, internal links and the sitemap all point to the same final URL.
  • Recheck redirects after every migration or redesign. Wrong defaults and chains build up quietly.
All articles
A layered landscape tile connects to search nodes with a speed trail, illustrating image SEO best practices.

Technical SEO

Image SEO Best Practices: Alt Text, Formats, Speed (2026)

Image SEO means making images discoverable and understandable to Google with HTML img tags, descriptive alt text and file names, then keeping them fast with modern formats, correct sizing and smart lazy loading.

10 min read

Duplicate content SEO visualized as matching content nodes grouped in amber, with one preferred version highlighted.

Technical SEO

Duplicate Content SEO: How to Detect and Fix It

Duplicate content is the same or nearly the same content on more than one URL. It isn't a penalty, but it splits signals and wastes crawls. Find it in Search Console and a crawl, then redirect, canonicalize or rewrite.

8 min read

Server log analysis for SEO: cyan crawl traces connect web pages to a server and glowing request records.

Technical SEO

Server Log Analysis for SEO: What Bots Really Crawl

Server log analysis for SEO means reading your web server's access logs to see which URLs Googlebot and other crawlers actually request, how often, and what status codes they get back.

10 min read