What are HTTP status codes and why do they matter for SEO?

Home / Everything About / Everything About SEO / What are HTTP status codes and why do they matter for SEO?

Every time someone or a search engine visits a URL on your site, your server sends back a code. That code is a signal. It tells visitors and search engines what happened. Did the page load normally? Was it moved? Was it deleted? Is the server broken? Status codes matter because search engines use them to decide what to crawl, what to index, and what to ignore.

HTTP status codes are three-digit numbers your server sends back when someone requests a page. They communicate the status of that request. They are invisible to visitors (they happen behind the scenes) but search engines pay attention to every single one.

Understanding status codes is critical for SEO. A page returning a 404 (not found) tells Google the page is gone. A page returning a 500 (server error) tells Google something is broken. A page returning a 200 (OK) tells Google everything is fine. Each code affects how search engines treat that page.

The 2xx codes: success

200 OK is the code you want. It means the page loaded successfully. Search engines crawl it, index it, and consider it healthy. Almost all pages on a healthy site return 200.

201 Created means a resource was successfully created. 204 No Content means the request succeeded but there is no content to return. These are rare. Most pages are 200.

The 3xx codes: redirects

301 Moved Permanently means a page has permanently moved to a new URL. Search engines follow the redirect and index the new URL instead. All ranking power transfers to the new URL. Use 301 when you want to move a page permanently.

302 Found means a page has temporarily moved. Search engines keep indexing the original URL. No ranking power transfers. Use 302 only if you plan to move the page back. Most permanent moves should be 301, not 302.

307 Temporary Redirect is like 302 but preserves the HTTP method. 308 Permanent Redirect is like 301 but preserves the HTTP method. These are less common.

The 4xx codes: client errors

404 Not Found means the page does not exist. Search engines see this code and remove the URL from their index. A 404 is correct when a page genuinely no longer exists. But too many 404s hurt your site health. Check Google Search Console for crawl errors.

410 Gone is like 404 but stronger. It explicitly tells search engines the page is gone permanently and will not return. Use 410 for pages you deleted intentionally. Use 404 for pages that might return someday.

403 Forbidden means access is denied. The page exists but the server refuses to serve it. Search engines see this and stop trying to crawl that page. Use 403 only for pages you intentionally want to block from search engines without using robots.txt.

400 Bad Request means the request was malformed. 401 Unauthorized means login is required. 429 Too Many Requests means the server is throttling requests. These are less common in SEO but indicate problems when they appear.

The 5xx codes: server errors

500 Internal Server Error means something on your server is broken. Search engines see this and may temporarily remove the page from their index or reduce crawling frequency. Fix 500 errors immediately.

503 Service Unavailable means the server is temporarily down (maintenance, overload, etc.). Search engines treat this more forgivingly than 500. They will retry the page later. Use 503 during planned maintenance.

502 Bad Gateway and 504 Gateway Timeout indicate problems communicating between servers. These are temporary conditions. Resolve them quickly.

Why status codes matter for SEO

Status codes tell search engines whether to index a page. A 200 gets indexed. A 404 gets removed from the index. A 301 transfers ranking power.

Status codes affect crawl budget. If your site returns many 500s or 503s, search engines reduce crawling frequency. They assume your site is having problems. This means fewer of your pages get crawled and indexed.

Status codes affect trust. A site that returns many errors looks broken. Search engines deprioritize broken sites in rankings. A site that responds cleanly with correct status codes looks healthy.

How to find status code problems

Use Google Search Console. The Coverage Report shows indexation status. The Crawl Stats Report shows how many pages Google crawled and what codes it received. Look for unusual patterns of 4xx or 5xx codes.

Use Screaming Frog or similar crawl tools. These tools crawl your site and report status codes for every page. They show you 404s, 500s, redirects, and other issues at scale.

Check server logs. Your web hosting provider has access logs. These logs record every request and the status code returned. They show you what search engines are hitting and what codes your server returned.

Common status code mistakes and fixes

Mistake: returning 404 when you mean to redirect. Fix: use a 301 redirect instead. Do not let pages return 404 if you have moved them elsewhere.

Mistake: returning 500 when you mean to deny access. Fix: return 403 Forbidden instead. 500 looks like a site problem. 403 is intentional.

Mistake: returning 200 on a page with no content. Fix: return the appropriate status code. If a page is gone, return 404 or 410. If it is moved, return 301.

Mistake: soft 404s. Some pages return 200 but contain no real content (blank pages, error messages, "page not found" text). Search engines see 200 and think the page is fine. Return 404 or 410 instead.

Frequently asked questions

Should I use 301 or 302 redirects?

How many 404s should I tolerate?

Should I redirect all 404s to my homepage?

Do 500 errors kill my SEO?

Can I use 410 instead of 404?

What does a soft 404 look like?