URL Status Code & Redirect Checker
Reports the HTTP status code and the full redirect chain for the URL, however the redirects are configured.
What is an HTTP status code?
An HTTP status code is the three-digit number a server returns with every response. 200 means the page loaded, 301 and 308 mean it moved permanently, 302 and 307 mean a temporary move, 404 and 410 mean it is gone, and 5xx means a server error. Google indexes 200 pages, follows redirects and drops pages that keep returning errors.
How to use the URL Status Code & Redirect Checker
- Enter a URL, with or without https://.
- The tool requests it and follows every redirect, recording each hop and its status code.
- Check the final status is 200 and that there is at most one redirect on the way.
How to read the results
- Passed
- The URL ends at a 200 response with no more than one redirect.
- Needs attention
- The URL goes through two or more redirects, or the final response is itself a redirect. It may work, but each hop adds delay and wastes crawl requests.
- Failed
- The final response is a 4xx client error or a 5xx server error.
How do I set up a permanent redirect?
Use a 301 (or 308) server-side redirect when a page moves for good. Google treats 301 and 308 the same and passes the old URL’s signals to the new one. Then update internal links to point straight at the new URL.
location = /old-page {
return 301 https://www.example.com/new-page;
}Redirect 301 /old-page https://www.example.com/new-pageasync redirects() {
return [{ source: '/old-page', destination: '/new-page', statusCode: 301 }];
}How do I fix a redirect chain?
A chain such as http://example.com → https://example.com → https://www.example.com → /new-page usually builds up over several migrations. Point every old URL directly at the final destination in one hop, and update internal links, canonicals and the sitemap to use the final URL. Googlebot follows up to 10 hops, but other crawlers give up sooner.
Frequently asked questions
Should I use a 301 or a 302?
Use 301 or 308 when the move is permanent. Use 302 or 307 only for a genuinely temporary move, such as a short promotion. If a 302 stays in place for a long time Google may treat it as permanent anyway.
What is a soft 404?
A page that says “not found” or is empty but returns 200. Google reports these in Search Console. Return a real 404 or 410 for missing pages instead.
Is 404 or 410 better for a deleted page?
Both remove the page from Google’s index over time. 410 says the removal is deliberate and can be slightly faster, but either is fine.
Sources
What this tool checks
Page returns a 200 status
Checks the final response status of the audited page is 200 OK.
Why it matters: A page that returns an error or unexpected status will not be indexed and signals a broken experience to users.
If it fails: Return HTTP 200 for pages that should be live and indexable.
Source: developers.google.com/search/docs/crawling-indexing/http-network-errors
Short redirect chain
Flags pages reached through more than one redirect.
Why it matters: Each redirect adds latency and a small chance of losing signals. One hop (e.g. HTTP→HTTPS) is fine; chains of three or more waste time.
If it fails: Point links and internal references directly at the final URL to remove intermediate hops.
Source: developers.google.com/search/docs/crawling-indexing/301-redirects
Related tools
- AI Crawler Blocked CheckerReads robots.txt and reports whether GPTBot, ClaudeBot, PerplexityBot and other AI crawlers are allowed in.
- Crawlability TestChecks status code, robots.txt, and noindex tag/header together — everything that decides whether a crawler can index the page.
- llms.txt CheckerChecks whether the site publishes an llms.txt file at its root and, if it does, that it has a title and markdown links.
- Googlebot SimulatorStrips the page to title, headings, readable text and links — what a basic crawler extracts.
- Noindex CheckerChecks the meta robots tag and the X-Robots-Tag header for noindex, and says whether the page can be indexed.
- Robots.txt CheckerChecks robots.txt exists, returns 200, and does not block this page.
Reviewed by Prabath Thalangama · Last updated