Overview
HTTP status codes are three-digit responses sent by a web server when a browser or search engine requests a URL, showing whether the request worked, redirected elsewhere or failed. For SEO, the most important status codes are 200, 301, 302, 304, 404, 410, 500 and 503 because they directly affect how search engines crawl, process and retain URLs.
Whenever a search engine or user makes a request to access a page, the server returns an HTTP response.
HTTP stands for HyperText Transfer Protocol. The response code gives browsers and search engines a quick indication of what happened when they requested the URL.
The first digit groups the response into a broader category:
- 1xx means the request is still being processed
- 2xx means the request was successful
- 3xx means another step, usually a redirect, is required
- 4xx means there is a problem with the requested URL or request
- 5xx means the server was unable to complete the request
For day-to-day SEO work, a relatively small number of codes matter most.
What does a 200 status code mean?
Code: 200 OK
Meaning: A 200 status code means the server successfully received the request and returned a page or resource.
This is what you would normally expect from a working webpage.
SEO impact
Google generally needs to receive a successful 200 response before the page can move through its normal indexing process.
A 200 response alone does not guarantee that a page will be indexed. The page also needs to be accessible to Google and contain content that Google considers suitable for indexing.
One issue worth watching for is a soft 404.
This happens when a page returns a 200 response even though the content tells visitors that the page does not exist.
For example, a deleted product page might display “Sorry, this product is no longer available” but still return 200 OK.
Google may recognise that as an error page and treat it as a soft 404 rather than a genuine working page.
Action
Important live pages should generally return 200.
If a page has disappeared, return an appropriate 404, 410 or redirect response rather than showing an error message while continuing to return 200.
What does a 301 status code mean?
Code: 301 Moved Permanently
Meaning: A 301 status code tells browsers and search engines that the requested URL has permanently moved to another location.
For example:
/old-service/
might permanently redirect to:
/new-service/
SEO impact
Google treats a 301 as a strong signal that the destination URL should replace the original URL for processing and indexing purposes.
This makes 301 redirects particularly useful when:
- page URLs permanently change
- a website is migrated
- HTTP URLs move to HTTPS
- duplicate pages are consolidated
- an old product or service has a genuinely relevant replacement.
Redirects should point to the closest suitable alternative.
Redirecting dozens of unrelated deleted pages to the homepage usually creates a poor experience and can make the site’s URL structure harder for search engines to interpret.
Action
Use a 301 when the move is intended to be permanent.
Update internal links and XML sitemaps so that they point directly to the new URL rather than relying indefinitely on the redirect.
For a more detailed explanation of when to use each redirect, read our guide to 301 vs 302 redirects.
What does a 302 status code mean?
Code: 302 Found
Meaning: A 302 tells the browser that the requested URL is temporarily redirecting somewhere else.
The original URL is expected to return in the future.
SEO impact
Google follows 302 redirects but treats them as a weaker signal than permanent 301 redirects when deciding which URL should ultimately be processed as the main version.
A 302 can therefore make sense where the change really is temporary.
Examples include:
- temporary maintenance
- short-term campaign changes
- temporarily unavailable content
- controlled testing where the original URL will return.
Problems tend to arise when a 302 remains in place for something that was actually intended to be permanent.
Search engines then receive a less clear signal about which URL should become the lasting version.
Action
Use 302 when the redirect is genuinely temporary.
If the old URL has permanently moved, replace the 302 with a 301.
Our separate guide explains the practical differences between 301 and 302 redirects in more detail.
What does a 304 status code mean?
Code: 304 Not Modified
Meaning: A 304 response tells a crawler or browser that the resource has not changed since it was last requested.
Instead of downloading the full page again, the client can reuse its previously cached copy.
SEO impact
For Googlebot, a 304 can help reduce unnecessary server processing when the content genuinely has not changed.
Google states that when it receives a 304 response, it can reuse the content from the previous crawl rather than downloading the same material again.
This is different from a redirect despite being part of the 3xx family.
A 304 does not send the visitor to another URL.
Action
There is usually no reason for an SEO team to manually force 304 responses.
They are normally handled through server caching and HTTP headers such as If-Modified-Since and If-None-Match.
The main concern is making sure the server returns a fresh 200 response when content really has changed.
What does a 404 status code mean?
Code: 404 Not Found
Meaning: A 404 means the server cannot find a resource matching the requested URL.
This may happen because:
- the page has been deleted
- the URL was typed incorrectly
- an internal link is wrong
- an external website links to an outdated URL
- the page moved without a redirect.
SEO impact
A genuine 404 is not automatically an SEO problem.
If a page no longer exists and has no sensible replacement, returning 404 is a valid response.
Google does not index URLs returning 404 and will generally remove previously indexed URLs over time once it repeatedly encounters the error.
Problems appear when important URLs unintentionally return 404.
For example, a website migration might change /services/seo/ to /seo-services/ without redirecting the old page.
Any internal links, external backlinks or bookmarks pointing to the old URL would then lead to an error.
Action
Review 404 URLs and decide what each one should do.
If there is a clear replacement, use a 301 redirect.
If the page genuinely no longer exists and there is no appropriate replacement, keep the 404.
It is also worth creating a useful custom 404 page with clear navigation so visitors can continue using the site.
What does a 410 status code mean?
Code: 410 Gone
Meaning: A 410 tells the client that a resource previously existed but has now been intentionally removed.
It is a stronger statement than simply saying the URL cannot currently be found.
SEO impact
For Google Search, both 404 and 410 responses indicate that the URL should not be indexed.
Google’s current documentation groups most 4xx responses together for indexing purposes and says previously indexed URLs will be removed over time.
You may still choose 410 where you specifically want the server response to communicate that a resource was intentionally and permanently removed.
Action
Use 410 for pages that have deliberately disappeared and have no suitable replacement.
If there is another page that genuinely replaces the content, a 301 redirect is usually more helpful to visitors.
What does a 500 status code mean?
Code: 500 Internal Server Error
Meaning: A 500 response means something went wrong on the server while it was attempting to process the request.
The exact cause varies.
Examples include:
- server configuration errors
- failed application code
- database problems
- PHP errors
- problems introduced by a website update.
SEO impact
A small number of short-lived 500 errors may have limited lasting impact.
Persistent server errors are more serious.
Google reduces crawling when it sees repeated 5xx responses. If important URLs continue returning server errors for long enough, they may eventually be removed from Google’s index.
Large-scale 500 errors can therefore affect both users and search visibility.
Action
Treat repeated 500 errors as a technical priority.
Check server logs, hosting performance and recent website changes to identify what is failing.
Once the issue is resolved and URLs begin returning successful responses again, Google can gradually increase crawling.
What does a 503 status code mean?
Code: 503 Service Unavailable
Meaning: A 503 means the server is temporarily unable to handle the request.
It is often used during planned maintenance or periods of temporary server overload.
SEO impact
A 503 tells search engines that the problem is temporary.
This can be preferable to returning a 404 during short maintenance periods because a 404 suggests that the page itself does not exist.
Google treats 503 responses as server errors and may temporarily reduce crawling while they continue.
If a website returns 503 for an extended period, however, search engines cannot assume indefinitely that the pages will return.
Persistent server errors can eventually lead to URLs dropping from the index.
Action
Use 503 for genuinely temporary outages or maintenance.
Restore a normal 200 response as soon as the pages become available again.
Where appropriate, servers can also return a Retry-After header to give clients an indication of when they should try again.
Which HTTP status codes are most important for SEO?
The codes worth checking most regularly are:
200 OK: Use for live webpages that should be accessible normally.
301 Moved Permanently: Use where one URL has permanently moved to another relevant URL.
302 Found: Use where a redirect is genuinely temporary.
304 Not Modified: Allows crawlers and browsers to reuse a previously cached version when the content has not changed.
404 Not Found: Use where a URL cannot be found and there is no suitable replacement.
410 Gone: Use where a URL has intentionally and permanently been removed.
500 Internal Server Error: Investigate quickly because the server is failing to return the requested page.
503 Service Unavailable: Use where the server or page is temporarily unavailable.
Why do HTTP status codes matter for SEO?
Search engines rely on HTTP status codes before they can properly process the page itself.
If Google requests a URL and receives a 200 response, it can continue processing the content.
If it receives a 301, it follows the redirect and considers the destination.
If it receives a 404 or 410, it understands that the requested page is unavailable.
If it repeatedly encounters a 500 or 503, it may reduce how often it crawls the website.
The server response therefore gives search engines important context before elements such as copy, headings, internal links or metadata are considered. This is why status codes frequently form part of a technical SEO audit.
How can you check HTTP status codes on your website?
There are several ways to check response codes. For an individual URL, Google Search Console’s URL Inspection tool can help identify whether Google was able to access the page and what happened during crawling.
Browser developer tools can also show the HTTP response returned when a page loads.
For larger websites, crawling tools make it easier to review hundreds or thousands of URLs at once and identify groups returning:
- 3xx redirects
- 4xx errors
- 5xx server errors.
This becomes particularly useful before and after a website migration.
You can then identify whether important pages have accidentally become broken, redirected incorrectly or started returning server errors.
What is a soft 404?
A soft 404 occurs when a webpage behaves like an error page but the server still returns a successful 200 response.
For example, imagine an ecommerce product is deleted but the old URL displays:
“Sorry, this product is no longer available.”
If the server continues returning 200 OK, the technical response suggests that a normal page exists even though the visible content says otherwise.
Google may classify this as a soft 404.
If the product has a suitable replacement, redirecting the old URL may make sense.
If no replacement exists, returning a genuine 404 or 410 is usually clearer.
Should every 404 page be redirected?
No. This is a common mistake during SEO clean-ups.
If a deleted page has a closely related replacement, a 301 redirect is useful.
If there is no appropriate replacement, returning a proper 404 or 410 can be the cleaner option.
For example, redirecting a discontinued product directly to its replacement model may help visitors.
Redirecting an unrelated blog post, discontinued product and deleted staff profile to the homepage gives the visitor little indication of what happened.
Google recommends using a 301 when content has moved to another suitable location and returning 404 or 410 when the content is genuinely gone.
Why should status codes be checked during a website migration?
Website migrations are one of the situations where status-code mistakes can quickly affect a large number of pages.
Common issues include:
- old URLs returning 404 instead of redirecting
- temporary 302 redirects being used for permanent URL changes
- redirect chains
- redirects pointing to irrelevant destinations
- important pages unexpectedly returning 500 errors
- live pages returning 200 while displaying error content.
Before launching a new website, the old and new URLs should be mapped so that permanent changes can be redirected accurately.
After launch, crawling both sets of URLs helps confirm that the intended responses are actually being returned.
What should businesses remember about HTTP status codes?
HTTP status codes tell search engines what has happened before they assess the content of a webpage.
For most SEO work, the practical rules are straightforward:
- Use 200 for pages that work normally
- Use 301 for permanent moves
- Use 302 for temporary moves
- Allow 304 responses where unchanged resources can be reused efficiently
- Return 404 or 410 when content genuinely no longer exists
- Investigate 500 errors promptly
- Use 503 when an outage really is temporary
Getting these responses right helps search engines understand which URLs should remain active, which have moved and which should eventually disappear from search.