HTTP Status Codes Explained: 200, 301, 404 and 500
Learn what HTTP status codes mean, including 200, 301, 302, 404, 500, 502 and 503, and how to fix website response problems.
Introduction
HTTP status codes are the server’s way of explaining what happened when a browser, search engine or monitoring tool requested a URL. A status code can show that the page loaded successfully, redirected somewhere else, was not found, or failed because of a server problem.
For website health, the most important checks are the first response, the final response after redirects, whether HTTPS works, whether www and non-www versions behave consistently, and whether important pages return the expected status.
Quick answer
HTTP status codes show how a server responds to a URL. 200 means the page loaded, 301 means permanent redirect, 302 means temporary redirect, 404 means not found, and 500-level codes mean server or upstream errors. Check both the initial status and the final status after redirects.
HTTP status codes
HTTP status codes are three-digit responses returned by a web server.
- 2xx: successful responses
- 3xx: redirects
- 4xx: client or request errors
- 5xx: server errors
A status code does not always tell the full story. A URL may return 301 first, then finally return 200 after redirecting to the correct page.
Important codes
200 OK
The page loaded successfully.
301 Moved Permanently
The URL permanently redirects to another URL.
302 Found
The URL temporarily redirects to another URL.
307 Temporary Redirect
Temporary redirect that preserves request method.
308 Permanent Redirect
Permanent redirect that preserves request method.
400 Bad Request
The server cannot process the request.
401 Unauthorized
Authentication is required.
403 Forbidden
The server refuses access.
404 Not Found
The page does not exist at that URL.
410 Gone
The page was intentionally removed.
429 Too Many Requests
Rate limit or anti-bot protection is blocking requests.
500 Internal Server Error
The application or server failed.
502 Bad Gateway
Proxy or gateway received an invalid response.
503 Service Unavailable
Server is overloaded, down or in maintenance.
504 Gateway Timeout
Proxy or gateway waited too long for the upstream server.
200 OK
A 200 status means the server returned the requested page successfully. This is usually what you want for live pages, important landing pages, tool pages and homepage URLs.
- Page content is correct
- Canonical URL is correct
- HTTPS version returns 200
- Final URL after redirects returns 200
- No soft 404 message appears
- Page is not blocked by noindex if it should rank
A 200 status only means the server responded successfully. It does not prove the page content is correct or SEO-ready.
301 and 302 redirects
Redirects tell browsers and search engines to go to another URL.
301
- Use for permanent moves, such as HTTP to HTTPS, old URL to new URL, or non-www to www.
302
- Use for temporary moves, testing or short-term redirects.
- Redirect goes to the correct final URL
- Redirect chain is not too long
- HTTP redirects to HTTPS
- www and non-www redirect consistently
- Old URLs redirect to relevant new pages
- Redirects do not loop
For SEO and clean website behavior, permanent site moves usually need 301 redirects, not temporary 302 redirects.
404 and 410 pages
A 404 means the requested page was not found. A 410 means the page is intentionally gone.
404 is normal when
- A user typed the wrong URL
- An old page was deleted
- A broken link points to a missing page
404 is a problem when
- Important pages return 404
- Internal links point to missing URLs
- Sitemap URLs return 404
- Product or service pages disappear unintentionally
- Old URLs have no useful redirect
A custom 404 page is useful, but important missing pages should usually be fixed or redirected.
500-level errors
500-level errors mean something failed on the server side or between the server and upstream services.
- Application crash
- PHP error
- Database connection failure
- Overloaded server
- Bad plugin or theme update
- Proxy or CDN issue
- Upstream timeout
- Maintenance mode
- Resource limits
- Firewall or WAF problem
500-level errors are more urgent than normal 404s because users and search engines cannot access the content.
Why this matters
HTTP status codes matter because they directly affect user access, search engine crawling, monitoring, uptime checks and troubleshooting. A page that should return 200 but returns 404 or 500 may lose traffic, conversions and trust.
Redirect mistakes can also create SEO and usability problems if users or search engines are sent through loops, long chains or irrelevant pages.
How to check codes
Use Website Status Checker to test the URL and see the response code, redirects and final destination.
- Homepage — confirm the main domain returns the expected final status.
- HTTP to HTTPS — confirm HTTP redirects to HTTPS.
- www vs non-www — confirm one canonical version is used.
- Important pages — check service pages, tool pages, guides and contact pages.
- Redirect chain — confirm redirects are short and intentional.
- Missing pages — check whether old URLs return 404, 410 or redirect correctly.
- Server errors — investigate any 500, 502, 503 or 504 response.
- CDN or proxy layer — if a CDN is used, compare CDN response and origin response.
Check HTTP status codes
Use Website Status Checker to test the URL and see the response code, redirects and final destination.
Common problems
Important page returns 404
HighA page that should exist is missing or routed incorrectly.
Next step: Restore the page, fix routing or redirect to the correct replacement.
Redirect loop
HighThe URL redirects back to itself or cycles between URLs.
Next step: Review HTTPS, www/non-www, CDN and application redirect rules.
Long redirect chain
MediumThe URL passes through too many redirects before the final page.
Next step: Redirect directly to the final canonical URL.
HTTP does not redirect to HTTPS
MediumUsers may access the insecure version of the site.
Next step: Add a clean HTTP to HTTPS redirect.
Wrong 302 used for permanent move
MediumA permanent URL change is treated as temporary.
Next step: Use 301 or 308 where the move is permanent.
Server returns 500
HighThe application or server failed while processing the request.
Next step: Check application logs, PHP errors, plugins, database and server resources.
502 or 504 from proxy/CDN
HighA gateway, CDN or proxy cannot reach the origin correctly.
Next step: Check origin availability, firewall, upstream service and timeout settings.
Soft 404
MediumThe page returns 200 but displays “not found” content.
Next step: Return a real 404 or 410 or redirect to a relevant page.
Blocked by 403
MediumAccess is forbidden by permissions, WAF, firewall or server rules.
Next step: Review security rules, file permissions and access restrictions.
How to fix issues
-
Step 1: Identify the exact URL
Check the full URL, including protocol, www/non-www, path and trailing slash.
-
Step 2: Check the final status
Follow redirects and confirm the final response code.
-
Step 3: Fix broken pages
Restore missing content, fix routing or redirect old URLs to relevant replacements.
-
Step 4: Clean redirects
Use direct redirects and avoid loops or unnecessary chains.
-
Step 5: Fix HTTPS and canonical behavior
Redirect HTTP to HTTPS and choose one www or non-www version.
-
Step 6: Investigate server errors
Check logs, plugins, database, server resources, CDN and proxy configuration.
-
Step 7: Update internal links and sitemap
Remove broken URLs and point links to final canonical URLs.
-
Step 8: Monitor after changes
Re-check status codes after deployment, DNS changes or migrations.
Check headers:
curl -I https://example.com
Follow redirects:
curl -IL http://example.com
Example good redirect:
http://example.com
→ 301 https://example.com
→ 200 OK
Example bad redirect chain:
http://example.com
→ 301 http://www.example.com
→ 301 https://www.example.com
→ 301 https://example.com
→ 200 OK
Better:
http://example.com
→ 301 https://example.com
→ 200 OK
Examples are illustrative. Replace example.com with your real URL and review production redirect rules carefully.
SEO impact
Search engines use status codes to understand whether pages are available, moved, missing or broken.
- 200 pages can be indexed if not blocked
- 301 redirects pass users and search engines to the new URL
- 302 redirects are treated as temporary
- 404 pages are normal if pages truly do not exist
- 410 can signal intentional removal
- 5xx errors can reduce crawl reliability if persistent
- Redirect chains waste crawl efficiency
- Soft 404s confuse indexing
Status codes should match the real page state.
Migration checklist
After a migration
Check these status code items after moving or restructuring a site.
Homepage returns final 200
Main domain loads correctly.
HTTP redirects to HTTPS
Insecure URLs redirect cleanly.
Old URLs redirect to new URLs
Permanent moves use 301 where appropriate.
www/non-www is consistent
One canonical hostname is used.
Important pages return 200
Key pages are reachable.
Removed pages return 404 or 410
Deleted content is handled correctly.
No redirect loops
URLs do not cycle between redirects.
No long redirect chains
Redirects go directly to final URLs.
Sitemap URLs return 200
Sitemap entries are valid.
Canonical URLs match final URLs
SEO signals align with final responses.
No unexpected 500 errors
Server errors are investigated.
CDN and origin consistent
Edge and origin responses match expectations.
Frequently asked questions
What does 200 OK mean?
The server successfully returned the requested page.
What is the difference between 301 and 302?
301 is a permanent redirect. 302 is a temporary redirect.
Is 404 always bad?
No. 404 is normal for pages that truly do not exist, but it is bad for important pages or sitemap URLs.
What does 500 mean?
A 500 error means the server or application failed while processing the request.
What does 502 mean?
A gateway, CDN or proxy received a bad response from the upstream server.
Should HTTP redirect to HTTPS?
Yes, most public websites should redirect HTTP to HTTPS.
How do I find redirect loops?
Use a status checker or curl with redirect following to see each redirect step.
Related tools
Use these free tools to verify your configuration after applying changes.
Related guides
Browse all Website Health guides →Need help applying this fix?
Send us your domain, report link or issue details. CheckDomainHealth will review the request and route it to the right technical team if hands-on support is needed.
Was this guide helpful?
Your feedback helps us improve our guides for everyone.
Thanks for your feedback!