GlossarySEO
What is an HTTP status code?
Also called: status code, response code, HTTP response code
Definition
An HTTP status code is the three-digit number a server sends back with every response, like 200, 301, 404 or 503. It tells browsers and crawlers whether the request worked, moved, failed or should be retried.
HTTP status code, explained
Every time a browser or Googlebot requests a URL, the server answers with a status line before any content. The first digit sets the family: 2xx means success, 3xx means redirection, 4xx means the client asked for something that isn't there or isn't allowed, and 5xx means the server failed. Humans rarely see the code. Crawlers read it first and decide what to do next based on it.
Google's documentation describes how each family affects Search. A 2xx makes the content eligible for indexing, but doesn't guarantee it. Google's crawlers follow up to 10 redirect hops, and treat 301 and 308 as strong signals that the target should be canonical, while 302 and 307 are weak signals. A 404 or 410 removes a previously indexed URL from the index. 5xx errors and 429 make Google temporarily slow down crawling, and it ramps back up once the server returns 2xx again.
The code has to match the content. A page that says "not found" but returns 200 is a soft 404. A login wall that returns 200 for every URL looks like thousands of duplicate pages. A maintenance page that returns 200 can replace your real content in the index. Most status code problems in SEO come from frameworks, CDNs or hosting platforms returning a default code that doesn't describe what actually happened.
Checking is quick: open the browser's network tab, run curl -I on the URL, or use a redirect checker that shows every hop and its code.
Why it matters for founders
Status codes are how you talk to crawlers without words. Get them right and Google drops dead pages, follows moved ones and backs off during outages. Get them wrong and it indexes error pages or forgets real ones.
Example
You delete an old feature page. Your framework's catch-all route shows a friendly "page not found" message but returns 200. You change it to return 404, and the URL drops out of the Page indexing report's soft 404 list.
Common mistakes
- Returning
200on error and "not found" pages. - Using
302for permanent moves because it was the default. - Serving
5xxfor days during a migration instead of fixing or redirecting. - Checking status codes only in the browser, where cached redirects can hide what crawlers see.
Sources
Checked
Related terms
- 404 errorA 404 error is the HTTP status a server returns when a requested URL doesn't exist. Search engines drop 404 URLs from their index, and a 404 on a deleted page is normal, not a penalty.
- Soft 404A soft 404 is a page that looks like an error or empty page to Google but returns a success code (
200) instead of404. Google treats it as not found and reports it in Search Console. - 5xx server errorA 5xx server error is any HTTP status from 500 to 599, meaning the server failed to handle a valid request. Google slows its crawling when it sees them, and persistent errors can drop pages.
- 301 vs 302 redirectA 301 redirect says a page has moved permanently, so search engines should treat the new URL as canonical. A 302 says the move is temporary, so they keep showing the original URL.