Technical SEO November 3, 2026 13 min read

HTTP Status Codes for SEO: The 2026 Guide

A plain-English reference to the HTTP status codes search engines actually care about, and exactly what to do when your server sends the wrong one.

Muhammad Toqeer
Muhammad Toqeer Senior SEO Expert

Every time a search engine or a visitor requests a page, your server answers with a three-digit number most people never see: an HTTP status code. Those codes quietly decide whether Googlebot indexes a page, follows a redirect, wastes crawl budget on dead URLs, or drops a once-ranking page from search entirely. Understanding HTTP status codes for SEO is one of the highest-leverage technical skills I teach clients, because a single misconfigured code can undo months of content work.

In six years of auditing sites across more than twenty industries, I keep finding the same quiet culprits: a 302 where a 301 belongs, soft 404s that eat crawl budget, or intermittent 503s during traffic spikes that cause Google to slow its crawl. None of these show up in a content report. They live in the plumbing.

This guide is the reference I wish every site owner had. I'll walk through what each important status code means, how Google actually treats it, and exactly what to do when you find the wrong one. If you've read my deeper dives on 301 redirects and broken links and 404 errors, think of this as the map that connects them.

What HTTP Status Codes Are (and Why SEO Cares)

An HTTP status code is the server's short answer to a request: "here's the page" (200), "it moved, go here instead" (301), "that's gone" (404), or "I'm broken right now" (500). Browsers use these codes silently. Search engine crawlers, on the other hand, treat them as instructions that shape crawling and indexing decisions.

Here's why that matters for rankings. Googlebot has a finite budget for how many URLs it fetches on your site. When it hits the wrong codes repeatedly, it either indexes pages you don't want, fails to index pages you do want, or slows down crawling altogether. The status code is the signal; the ranking outcome is the downstream effect. Getting the signal right is foundational technical SEO work, and it's usually invisible until something breaks.

The Five Status Code Classes at a Glance

Every status code falls into one of five families, grouped by the first digit. You don't need to memorize all of them, but knowing the families helps you read a crawl report quickly.

The Five Response Classes

  • 1xx Informational: Interim responses (like 100 Continue). You'll almost never deal with these in SEO.
  • 2xx Success: The request worked. 200 OK is the healthy state for every page you want indexed.
  • 3xx Redirection: The resource lives elsewhere. 301, 302, 307, and 308 tell crawlers where to go and whether the move is permanent.
  • 4xx Client Errors: The request is wrong or the page is gone. 404 and 410 are the ones that matter most for indexing.
  • 5xx Server Errors: Your server failed to answer. 500 and 503 can throttle crawling and, if sustained, cost you rankings.

The practical takeaway: you want the vast majority of your important URLs returning 200, a clean set of permanent 301s where content has genuinely moved, and almost nothing in the 4xx and 5xx ranges for pages you care about.

The HTTP Status Codes That Matter Most for SEO

These are the codes I check first on every audit. The table below summarizes what each one tells a crawler and the action I recommend when you encounter it.

Code Meaning Crawl / Index Impact What To Do
200 OK, page delivered Eligible to be crawled and indexed The target state for all indexable pages
301 Moved permanently Consolidates signals to the new URL Use for permanent moves, HTTPS, consolidations
302 / 307 Temporary redirect Original URL stays indexed; signals not fully passed Only for genuinely temporary moves
304 Not modified (cached) Saves bandwidth; healthy for crawl efficiency Leave as-is; a sign of good caching
404 Not found Page drops from the index over time Fine for truly dead pages; redirect only if a relevant match exists
410 Gone (permanent) Removed from the index slightly faster than 404 Use when you deliberately delete content for good
429 Too many requests Googlebot backs off crawling Check rate limiting / aggressive bot rules
500 Internal server error Blocks indexing; sustained errors drop pages Fix urgently; investigate server logs
503 Service unavailable Tells Google to retry later (if short-lived) Correct code for planned maintenance only

Notice the pattern: 200 and 301 are the workhorses, 304 is a quiet win, and everything else is either a tool for a specific job or a warning sign. The art of using HTTP status codes for SEO is matching the code to your actual intent.

301, 302, 307 and 308: Getting Redirects Right

Redirects are where I see the most expensive mistakes. The difference between a 301 and a 302 looks trivial, but it changes how search engines treat the old and new URLs. A permanent 301 consolidates ranking signals onto the destination. A temporary 302 or 307 keeps the original URL as the canonical one, which means a permanent move disguised as a temporary redirect can strand your authority on a URL you no longer use.

1

Pick permanent vs temporary deliberately

Content moved for good? Use 301 (or 308, its stricter cousin that preserves the request method). Running a short A/B test or a seasonal page swap? A 302 or 307 is correct. Default to 301 whenever the move is permanent.

2

Eliminate redirect chains and loops

URL A to B to C wastes crawl budget and leaks a little signal at each hop. Point every old URL directly at the final destination. A redirect loop (A to B to A) makes the page unreachable entirely.

3

Redirect to the closest relevant page

Don't funnel every retired URL to the homepage. Google may treat a redirect to an irrelevant page as a soft 404. Send users and crawlers to the most relevant replacement, or return a clean 404/410 if nothing fits.

I cover the mechanics in depth in my guide to 301 redirects, but the status-code lesson is simple: the number you choose is a promise to the crawler about whether the move is permanent. Keep that promise accurate.

404 and 410: How Google Treats Missing Pages

A 404 is not a penalty. It's completely normal for pages to disappear, and Google expects a healthy site to return 404s for URLs that no longer exist. The problem isn't the presence of 404s; it's when important, linked, or recently-ranking pages start returning them.

