Enter a URL and see the status code it answers with: 200, a 301 or 308, a 404, a 410 or a 5xx server error. The checker follows each redirect itself, names every code on the way, and tells you what the final answer means for Google, free and without an account.
One URL, hop by hop. A GET as VerandBot/1.0 with automatic redirects switched off. Each 3xx's Location is resolved, checked to be a public address, then requested in turn: up to 10 requests, 8 seconds each. Every status code is recorded. The response body is never read.
A final 2xx passes. A 4xx, a 5xx, no answer, a loop or a tenth hop still redirecting fails. A 301 or 308 on the way passes; a 302, 303 or 307 is marked review, because a temporary redirect is right for a login screen and wrong for a page that moved for good. The codes are the endpoint's; the verdict and the guidance are this page's reading of them.
The page itself, so a soft 404 (an error page served with 200) passes. JavaScript and meta-refresh redirects, which live in the body. What Googlebot or a browser would get: servers and bot walls can answer another user agent differently. One URL per run; for every link on a page, use the Internal Link Checker.
A redirect is a status code with a forwarding address, so the checker does the forwarding itself and writes down each code. The card below is the tool in motion on an example URL, looped, and each step lights up while the card is doing it.
Point the 301 at the closest live replacement, a page that answers 200.
The tool requests the URL you typed as VerandBot, with the browser habit of silently following redirects switched off. Whatever the server says first is what you see first, whether that is a 200, a 301 or a 404.
When the answer is a 3xx with a Location header, the address is resolved, checked to be public, and requested next. Each response adds one line: the URL, its status code and how long it took.
The last code decides the verdict: 2xx passes, 4xx and 5xx fail. The codes before it are read as permanent or temporary, and a loop or a tenth request still redirecting ends the run with a fail rather than a hang.
Each code gets guidance written for it: where a 404 should point, when a 410 is the right answer, what a 503 is for. The full hop-by-hop chain, with every Location and timing, lives on the Redirect Checker.
Three digits arrive before a single word of your page. They decide whether Google reads the page, follows it somewhere else, or drops it from the index. Here is what each class means, what Google says it does with it, and the one error a status check will always miss.
Every HTTP response opens with a status line: a three-digit code and a short reason phrase, such as 200 OK or 404 Not Found. It comes before the headers and before the body, and the browser mostly hides it from you, which is why a page can look fine on screen and still answer with an error code. A crawler reads it first and acts on it before it reads anything else.
That is the reason to check HTTP status directly instead of trusting what the browser shows. A status code checker asks the server the same question a crawler does and prints the answer as a number, so a redirect that happens too fast to notice, or an error page styled to look like content, shows up for what it is.
# what the server sends first, before any HTML HTTP/1.1 301 Moved Permanently Location: https://yourdomain.com/new-page # the request that follows the Location HTTP/1.1 200 OK Content-Type: text/html
The first digit is the class. 1xx codes are informational and you will rarely meet one on a finished page. 2xx means success: the server is handing over the content. 3xx means the content is somewhere else, and the Location header says where. 4xx means the request cannot be served as asked, the client's side of the problem. 5xx means the server failed. The table below is a short reference for the HTTP status codes you are most likely to see, with Google's handling taken from its own crawler documentation.
| Code | Name | What Google does with it |
|---|---|---|
| 200 | OK | Passes the content to indexing. Google notes that indexing may follow but is not guaranteed. |
| 301 | Moved Permanently | Follows it and treats it as a strong signal that the target is the URL to process. |
| 302 | Found | Follows it, but as a weak signal that the target should be processed. |
| 304 | Not Modified | Tells Google the content is the same as last crawl; otherwise no effect on indexing. |
| 307 | Temporary Redirect | Equivalent to 302 for Google. |
| 308 | Permanent Redirect | Equivalent to 301 for Google. |
| 403 | Forbidden | Handled like the other 4xx codes: the content is treated as not existing. |
| 404 | Not Found | Not indexed; a URL already in the index is removed. No effect on crawl rate. |
| 410 | Gone | Treated the same as 404. Google handles all 4xx codes alike, except 429. |
| 429 | Too Many Requests | Read as an overloaded server, like a 5xx: crawling slows down. |
| 500 | Internal Server Error | Crawl rate drops; URLs that keep failing are removed from the index. |
| 503 | Service Unavailable | A 5xx: crawling slows, indexed URLs are kept for a while, then dropped if it persists. |
Google also documents that its crawlers follow up to 10 redirect hops by default, and that the content of a redirecting URL is ignored in favour of the final target. This checker uses the same ceiling of 10, so a URL that runs out of hops here is one Googlebot would give up on too.
A redirect is a 3xx status code plus a forwarding address. The code states intent. 301 and 308 say the page has moved for good; 302 and 307 say it is elsewhere for now and the original address is still the real one. The difference between each pair is technical: 307 and 308 promise the browser will repeat the same request method, so a form that posts to a 308 posts again at the new address, where an old client might turn a 301 into a GET.
For search, Google treats 308 as a 301 and 307 as a 302, and says to use the code that matches what you mean, because other clients read them too. The practical rule is simple. A page that has moved and will not come back gets a 301 or a 308. A login screen, a short campaign or a page swapped out during maintenance gets a 302 or a 307. A temporary code on a permanent move tells Google to keep the old URL as the one that matters, which is rarely what the site owner wanted. This checker marks every temporary code for review instead of failing it, because only you know which case you are in. When the question is the chain itself, how many hops, where each one points and whether http, www and trailing-slash forms all land on one address, the Redirect Checker is built for that.
A 404 is not a penalty. It is the correct answer for a URL that has never existed or whose content is gone, and Google's documentation says a 4xx has no effect on how fast it crawls the rest of the site. What hurts is everything still pointing at the dead URL: internal links that send readers to an error, a sitemap that lists it, an old article that cited it. Those are the things to fix, not the 404 itself.
410 Gone says the removal was deliberate and permanent. Google treats it the same as a 404, so the choice between them is about honesty to other clients, not about search. The mistake to avoid is the reverse: a page that has a clear replacement should answer 301 to that replacement, the closest match rather than the homepage, so readers and links arrive somewhere useful.
A 5xx says the server failed to produce a response. Google slows its crawl when it sees them and, if the errors persist, removes the affected URLs from the index. A brief outage costs little; a template bug that returns 500 on one section of a site for weeks can empty that section from search. For planned maintenance, 503 Service Unavailable is the code meant for the job, and the HTTP standard lets it carry a Retry-After header saying when to come back. Serving maintenance as a 200 page tells every crawler that your content has been replaced by a "back soon" notice.
A soft 404 is an error page that answers 200 OK. The server says success; the body says "page not found", or shows an empty search result, or a product that no longer exists. Google looks at the content, decides it is an error, and reports it in Search Console as a soft 404 instead of indexing it. This checker reads only the status code, so it will pass a soft 404 as a clean 200, and so will every tool that checks status alone. If a URL you know is broken comes back 200 here, the fix is on the server: make the missing-page template send a real 404 or 410, and use Search Console's page indexing report to find the ones Google has already flagged.
A status code is the server's answer to one particular request, and servers look at who is asking. This checker identifies itself as VerandBot/1.0. A security plugin, a CDN bot wall or a country filter can answer that name with a 403 while serving Googlebot and your browser a 200, or the other way round, and a server that varies by device can redirect a phone somewhere a desktop never goes. When this checker and your browser disagree, that is usually the reason. The view that counts for search is Google's own: the URL Inspection tool in Search Console fetches the page as Googlebot. Google's documentation notes that its inspection tools do not follow redirects, so inspect the final URL, not the one that redirects to it.
Regulated firms move addresses more often than most. An advisor changes broker-dealer or RIA and takes a new domain, a practice merges, a law firm renames after a partner leaves. The old URLs do not go away: they are printed on brochures and business cards, encoded in QR codes, listed in bar and professional directories, and buried in years of client email. Each of those is a request to the old domain that should end in one permanent redirect to the matching new page. Run the old addresses from your own printed material through this checker. The answer you want is a 301 or 308 followed by a 200 on the right page. A 404, a 5xx or a redirect that dumps every old page on the new homepage means a client following your own card lands somewhere unhelpful.
Google's site-move guidance says to keep those redirects for as long as possible, generally at least a year. For printed material the practical answer is longer: the redirects only work while the old domain is still registered and pointing somewhere, so keep it renewed for as long as your old cards and listings are in circulation. The same habit helps before sending a tracked link in a client email: check where it lands before a client does.
Six things that are true of this tool, each one backed by a line in the code that runs it.
The request carries a URL and nothing else. There is no account, no session and no database behind the tool, so there is nothing for us to keep about you.
Redirects are followed one request at a time, so the card shows the status of the URL you typed and of each step after it, not just the page you ended up on.
A URL that points back to one already visited is reported as a loop, and a tenth request that still redirects ends the run. Each hop has an 8 second limit, so a dead server gives an answer instead of a spinner.
Before following a Location header, the tool confirms it points at a public address. A redirect aimed at a private or internal network is refused, not fetched.
The body is never read, so soft 404s and JavaScript redirects are out of reach, and the request comes from VerandBot, not Googlebot. The card says so beside the result.
A run is a few plain requests with no paid service behind them, so it costs nothing and is never metered. The one limit is a courtesy to the sites being fetched: 20 checks a minute per visitor.
What the codes mean, why answers differ, and what the checker never does to your site.
Intent. A 301 says the page has moved permanently and the new address is the real one; a 302 says it is somewhere else for now and the original address still counts. Google's documentation treats a 301 as a strong signal that the redirect target should be processed and a 302 as a weak one, and handles 308 like 301 and 307 like 302. Use 301 or 308 for a page that has moved for good, and 302 or 307 for a login screen, a short campaign or maintenance. This checker passes permanent codes and marks temporary ones for review.
404 Not Found and 410 Gone both say there is no content at this address. Google treats them the same: the URL is not indexed, an indexed one is removed, and crawl rate for the rest of the site is unaffected. Neither is a penalty; the problem is links and sitemap entries that still point at the URL. 500 Internal Server Error says the server failed. Google slows its crawl and, if the error persists, drops the affected URLs from the index, so a lasting 5xx is the more urgent of the three.
Because servers answer the request, and requests differ. Security plugins, CDN bot protection and country filters decide by user agent and IP address, so Googlebot, your browser and this checker, which sends VerandBot/1.0, can each get a different code. Browsers also cache 301 redirects and follow them without asking the server again. For the answer Google actually gets, use URL Inspection in Search Console on the final URL, since Google says its inspection tools do not follow redirects.
No, it checks one URL per run and reports every status code between the address you typed and the final answer. For the links on a page, use the Internal Link Checker, which reports which of them answer with an error. For a redirect chain in detail, and whether the http and www forms of a domain all land on one address, use the Redirect Checker. Verand's paid product crawls every page of a customer's site every two weeks, and that crawl is where site-wide broken-link and redirect checks live.
It is probably a soft 404: an error or empty page that the server sends with a 200 OK status. The checker reads only the status code, never the body, so it reports what the server claimed. Google reads the content, recognises the error and lists the URL as a soft 404 in Search Console instead of indexing it. The fix is on the server: make the not-found template send a real 404 or 410, or redirect the URL to its replacement.
It changes nothing. It sends one GET request per hop, up to 10, discards each response body unread, and has no access to your site. It refuses to fetch private or internal addresses, including when a redirect points at one. It is free with no account and no daily allowance; the only limit is 20 checks a minute per visitor, a courtesy to the sites being fetched. Run it after every migration, domain change or CMS update.
A page that answers is a page that can be found. Verand writes articles from your own expertise and credentials, so Google and the AI assistants have something of yours worth naming. It then tracks where you rank and where ChatGPT, Gemini, Perplexity, Claude and Google's AI answers mention you, and gates every draft so a claim your regulator would not allow never publishes.
Content built to rank in
Google and get cited by
ChatGPT
Perplexity
Gemini
Claude, with every claim checked before it goes live.