localwebadvisor
WIKI← Wiki home

What Are HTTP Status Codes? 200, 404, 500

By FayUpdated Jul 9, 2026EVERGREEN
⚡ THE ANSWER

HTTP status codes are three-digit numbers a web server returns to tell a browser or crawler the outcome of a request. They fall into five classes: 2xx means success, such as 200 OK; 3xx means redirection, like a 301 move; 4xx means a client error, such as 404 Not Found; and 5xx means a server error, like 500 Internal Server Error. Search engines rely on these codes to decide how to crawl, index, and rank pages.

Five classes
1xx informational, 2xx success, 3xx redirect, 4xx client error, 5xx server error (RFC 9110)
200 OK
The request succeeded and the page is served normally, ideal for indexable content (RFC 9110)
404 vs 410
404 means not found; 410 means gone permanently, prompting faster de-indexing (Google Search Central)
5xx impact
Repeated 5xx errors can slow crawling and eventually drop pages from the index (Google Search Central)

What are HTTP status codes? #

HTTP status codes are three-digit numbers that a web server sends back with every response to tell the requesting browser or crawler what happened. When you load a page, your browser makes a request and the server answers with a code that summarizes the outcome, whether the page was found and served, moved elsewhere, missing, or broken by a server fault. Users rarely see these codes directly because browsers translate successful responses into rendered pages and only surface errors when something fails, but search engine crawlers read every code and act on it. The codes are organized into five numbered classes, each covering a category of outcome, which makes them easy to reason about once you know the ranges. For anyone running a website, status codes are the vocabulary of what is actually working and what is not, and diagnosing them is a routine part of the technical health checks built into /services/care-plans, where an unexpected code on an important page is an early warning of trouble.

What do the five status code classes mean? #

The five classes map cleanly to outcome types. The 1xx range is informational, rarely relevant to everyday site work, signaling that a request was received and processing continues. The 2xx range means success: the request was understood and fulfilled, with 200 OK being the everyday code for a page that loads normally. The 3xx range means redirection, telling the client the resource lives at another URL, as with a 301 permanent move or a 302 temporary one. The 4xx range means a client error, indicating the request was flawed or the resource is not available, with 404 Not Found and 403 Forbidden being common members. The 5xx range means a server error, where the request was valid but the server failed to fulfill it, as with a 500 Internal Server Error or a 503 Service Unavailable. Knowing which class a code belongs to instantly tells you whether the problem lies with the content, the redirect setup, the request, or the server itself, which speeds up any diagnosis.

What does a 200 status code mean? #

A 200 OK is the code you want most of your pages to return, because it means the request succeeded and the server delivered the content normally. Every page you intend to rank should return a clean 200, since search engines index the content served with a successful response. It sounds obvious, but confirming that important pages actually return 200, rather than a redirect, an error, or a soft 404, is a frequent finding in technical audits. A page can look fine to a visitor while quietly returning the wrong code, for instance a missing product that displays a friendly message but still returns 200 instead of 404, which confuses crawlers. Beyond 200, other 2xx codes exist, such as 201 Created for successful form or API submissions and 204 No Content for requests that succeed but return nothing, though these matter mostly in web applications rather than content pages. Verifying 200 responses on key URLs is a baseline check our /tools/website-grader performs automatically.

check-status.sh — confirm the status code of a URL
# -o /dev/null discards the body, -s silences progress,
# and -w prints just the numeric status code.
curl -o /dev/null -s -w "%{http_code}\n" \
  https://example.com/services

# 200  -> page served successfully
# 301  -> permanent redirect
# 404  -> not found
# 500  -> server error

What does a 404 status code mean? #

A 404 Not Found means the server could not find the requested URL, usually because the page was deleted, the address was mistyped, or a link points somewhere that no longer exists. A 404 is not inherently bad; it is the correct, honest response for a page that genuinely does not exist, and Google expects sites to return 404s for missing content. The problems come from two directions. First, broken internal links or important pages returning 404 waste visitor trust and crawl attention, which is why regular scans with /tools/broken-link-checker matter. Second, some sites mishandle missing pages by returning 200 with a not-found message, creating a soft 404 that confuses search engines, a pattern explained in /wiki/what-is-a-soft-404. A close relative, the 410 Gone code, signals that a page has been permanently removed and prompts search engines to de-index it faster than a 404. A well-designed custom 404 page that returns the correct code and helps visitors find their way is a small but meaningful part of good /services/ui-ux-design.

What does a 500 status code mean? #

