Tools
AI Visibility Checker (GEO Audit)
Use this AI visibility checker to see whether ChatGPT, Perplexity and Google AI Overviews can read and cite your page. It checks AI crawler rules in robots.txt, your llms.txt file, structured data and how citable your content is, then gives a GEO score out of 100 with a priority to-do list. Free, no sign-up.
Result
- Access0/25
- llms.txt0/5
- Structured data0/20
- Entity and trust0/15
- Citable content0/25
- Rendering without JS0/7
- Sitemap0/3
After the check, the fixes that raise the score most are listed here.
- 80-100Ready
- 60-79Needs work
- 0-59Weak
How is the score calculated?
Each check has a weight, and the weights add up to 100. A good result earns the full weight, a warning half, a missing item nothing. Checks that could not be measured are left out. If the page cannot be indexed or Googlebot is blocked, the score is capped at 49. Blocking training bots does not lower the score.
Score = Σ (weight × factor) ÷ Σ measured weight × 100Factor: Good 1 · Warning 0.5 · Missing 0- Access25
- llms.txt5
- Structured data20
- Entity and trust15
- Citable content25
- Rendering without JS7
- Sitemap3
How do you use the AI visibility checker?
- Enter the page URL
Use your homepage or any content page you want AI answers to cite. In practice, the check works per page, so test your key templates one by one.
- Press Check
The tool reads the raw HTML, robots.txt, llms.txt and sitemap from our server. This usually takes 3 to 20 seconds, and we also store nothing.
- Read the score and category bars
The ring shows the GEO score out of 100, and the bars next to it show the seven category scores. Specifically, a red bar marks the area to look at first.
- Start with the priority to-dos
The list ranks the five fixes that raise the score most. Then click one to jump to its row in the report, where you see the reason and a concrete fix.
- Check the bot table and copy the report
The table in the Access section shows the robots.txt decision for 14 AI crawlers. After that, copy the report and share it with your team.
How is the GEO score calculated?
Each check has a weight, and the weights add up to 100. In addition, a good result earns the full weight, a warning half and a missing item nothing. The category weights are:
status code 5 + noindex 6 + snippet 4 + search bots 10llms.txt 4 + llms-full.txt 1JSON-LD 4 + entity 5 + sameAs 3 + logo 2 + WebSite 1 + page type 3 + breadcrumb 2HTTPS 3 + author 4 + dates 4 + about and contact 4single H1 3 + question headings 4 + direct answer 5 + lists and tables 3 + depth 5 + external sources 3 + H2 structure 2content without JS 5 + title and description 2 + sitemap 2 + lastmod 1Score = Σ (weight × factor) ÷ Σ measured weight × 100For search bots the factor is the share of allowed bots: if 7 of 8 are open, the page earns 8.75 of 10 points. Checks that could not be measured stay out of the total. If the page cannot be indexed or Googlebot is blocked, the score is capped at 49. However, blocking training bots does not lower the score.
Sample findings and their score impact
The rows are sample scenarios; when every check is measured (a total of 100), the tool gives exactly these results.
| Finding | Check and weight | Status | Score impact |
|---|---|---|---|
| Only OAI-SearchBot blocked | Search bots, 10 | Warning: 7 of 8 bots open | −1.25 points |
| GPTBot and ClaudeBot blocked, search bots open | Training bots, 0 | Info | No impact |
| The page has noindex | Indexability, 6 | Missing and critical | −6 points; total capped at 49 |
| No llms.txt at the site root | llms.txt, 4 | Warning | −2 points |
| First paragraph of 120 words | Direct answer, 5 | Warning | −2.5 points |
| Only one sameAs profile in the schema | sameAs, 3 | Warning | −1.5 points |
| 30 words in the raw HTML, empty #root | Content without JS, 5 | Missing | −5 points |
If a check cannot be measured, the total shrinks and each impact grows slightly in proportion. The tool rounds the final score to a whole number.
AI crawlers: who visits and why?
The table relies on each company's own bot documentation. Blocking search and user bots lowers visibility; blocking training bots, on the other hand, is a content policy decision.
| Bot | Company | Purpose | If you block it |
|---|---|---|---|
| Googlebot | Google Search, AI Overviews and AI Mode | The page drops out of Search and the AI features | |
| Google-Extended | robots.txt token for Gemini training and grounding in some systems | Google Search and AI Overviews stay unaffected | |
| OAI-SearchBot | OpenAI | Showing sites in ChatGPT search results | You lose the chance to be a source in ChatGPT search answers |
| GPTBot | OpenAI | Collecting content for foundation model training | Your content stays out of training; search is not directly affected |
| ChatGPT-User | OpenAI | Reading a page a user asks about | OpenAI says robots.txt rules may not apply to these requests |
| Claude-SearchBot | Anthropic | Search result quality in Claude | Anthropic says visibility and accuracy may drop |
| ClaudeBot | Anthropic | Collecting content for model training | Future content of the site stays out of training data |
| PerplexityBot | Perplexity | Showing sites in Perplexity search; not for model training | You do not appear as a source in Perplexity results |
| Perplexity-User | Perplexity | Page visits for a user question | Perplexity says these requests generally ignore robots.txt |
Source: bot documentation from Google Search Central, OpenAI, Anthropic and Perplexity. OpenAI and Perplexity both note that a robots.txt change can take about 24 hours to reach their systems.
What does the AI visibility checker measure?
An AI visibility checker measures how ready a page is to be read and cited by systems such as ChatGPT, Claude, Perplexity and Google AI Overviews. Talha Aslan and the team built this one from the checks we run in client audits every day. It scans a single page with 29 checks in seven categories and returns a GEO readiness score out of 100.
- Access: status code, noindex, snippet limits and the AI bots in robots.txt.
- llms.txt: whether the file exists and how it is formatted.
- Structured data and entity: schema types, sameAs, logo, author and dates.
- Citable content: heading structure, the first paragraph, lists, tables and sources.
- Rendering and sitemap: whether content shows without JavaScript, and lastmod.
The score measures readiness; it does not predict rankings. Nobody can guarantee which source an AI answer will pick. However, the gaps this test finds are the technical barriers that lower your chances from the start. For the full strategy, see our AI SEO (GEO) services.
What is the difference between a search bot and a training bot?
AI companies do not visit sites with one bot but with several, each with its own purpose. Therefore, knowing the difference is the most important part of your robots.txt decisions. For example, OpenAI documents OAI-SearchBot as the bot that surfaces sites in ChatGPT search results, while GPTBot collects content that may be used to train its foundation models. ChatGPT-User reads a page live when a user asks about it.
Anthropic runs the same trio: Claude-SearchBot for search quality, ClaudeBot for training and Claude-User for user questions. Perplexity, in turn, states that PerplexityBot surfaces sites in its search results and is not used to train foundation models.
So blocking a training bot does not directly lower your search visibility, whereas blocking a search bot removes your chance to be a source on that platform. That is why our tool leaves training bots out of the score and lists them as info only. You can write separate groups for each decision with the robots.txt generator. For details, see the OpenAI crawler documentation.
How do robots.txt, noindex and nosnippet affect AI visibility?
Google has no separate rulebook for its AI features. Google Search Central states that to appear as a supporting link in AI Overviews or AI Mode, a page must be indexed and eligible to show in Search with a snippet. In other words, a robots.txt rule that blocks Googlebot, or a noindex tag, also removes the page from these features. As a result, our tool treats both as critical and caps the score at 49.
Snippet controls are more subtle. Google says you can limit what it shows with nosnippet, data-nosnippet, max-snippet or noindex. If you put nosnippet on the whole page, AI Overviews cannot quote any text from it. If you only need to hide one part, data-nosnippet is the better choice instead.
Google-Extended is a separate matter. This token controls Gemini training and grounding in some other Google systems; it has no effect on Google Search or AI Overviews. You can read the official guidance on Google's AI features page.
Do you really need llms.txt?
llms.txt is a Markdown file at your site root that gives AI agents a summary of the site and its most important pages. The llmstxt.org proposal defines the format: a single # heading, a short summary that starts with >, and link lists under ## sections.
We want to be honest here: llms.txt is not an official standard. Google says plainly that you do not need new machine readable files or AI text files to appear in its AI features. Moreover, there is no public, definitive list of AI systems that read the file on a regular basis.
That is why our tool gives llms.txt only 5 of the 100 points. Still, it is a low cost step. On sites with documentation, product or service catalogs in particular, it helps agents reach the right page quickly. You can build yours from your sitemap in a few minutes with the llms.txt generator.
Why do structured data and entity clarity matter?
When AI systems write answers, they treat concepts and brands as entities. Saying clearly who owns the page, who wrote it and which official profiles belong to the brand helps the brand get named correctly. The clearest way to do this is structured data in JSON-LD format.
Specifically, in this category the test looks at:
- An Organization, LocalBusiness or Person schema and its name.
- Official profiles in the sameAs array, for example Wikipedia, Wikidata and LinkedIn.
- A logo for an Organization and an image for a Person.
- WebSite, a page type (Article, Product, Service, FAQPage) and BreadcrumbList.
Keep one limit in mind, though: Google says its AI features need no special markup. Schema alone does not make a page citable; it reinforces trust when it matches the visible content. You can write error free markup with the Schema generator and read more in our schema markup guide.
How do you write content that AI answers can cite?
AI answers rarely use a whole page. Instead, they use a short part that answers one question directly. If your content presents these parts in a way that is easy to pick out, your chance of being cited rises. That is why the test looks at structure.
- Single H1: state the main topic of the page in one heading.
- Question style subheadings: at least one in five H2 and H3 headings should be a question users ask.
- Direct answer: the first paragraph below the H1 should define the topic in 40 to 80 words.
- Lists and tables: present steps, comparisons and features in a structured way.
- External sources: link numbers and claims to primary sources.
These thresholds are our practical benchmarks, not Google rules. Also, word count alone is not a ranking signal; what matters is that the page fully answers the real questions on the topic. We cover the writing side with examples in our guide on how to write content for AI Overviews.
Can AI bots see content that JavaScript builds?
Googlebot can process JavaScript, but it does so in a rendering step separate from crawling. For the other AI crawlers there is no detailed public documentation that says they run JavaScript. The safest assumption, therefore, is that a bot sees the raw HTML your server sends.
Likewise, our tool reads the page without running JavaScript. If the raw HTML holds more than 150 words, the content comes from the server. If it holds fewer than 50 words and a container such as #root, #app or #__next is empty, the page most likely builds in the browser. As a result, many bots see an empty page.
The fix is not to drop your framework but to send the content from the server. Frameworks such as Next.js, Nuxt and Astro offer server side rendering (SSR) and static generation, and prerendering works for single page apps. We explain how we set up the technical base in technical SEO after AI.
How should you read your AI visibility checker results?
First, a score of 80 or more shows a page that is technically ready. Between 60 and 79 there are a few important gaps; below 60, look at the Access and Rendering categories first. The priority list ranks fixes by the points they add, so following that order is the fastest route.
Keep three limits in mind when you read the result:
- The tool only reads robots.txt rules. If a firewall such as Cloudflare blocks bots on top of that, the tool cannot see it; check your server logs too.
- The test works per page. Your homepage may score well while your blog posts fall short, so test key templates separately.
- A high score does not guarantee a mention in an answer. How other sites talk about your brand and the original value of the content matter as well.
In short, this test makes the technical and structural barriers you control visible. For the rest of the strategy, our GEO guide is a good place to start.
Common AI visibility mistakes
- ✕MistakeBlocking every AI bot with one rule under User-agent: *.✓Do this insteadManage search, user and training bots in separate groups, and close only the training bots you do not want.
- ✕MistakeAssuming that blocking Google-Extended removes you from AI Overviews.✓Do this insteadGooglebot access, noindex and nosnippet control AI Overviews; Google-Extended does not affect Search.
- ✕MistakeTreating llms.txt as a ranking signal.✓Do this insteadAdd the file as a low cost helper; access, content structure and entity signals do the real work.
- ✕MistakeBuilding content only with JavaScript in the browser.✓Do this insteadServe the main text in the raw HTML through SSR, static generation or prerendering.
- ✕MistakePutting facts in the schema that the page does not show.✓Do this insteadKeep structured data fully consistent with the visible content.
- ✕MistakeOverlooking a firewall that blocks bots.✓Do this insteadEven when robots.txt allows a bot, review WAF and bot protection rules and check bot requests in your server logs.
Frequently Asked Questions
Get your brand named in AI answers, not your competitor.
Talha Aslan and the team work on content structure, entity signals and technical access together to help your brand become a source AI answers cite.





