Technical SEO

HTTP Status Codes for SEO: What Google Does With 2xx, 3xx, 4xx and 5xx

Every URL answers Googlebot with a status code first. Getting that code right decides whether a page is processed, dropped or crawled less.

When Googlebot requests a URL, the server replies with an HTTP status code before any content. Google’s documentation describes how it treats each class: success codes pass content on for indexing, redirects point to another URL, client errors tell Google the content doesn’t exist, and server errors slow crawling down.

Most status code problems on small and mid-size sites come from a handful of mistakes: error pages that return 200, temporary redirects used for permanent moves, and servers that throw 5xx errors under load.

Short answer: Google treats 2xx codes as success but doesn’t guarantee indexing; a 200 page that looks like an error is reported as a soft 404. 301 and 308 are strong signals that the target should be indexed; 302 and 307 are weak signals. 400, 401, 403, 404, 410 and 411 all tell Google the content doesn’t exist, so indexed URLs are dropped over time. 429 and 5xx codes make Google temporarily slow its crawling, and URLs that keep returning server errors are eventually removed.

Key Takeaways

  • A 2xx code doesn’t guarantee indexing.
  • Error pages that return 200 show up as soft 404s.
  • 301/308 are strong redirect signals; 302/307 are weak ones.
  • Google treats 404 and 410 the same way.
  • Don’t use 401 or 403 to limit crawling; 429 and 5xx slow it down.

How Google treats each status code

CodeWhat Google does
200 OKPasses the content on for indexing. Indexing is possible, not guaranteed.
200 with error-like contentReported as a soft 404 in Search Console.
204 No ContentNothing to process; Google receives no content.
301 / 308Treated the same: a strong signal that the redirect target should be processed.
302 / 307Treated the same: a weak signal that the target should be processed.
304 Not ModifiedTells Google the content hasn’t changed since the last crawl.
400, 401, 403, 404, 410, 411Treated as content that doesn’t exist; indexed URLs are dropped over time and crawl frequency for them decreases.
429 Too Many RequestsTreated like a server error: Google slows crawling.
500, 502, 503Google temporarily slows crawling; persistently failing URLs are eventually removed from the index.

Google says Googlebot generally follows up to 10 redirect hops, and content on the redirecting URL itself is ignored. Shorter chains are still better for users and speed.

Soft 404s and “indexed without content”

A soft 404 is a page that says “not found” or shows almost nothing while returning 200. Typical sources are empty category pages, deleted products that show a template, and internal search pages with no results. Return a real 404 or 410 for missing content, or add genuine content if the page should exist.

Search Console’s “Page indexed without content” status is different: Google indexed the URL but couldn’t read its content. Common causes are content that only appears after JavaScript Google can’t render, resources blocked by robots.txt, or a server that sends Googlebot something different from visitors. Inspect the URL, view the rendered HTML and fix whatever hides the content.

Check the rendered page with the URL Inspection tool (URL Inspection guide) before changing anything.

Choosing the right code

  • Page moved for good: 301 or 308 to the closest equivalent (301 vs 302).
  • Short-term move or A/B redirect: 302 or 307.
  • Content removed with no replacement: 404 or 410. Google treats them the same, so pick either.
  • Private content: require a login. Don’t use 401 or 403 just to slow Googlebot down; Google says those codes don’t change crawl rate.
  • Planned maintenance: 503 for a short window, then back to 200. A long-running 503 eventually costs indexed URLs.
  • Server overloaded by crawling: 429 or 503 slows Googlebot temporarily; fix capacity rather than relying on it.

Trailing slashes and duplicate URL versions

/services and /services/ are different URLs to a crawler. If both return 200 you have duplicates. Pick one format, 301 the other to it, and use the chosen version in internal links, canonicals and sitemaps. The same applies to http vs https and www vs non-www.

See duplicate content fixes and URL structure best practices for the wider picture.

How to audit status codes

  1. Open Search Console’s Page indexing report and review the not-indexed reasons: Server error (5xx), Redirect error, Not found (404), Soft 404, Blocked due to access forbidden (403) and others (indexing problems guide).
  2. Check the Crawl Stats report’s “By response” breakdown for spikes in 5xx or 404 (crawl stats).
  3. Crawl the site with a crawler to list every internal link that hits a 3xx, 4xx or 5xx, and update the links to final URLs.
  4. Spot-check important templates with a header checker or your browser’s network panel.
  5. After fixes, use URL Inspection to confirm the live status.

Frequently asked questions

Is a 404 bad for SEO?

No. Google says 404s for content that’s really gone are normal. Problems arise when important pages return 404 by mistake or internal links point at them.

Should I use 410 instead of 404?

Google treats 400, 401, 403, 404, 410 and 411 the same way, so either works for removed content.

Do 302 redirects pass ranking signals?

Google treats 302 and 307 as weak signals for the target. Use 301 or 308 when the move is permanent.

Why does Google show soft 404 for a page that works?

The page may look empty or like an error page to Google, for example a category with no products. Add useful content or return a real 404.

Want a second pair of eyes on your technical SEO?

We review crawling, indexing, rendering and speed issues by hand and give you a prioritized list of fixes, starting with a free manual audit.

Sources

Last reviewed October 14, 2026.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *