HTTP Status Codes for SEO: Complete Guide to Redirects, 404s, and Crawl Errors

HTTP Status Codes for SEO: Complete Guide to Redirects, 404s, and Crawl Errors

Every URL on your site communicates a status code to search engine crawlers. Most of the time, everything returns 200 and Googlebot is happy. But every redirect, every broken link, every server error is a signal — and in aggregate, HTTP status code health has a direct impact on crawl efficiency, index coverage, and link equity flow. This guide covers every status code that matters for SEO and exactly how to manage them.

2xx Success Codes

2xx codes signal successful requests. For SEO, only a few matter:

200 OK

The standard success code for all indexable pages. When Google requests a URL and receives 200, it processes the content for potential indexing. Every page you want in Google’s index should return 200.

204 No Content

Returns no body content. Not suitable for any page you want indexed. Occasionally seen on API endpoints — ensure no indexable page returns 204.

Soft 404s — Hidden 200 Problem

The most dangerous 2xx issue is the soft 404: a page returning 200 with empty, minimal, or “no results” content. Google detects these algorithmically. Common causes: search results pages with no matches, category pages with all products removed, user profile pages for deleted accounts. Fix by returning true 404 or 410 for empty pages, or ensure genuinely useful content exists.

Our technical SEO audit catches soft 404 patterns across all page types.

3xx Redirect Codes: The SEO Implications

3xx codes tell crawlers and browsers that a resource has moved. The distinction between types matters significantly for SEO:

301 Moved Permanently

The SEO-safe redirect. Use for:

  • URL changes after site restructuring
  • Domain migrations (HTTP → HTTPS, domain changes)
  • Consolidating duplicate content versions
  • Retiring old content with a relevant replacement

301s transfer link equity from the old URL to the new one. Google updates its index to reflect the new URL within days to weeks for active pages.

302 Found (Temporary Redirect)

Signals the move is temporary — Google will retain the original URL in its index and will not transfer link equity. Correct uses are genuinely limited: true temporary states like maintenance pages. Never use 302 for a permanent URL change.

307 Temporary Redirect

HTTP/1.1 equivalent of 302. Preserves the original request method (important for POST requests). Same SEO behavior as 302 — temporary, no equity transfer.

308 Permanent Redirect

The HTTP/1.1 equivalent of 301 that preserves request method. SEO behavior is identical to 301 — permanent, equity transfers. Either is fine for standard page redirects.

For redirect management during migrations, see our Core Web Vitals guide.

4xx Client Errors: 404s and Beyond

4xx errors indicate the requested resource could not be found or the request was otherwise invalid. They have direct SEO consequences:

404 Not Found

The most common SEO-relevant error. What matters:

  • Linked 404s: High priority. Any URL with inbound links returning 404 is bleeding link equity. Fix with a 301 to the most relevant live page.
  • Orphan 404s: Lower priority. No inbound links, not in sitemap — Google will stop crawling these naturally.
  • Internal links to 404s: Fix in your CMS immediately. Internal 404 links waste crawl budget and hurt user experience.

410 Gone

Tells search engines the resource is permanently gone, with no replacement. More efficient than 404 for pages you’ve intentionally removed — Google deindexes 410 pages faster. Use for deleted products, expired promotions, or intentionally retired content without a clear successor.

401 Unauthorized / 403 Forbidden

These block crawl access. If critical pages return 401 or 403 to Googlebot, they will not be indexed. Verify that your IP whitelist, firewall rules, and authentication systems don’t accidentally block the Googlebot user agent. Check in Search Console’s URL Inspection tool if you suspect access issues.

429 Too Many Requests

Your server is rate-limiting Googlebot. This directly suppresses crawl rates. Google recommends not rate-limiting Googlebot but does respect Retry-After headers. Fix at the server/CDN level by excluding Googlebot from rate limits.

Address 4xx patterns as part of your regular crawl budget optimization cycle.

5xx Server Errors

5xx errors indicate server-side failures. Google treats recurring 5xx codes as a signal that your site is unreliable:

500 Internal Server Error

Generic server failure. Occasional 500s during deployments or traffic spikes are expected. Persistent 500s on key pages will suppress crawl rates and can trigger deindexing if sustained over days.

503 Service Unavailable