A 500 Internal Server Error means the server encountered a fault that stopped it from fulfilling an otherwise valid request. Unlike a 404, where the problem is a missing resource, a 500 signals something broke on the server side, such as a code error, an exhausted database connection, a misconfigured plugin, or a resource limit hit under traffic. For SEO this class of error is serious when it persists: repeated 5xx responses tell search engines your site is unreliable, which can slow crawling and, if pages stay broken, eventually cause them to drop from the index. Related 5xx codes include 502 Bad Gateway and 504 Gateway Timeout, which often point to server or upstream problems, and 503 Service Unavailable, the correct code to return during planned maintenance because it tells crawlers to come back later rather than treating the outage as permanent. Persistent 500 errors usually trace to hosting or application issues, which is where /services/managed-hosting and /services/website-rescue engagements focus, restoring stability so both users and crawlers get reliable responses.

How do status codes affect SEO? #

Search engines treat status codes as instructions about how to handle each URL, so the codes directly shape crawling, indexing, and rankings. A 200 tells Google the content is live and indexable. A 301 tells it to permanently move indexing and signals to a new URL, while a 302 says keep the original indexed. A 404 or 410 tells it the page is gone, prompting removal from the index at different speeds. A 5xx tells it the server is failing, which, if repeated, throttles crawling and risks de-indexing. Because of this, returning the wrong code has real consequences: a soft 404 that returns 200 keeps a dead page indexed, a temporary redirect used for a permanent move strands authority, and unhandled server errors erode a site's crawlability. Monitoring the codes your important pages return is therefore a core SEO discipline, not a purely technical curiosity. Ongoing checks through /services/care-plans catch a page that starts returning the wrong code before rankings suffer, connecting status-code health to real search performance.

How do you check the status codes on your site? #

You check status codes at two levels: individual URLs and the whole site. For a single URL, browser developer tools show the code in the network tab, command-line tools like curl print it directly, and free online header checkers report it for anyone avoiding a terminal. For an entire site, a crawler visits every URL and tabulates the codes, flagging 404s, unexpected redirects, and 5xx errors in one report, which is the only practical way to audit hundreds of pages. Google Search Console is invaluable here too, since its page indexing report groups URLs by how Google encountered them, including server errors, not found pages, and redirects, showing you problems from the crawler's own perspective. Our /tools/website-grader and /tools/website-down-checker surface status issues quickly for owners who want a fast read. The goal of any check is the same: confirm that pages meant to rank return 200, that removed pages return 404 or 410, that redirects are correct, and that no 5xx errors are festering.

Why status codes matter for local business websites #

For a local business, status codes are the difference between a site that quietly works and one that silently leaks customers. An important service page that starts returning a 404 after a redesign disappears from search and from anyone who bookmarked it. A server hitting 500 errors during a busy period turns away the exact high-intent visitors a local site depends on, an emergency plumbing customer will not wait for a second attempt. Soft 404s from a builder that returns 200 for missing pages clutter the index with dead URLs and dilute crawl budget. Because these sites are often built fast and handed between developers, wrong or unmonitored status codes are common and easy to miss when the pages still look fine to a casual visitor. Teams building for time-sensitive verticals like /web-design-for-plumbers and /web-design-for-hvac-companies pair reliable /services/managed-hosting with routine status monitoring, so that the codes behind every important page stay correct and the site keeps converting the traffic that local search sends it.

FAQ

Is a 404 error bad for SEO?

Not by itself. A 404 is the correct response for a page that genuinely does not exist, and Google expects them. Problems arise when important pages or internal links return 404, when broken links accumulate, or when missing pages return 200 instead, creating soft 404s. A clean, helpful 404 page returning the right code is perfectly healthy.

What is the difference between a 404 and a 410?

Both indicate a missing page, but 410 Gone signals the removal is permanent, while 404 Not Found is more neutral about whether the page might return. Google tends to de-index 410 URLs slightly faster. Use 410 when you have deliberately and permanently removed content you never intend to restore.

How do I fix a 500 internal server error?

A 500 signals a server-side fault, so check server error logs first, then investigate recent changes such as a faulty plugin, a code bug, database issues, or resource limits. Because causes vary, resolution often involves hosting or application-level troubleshooting. Persistent 500s usually call for professional website rescue or a review of your hosting configuration.

What status code should a maintenance page return?

Return a 503 Service Unavailable during planned maintenance. It tells search engines the outage is temporary and to retry later, rather than treating the pages as permanently broken. Returning a 200 or a redirect during maintenance can cause crawlers to index the maintenance message or misread the outage, so 503 is the correct, temporary signal.

Do redirects have their own status codes?

Yes. Redirects live in the 3xx class. A 301 is a permanent redirect that transfers ranking signals to the new URL, a 302 is a temporary redirect that keeps the original indexed, and 307 is a strict temporary redirect that preserves the request method. Choosing the correct code matters for how search engines treat the move.

How can I see what status code a page returns?

Use browser developer tools and check the network tab, run a command-line tool like curl to print the code, or use a free online HTTP header checker. To audit a whole site at once, run a crawler that reports codes for every URL, or review Google Search Console's page indexing report.

Was this helpful?