The 410 "Gone" code is a stronger, more explicit signal: this content is permanently removed on purpose. In practice Google treats 404 and 410 almost identically, though 410s tend to drop out of the index a touch faster. I use 410 when a client deliberately prunes thin or expired content and wants it gone cleanly.

The real trap is the soft 404: a page that returns a 200 OK but shows a "not found" or empty message to users. Google flags these in Search Console because the code contradicts the content. Either restore real content and keep the 200, or return a genuine 404/410. My full breakdown of diagnosing these lives in my article on broken links and 404 errors.

5xx Server Errors: When Your Server Costs You Rankings

5xx errors are the most dangerous codes for SEO because they signal that your site itself is unreliable. A single 500 during a crawl is no big deal. A pattern of them tells Google your server can't be trusted, and it will slow crawling to avoid overloading you, then begin dropping pages if the errors persist.

How To Handle Server Errors Correctly

  • Use 503 for planned downtime: During maintenance, return a 503 with a Retry-After header so Google knows to come back rather than treating the outage as permanent.
  • Never return 200 for an error page: An error disguised as success confuses indexing and can get broken pages indexed.
  • Watch for 500s under load: Spikes that correlate with traffic peaks usually point to resource limits or database bottlenecks.
  • Investigate 429s: Overly aggressive rate limiting or a misconfigured firewall can throttle Googlebot itself.
  • Correlate with performance: Shaky server health often shows up alongside poor Core Web Vitals and site stability data, so treat them together.

Server stability and speed reinforce each other. If your hosting struggles under load, fixing the 5xx problem usually improves real-world performance too, which is why I treat it as part of the same workstream rather than an isolated bug.

How To Find and Audit Status Codes on Your Site

You can't fix what you can't see. Here's the auditing workflow I run, from the fastest check to the most thorough.

Start with Google Search Console

The Pages (Indexing) report groups URLs by status, including "Not found (404)", "Server error (5xx)", "Soft 404", and redirect issues. The URL Inspection tool shows the exact code Google last saw. This is my first stop on every audit, and I explain the full workflow in my Search Console guide.

Run a full crawl

A crawler like Screaming Frog or Sitebulb fetches every URL and reports its status code, redirect target, and chain length. Sort by status code to surface every 3xx, 4xx, and 5xx at once. This catches issues GSC may not have recrawled yet.

Read your server logs

Server logs show the real codes Googlebot received, timestamped. This is the only way to catch intermittent 5xx errors or spot crawl budget being wasted on parameter URLs returning the wrong code.

Spot-check with DevTools or curl

For a single URL, the browser's Network tab or a quick curl -I https://example.com/page returns the raw status header in seconds. I use this to verify a fix went live exactly as intended.

Combining these into a repeatable routine is core to any technical SEO audit, and it's the kind of groundwork that separates a durable site from one that quietly leaks rankings.

Do HTTP Status Codes Affect SEO Rankings?

Yes, but indirectly. There is no "status code ranking factor" where a 200 earns points and a 404 loses them. Instead, status codes control what gets crawled and indexed, and only indexed pages can rank. Google's own documentation is explicit that status codes, network errors, and DNS errors directly affect how pages are treated in Search, which is why I treat them as a prerequisite rather than a tactic.

The ranking impact flows through three channels. First, indexation: a page returning 404 or 500 can't rank because it won't stay indexed. Second, signal consolidation: the right 301 passes authority to the destination, while a wrong 302 strands it. Third, crawl efficiency: errors and redirect chains waste budget that could go toward discovering and refreshing your real content. Google describes exactly how it handles these responses in its guidance on HTTP status codes and network errors, and its separate documentation on redirects confirms that permanent redirects are the strongest way to consolidate signals.

So the honest answer I give clients is this: you won't out-rank a competitor by having clean status codes, but you can absolutely lose to them by having messy ones. It's a foundation, not a lever. Pairing solid status-code hygiene with a broader complete SEO strategy is how the technical groundwork actually turns into rankings. If you want that groundwork handled properly, working with the best SEO expert you can find pays for itself in avoided mistakes alone.

Frequently Asked Questions

What is the best HTTP status code for a moved page?

A 301 (Moved Permanently) for any permanent move. It tells search engines to transfer ranking signals to the new URL and update the indexed address. Reserve 302 and 307 for genuinely temporary situations.

Are 404 errors bad for SEO?

Not inherently. Returning a 404 for a page that genuinely no longer exists is correct and expected. It only becomes a problem when important, linked, or recently-ranking pages start returning 404s, or when you have large volumes of them wasting crawl budget.

What is a soft 404 and why does Google dislike it?

A soft 404 is a page that returns a 200 OK status while showing "not found" or empty content. The code contradicts what the user sees, which confuses indexing. Fix it by either restoring real content or returning a true 404/410.

How quickly do status code changes affect my rankings?

It depends on how often Google crawls the URL. High-value pages may be recrawled within days; low-priority URLs can take weeks. Requesting indexing in Search Console and keeping your XML sitemap current speeds up recognition of the change.

Conclusion: Treat Status Codes as Your SEO Foundation

HTTP status codes are the quiet instructions your server gives search engines thousands of times a day. Get them right and crawling is efficient, the right pages stay indexed, and your authority consolidates where it should. Get them wrong and no amount of great content fully compensates, because the signals never reach the pages that need them.

My advice after years of audits: make status-code hygiene a routine, not a one-time fix. Check your Search Console coverage monthly, crawl your site before and after any migration, and verify every redirect and deletion returns the code you actually intended. Master HTTP status codes for SEO and you remove an entire category of invisible problems that hold otherwise strong sites back.

Is Your Site Sending Search Engines the Right Signals?

A single misconfigured status code can quietly cost you rankings. Let me audit your redirects, errors, and crawl health and fix the technical issues holding your organic traffic back.

Book a Free Consultation