HTTP Status Code Checker
Paste a list of URLs and see the status each one returns: 200, 301, 404, 500 and more. Spot redirects, broken pages, blocked URLs and soft 404s, export the results, and look up what any status code means for SEO.
- Up to 100 URLs at once
- Redirects, errors and soft 404s
- Status code reference built in
Need to see every hop of one URL? Use the Redirect Checker, or crawl a page's links with the Broken Link Checker.
A clear answer for every URL in your list
Each URL is requested once, its redirects are followed, and the result is judged for SEO.
First and final status
The code the URL itself returns, the code where it ends up after redirects, and how many hops it took.
Problems in plain words
Temporary redirects, long chains, redirects to error pages, noindex pages and soft 404s, each with a fix.
Request as a crawler
Test as Chrome, Googlebot or Bingbot to see sites that treat bots differently.
Filter and sort
Show only errors, redirects or warnings, and sort by status code or response time.
Export
Download every result as a CSV or copy just the failing URLs for a ticket.
Built-in reference
Look up any status code to see what it means, how search engines treat it and what to do.
The HTTP status codes you will see most
These cover almost every result in an SEO audit. The reference tab lists the rest.
| Code | Name | What it means for SEO |
|---|---|---|
| 200 | OK | The healthy response. The page can be crawled and indexed. |
| 301 | Moved Permanently | Passes ranking signals to the new URL. Use for permanent moves. |
| 302 | Found (temporary) | Old URL usually stays indexed. Use only for short detours. |
| 304 | Not Modified | The cached copy is current. Good for crawl budget. |
| 404 | Not Found | Page drops out of the index over time. A few are normal. |
| 410 | Gone | Removed on purpose. Drops out a little faster than a 404. |
| 429 | Too Many Requests | Crawlers slow down. Repeated 429s lower the crawl rate. |
| 500 | Internal Server Error | Page isn't indexed. Frequent 500s cut the crawl rate. |
| 503 | Service Unavailable | Right for short maintenance with Retry-After. Long outages drop pages. |
How to bulk check status codes
Three steps from a list to an action plan.
Add your URLs
Paste a list or upload a CSV from your crawler, sitemap or analytics. Up to 100 per run.
Run the check
Choose how to request them and run it. Results appear as they are checked.
Filter and fix
Filter to errors, open the details of any row for the fix, then export the list.
How to handle status codes for SEO
A few rules cover most situations.
Real pages return 200
Every page you want indexed should return 200 directly, with no redirect in front of it.
Moved means 301
Redirect permanently moved pages with a single 301 to the closest replacement.
Gone means 404 or 410
Let removed pages return 404 or 410 rather than redirecting everything to the home page.
Avoid soft 404s
A missing page must return a real 404, not a 200 with a 'not found' message.
Fix 5xx fast
Server errors cut crawling quickly. Fix them first, and use 503 with Retry-After for maintenance.
Check after changes
Run a status check after every migration, redesign and URL change.
What an HTTP status code checker tells you about a URL
Every response from a web server starts with a three-digit status code. The first digit is the class: 2xx means success, 3xx means the client should look elsewhere, 4xx means the request could not be fulfilled and 5xx means the server failed. The codes are defined in RFC 9110, and search engines read them before they read anything on the page.
That is why the code matters for SEO. Google's documentation on HTTP status codes says content from a 4xx response is ignored and that URLs already indexed are removed. 5xx and 429 responses make Googlebot slow down, and URLs that keep failing are eventually dropped. A 2xx page that looks like an error can be reported as a soft 404.
A browser hides all of this. It shows you a page, a friendly error or a redirect target, and none of those tell you what the server really sent. A status code checker requests each address and reports the first code, the final code and the number of hops, so you can sort a long list into healthy pages, moved pages and problems. This tool checks a list. When you need to see every hop of one URL, use the redirect checker instead.
When to check status codes in bulk
Use it when you have a list of URLs and need to know which ones answer correctly.
Triaging a crawler export
A crawl or analytics export lists thousands of URLs. Run the important ones to separate real failures from pages that simply redirect.
Checking sitemap URLs
A sitemap should list URLs that return 200. Paste a sample to find entries that redirect or fail, and remove them from the file.
After a site change
After a redesign, plugin update or URL change, test key pages for unexpected 404, 500 or 302 responses before search engines find them.
Hunting soft 404s
Find pages that return 200 but have an error-style title, such as an empty search page or a deleted product that still loads.
Spotting blocked requests
A URL that gives 403 or 429 to the tool but loads in your browser is likely behind bot protection, which a real crawler may also meet.
During downtime or maintenance
Confirm that planned maintenance returns 503 rather than 200 or 500, so crawlers treat the outage as temporary.
Status code mistakes and how to fix them
The page may look fine in a browser while the status code says something else.
A missing page that returns 200
What goes wrong: A custom "page not found" screen served with a 200 status is a soft 404. Google can report it that way, and it may keep spending crawl time on it.
The fix: Make the server send a real 404 (or 410 for a deliberate removal) along with your helpful error page. In single-page apps, make the error view return 404 or add a noindex tag.
Using 302 where 301 is meant
What goes wrong: A temporary redirect is a weak signal that the target should replace the old URL, so a permanent move can leave the old address in results.
The fix: Use 301 or 308 for permanent moves and keep 302 or 307 for real short detours. Replace temporary redirects found by the checker.
Redirecting every dead URL
What goes wrong: Sending removed pages to the home page makes errors disappear from a report but does not give visitors or crawlers what they wanted.
The fix: Redirect only when a close replacement exists. Otherwise let the page return 404 or 410, as Google's own Page indexing help advises for removed pages.
Ignoring 5xx errors
What goes wrong: A 500 or 502 can look like a one-off, but repeated server errors make Google reduce its crawl rate and eventually drop URLs that keep failing.
The fix: Check server logs and host status in Search Console, fix the cause, and watch that the share of non-200 responses falls back to normal.
Using 401 or 403 to slow crawlers
What goes wrong: Google says not to use 401 and 403 to limit crawl rate, since it treats them like other 4xx errors, as content that does not exist.
The fix: If a server is overloaded, return 503 or 429 for a short time, and fix capacity. Do not hide pages from crawlers with login or forbidden responses.
Believing a 200 means indexed
What goes wrong: A healthy status only means the page can be fetched. Google says a 2xx status does not guarantee that a page will be indexed.
The fix: Treat 200 as the first check. Then confirm indexability: no noindex, a sensible canonical, real content and a link or sitemap entry that leads to the page.
HTTP status code terms explained
- Status code
- A three-digit number in an HTTP response that says how the request went. The first digit gives the class, and the rest give the specific result.
- 200 OK
- The request worked and the page is in the response. It is the normal result for a page you want crawled and indexed.
- 301 and 302
- Redirects. 301 is permanent and 302 is temporary. Google treats the first as a strong signal and the second as a weaker one.
- 404 Not Found
- The server has no page at this address, and it is not saying whether the page will return. A removed page with no replacement should return it.
- 410 Gone
- A page was removed on purpose and is likely not coming back. Google's documentation handles it like any other 4xx error, as content that does not exist.
- 429 Too Many Requests
- The client is sending requests too quickly. Google treats this response as a sign of an overloaded server and slows its crawling.
- 503 Service Unavailable
- The server cannot answer right now, such as during maintenance. It should be temporary, and a
Retry-Afterheader can say when to try again. - Soft 404
- A page that looks like an error to a person or to Google but returns a success status instead of a 404.
Related tools, guides and services
The status code is the first layer. These look at the layers around it.
Redirect Checker
Follow one URL through every hop and see where the chain ends.
ToolBroken Link Checker
Find the links on your pages that lead to 404s and server errors.
ToolHTTP Header Viewer
Read the full response headers behind a status code, including caching.
GuideSEO audit errors that matter
See how 404s, soft 404s, 5xx errors and redirects rank among audit findings.
GuidePages not indexed: causes and fixes
Match Search Console statuses such as soft 404 and Not found (404) to their fixes.
ServiceTechnical SEO service
Get crawl errors, server responses and indexing issues reviewed and fixed.
Built by
Madhav Kushwaha
SEO, AEO, GEO & Digital Marketing Consultant in Kathmandu, Nepal, and trainer at ODcrU Academy and TechAxis Institute. Status codes are the first thing I check in any audit, and bulk lists are where the surprises are: old URLs that now 404, redirects that end on errors, pages that return 200 but say not found. This checker puts all of that into one table and explains each code as you click it.
HTTP Status Code Checker: Frequently Asked Questions
More free SEO tools
Status codes decide what search engines keep. These tools check redirects, links and sitemaps that depend on them.