The correct code for planned maintenance. Return with a Retry-After header and Google will revisit. If maintenance lasts more than a few hours repeatedly, Google may interpret it as persistent unavailability and reduce crawl priority.

504 Gateway Timeout

Server responded too slowly. Common on pages with heavy database queries or blocking external API calls. Impacts both crawl efficiency and Core Web Vitals (TTFB). Investigate server-side performance for pages returning 504s.

Code SEO Impact Priority
500 (persistent) Crawl rate reduction, potential deindexing Critical
503 (extended) Crawl rate reduction High
504 (recurring) Crawl inefficiency, TTFB impact High

Redirect Chains and Loops

A redirect chain occurs when URL A redirects to B, which redirects to C. Each hop in a chain:

  • Dilutes link equity transfer (each hop loses a small amount)
  • Increases page load time for users
  • Wastes crawl budget on intermediate URLs

Rule: Maximum 1 redirect hop. Audit for chains using Screaming Frog’s “Response Codes” crawl and flatten all multi-hop chains so A redirects directly to the final destination.

Redirect loops (A → B → A) will prevent indexing entirely. Google encounters the loop after a few hops and abandons the URL. These often appear after site migrations where both old and new systems have redirect rules pointing at each other.

Crawl Budget Impact

Crawl budget — the number of pages Googlebot will crawl on your site in a given timeframe — is finite. Status code health directly determines how efficiently you spend it:

  • Every 404 crawl is a wasted request on a dead resource
  • Every redirect hop is an extra request consuming budget
  • 5xx errors reduce Googlebot’s crawl rate autonomously
  • Redirect chains multiply the requests needed to reach destination content

For large sites (100K+ pages), a poorly managed redirect infrastructure can mean Googlebot never reaches fresh content in the deep architecture. Prioritize status code hygiene proportionally to site size.

Monitoring and Fixing Status Code Issues

Status code monitoring should be continuous, not periodic:

  • Google Search Console: Pages report surfaces 404s Google encounters during crawling. Check weekly.
  • Screaming Frog / Sitebulb: Full crawl to identify all status codes, chains, and loops. Monthly for active sites.
  • Server logs: Raw Googlebot access logs reveal every URL it requests and the status codes returned — the ground truth beyond what GSC surfaces.
  • Uptime monitoring: Tools like Pingdom, Better Uptime, or Datadog alert on 5xx spikes in real time.

Prioritize fixes: linked 404s first, redirect chains second, recurring 5xx third, orphan 404s last.

Ready to Dominate Search in 2026?

Get a custom SEO audit and strategy from the team that has helped hundreds of brands rank and convert.

Get Your Free Audit →

Frequently Asked Questions

Which HTTP status codes have the most impact on SEO?

The most SEO-impactful codes are 301 (permanent redirect — passes link equity), 404 (not found — wastes crawl budget, loses equity), 302 (temporary redirect — doesn’t pass equity), 500 (server error — signals site reliability issues to Google), and 200 (OK — the only code for pages you want indexed).

Does a 301 redirect pass 100% of link equity?

In practice, Google has stated that 301 redirects pass ‘the same PageRank as a link’ in most cases, meaning close to 100%. There may be a small amount of dilution over redirect chains. A single 301 from URL A to URL B is effectively lossless for SEO purposes.

How many 404 errors are too many?

There is no absolute threshold, but 404 errors matter in two ways: they waste crawl budget on dead URLs, and they lose any link equity pointed at those URLs. Prioritize fixing 404s that have inbound links or were previously high-traffic pages. Isolated 404s on pages with no links and no traffic history are low priority.

What is a soft 404 and why is it bad for SEO?

A soft 404 is when a page returns HTTP 200 (success) but contains content that’s effectively empty, generic, or irrelevant — like a ‘no results found’ page. Google detects these algorithmically and treats them as low-quality content, which can suppress domain crawling and waste crawl budget.

Should I use 301 or 302 for redirects during site migrations?

Use 301 (permanent) for all site migrations. A 302 tells Google the original URL is coming back — it won’t transfer equity or update the index with the new URL. Temporary redirects (302, 307) are only appropriate for genuinely temporary redirects, like maintenance pages or A/B testing (though 302 for A/B testing is also debated).