AI visibility checker
Paste any address. We check whether ChatGPT, Claude, Perplexity and Google's AI answers can reach the page, whether they can read it, and whether the facts a customer asks for are on it.
The crawlers this checks, and what each one is for
They are not one thing. Some build the index an assistant answers from, some open a single page because a person asked, and some collect text for training. Refusing the first kind hides you; refusing the last kind does not.
| Crawler | Kind | What it does |
|---|---|---|
| OAI-SearchBot OpenAI | Assistant search | Finds pages to show and link in ChatGPT search answers |
| Claude-SearchBot Anthropic | Assistant search | Indexes pages for search results in Claude |
| PerplexityBot Perplexity | Assistant search | Indexes pages to cite and link in Perplexity answers |
| Googlebot Google | Search engine | Google Search, which AI Overviews and AI Mode answer from |
| Bingbot Microsoft | Search engine | Bing Search, which Copilot answers from |
| ChatGPT-User OpenAI | On request | Opens a page when a ChatGPT user asks about it |
| Claude-User Anthropic | On request | Opens a page when a Claude user asks about it |
| Perplexity-User Perplexity | On request | Opens a page when a Perplexity user asks about it |
| GPTBot OpenAI | Training | Collects text that may be used to train OpenAI models |
| ClaudeBot Anthropic | Training | Collects text that may be used to train Anthropic models |
| Google-Extended Google | Training | A control, not a crawler: whether Google may use the site to train Gemini |
What this cannot see
- Whether an assistant mentions you. That depends on the question asked and on everything else the assistant has read. No tool outside those companies can measure it, and this one does not guess.
- A block at your firewall or CDN. robots.txt is a request. A security service can refuse AI crawlers by name or by network before it is ever read, and some do so by default. We fetch the page as ourselves, never under a crawler's name, so that kind of block does not show here.
- Facts on other pages. One page is checked. Hours that live on your contact page are not counted against this one being silent about them.
- Anything a script draws. A booking widget, a map, or a menu loaded after the page opens is not in the HTML we read. It is not in the HTML a crawler reads either, which is why it is worth knowing.
- What others say about you. Reviews, directories and local press are read too, and they are outside your site.
Passing everything here means the part you control is in order. It is not a ranking, and nobody should sell you one.
If something needs fixing
- A crawler is refused. Open your robots.txt (it is at yoursite.com/robots.txt) and look for the rule named in the table. If you did not write it, look for an "AI bots" or "block crawlers" setting in your site builder, security plugin or CDN.
- Hardly any text arrives. The page is being built in the browser. Ask whoever built it for server-side rendering, or put the essentials - who you are, where, when, how much - in the page itself.
- No structured description. The LocalBusiness schema generator writes the markup from a few answers. Paste it into the page and run this again.
- A fact was not found. Write it as text on the page a customer lands on: the phone number as digits, the hours by day, at least a starting price.
How this is worked out
Three requests are made: the page, the robots.txt of the host it answered from, and that host's llms.txt. The robots.txt is evaluated for each crawler by name as RFC 9309 specifies: a crawler obeys the group that names it and otherwise the wildcard group, the longest matching rule wins, and Allow wins a tie. A block on a search crawler or a search engine is reported as a fault, a block on an on-request fetcher as a warning, and a block on a training crawler as information only, because each vendor documents that training is separate from appearing in answers. The page is then read without running any script: the words left after scripts and styles are removed are counted, noindex and nosnippet are read from the page and from its X-Robots-Tag header, and the phone, hours, address, prices and a next step are looked for in the text and in schema.org JSON-LD. Those last five are pattern matches and are worded as "could not find". There is no score. The page is fetched as our own checker, never under a crawler's name, so a block applied by a firewall or CDN is not detected.
Standards and documentation it follows
- RFC 9309: Robots Exclusion Protocol
- OpenAI: overview of OpenAI crawlers
- Anthropic: does Anthropic crawl data from the web, and how can site owners block the crawler
- Perplexity: Perplexity crawlers
- Google Search Central: Google's common crawlers, including Google-Extended
- Google Search Central: robots meta tag, nosnippet and AI features
- schema.org: LocalBusiness
- llmstxt.org: the llms.txt proposal
Guides that use this
- How to Get Your Business Quoted by AI Search
- Should You Let AI Crawlers Read Your Website?
- Structured Data for Small Business Websites
Quoting this tool
Free to quote and link. Cite it as AI visibility checker, a free tool by Webkio, https://webkio.com/ai-visibility-checker. The method above is the whole
method, so a figure you quote can be checked by anyone with the same inputs.
Link to this tool
<a href="https://webkio.com/ai-visibility-checker">AI visibility checker</a> by Webkio
[AI visibility checker](https://webkio.com/ai-visibility-checker) by Webkio
Share your result
A link that opens this tool with your numbers already filled in, so the person you send it to sees the same result.