AI visibility checker

Score any page the way an answer engine reads it - ten dimensions, plus which AI crawlers can reach it

Enter a URL to score it

We fetch the page the way an AI crawler does - raw HTML, no JavaScript - score it on ten dimensions, and check which AI crawlers your robots.txt lets through.

What "AI visibility" actually means

Being indexed by Google and being quotable by an answer engine are different problems. Search ranks pages; ChatGPT, Perplexity, Gemini and AI Overviews extract passages from them. A page can rank in position three and still never be cited, because there is no clean, self-contained statement anywhere in it to lift.

This tool measures both, and never blends them into one number.

The first question: can they even reach it?

Before structure matters at all, the crawler has to be allowed in. That is three separate decisions your robots.txt makes, and most tools flatten them into one:

  • Retrieval crawlers - OAI-SearchBot, Claude-SearchBot, PerplexityBot. These produce citations. Blocking them removes you from AI answers.
  • User-triggered fetchers - ChatGPT-User, Claude-User. These run when someone pastes your link into a chat.
  • Training crawlers - GPTBot, ClaudeBot, CCBot. Blocking these has no effect on citation today. It is a legitimate business decision, not a defect, and we do not report it as one.

The second question: is there anything worth quoting?

Ten dimensions, 0 to 5 each. Does each section answer its heading in the first sentence, or warm up for a paragraph first? Are sections deep enough to contain an answer? Are there statistics, quotations, cited sources? Is the heading hierarchy intact? Is anything dated?

Measured versus estimated - the part we will not fudge

Seven dimensions are measured outright. Counting the words between two H2s is section depth; there is nothing a language model would add.

Three are estimates, and they are marked as such with a hatched bar. We can count quotation marks, spot number patterns and find outbound links to authoritative hosts. We cannot tell you whether a source carries weight or whether a statistic is the right one. Presenting those as measurements would make the score look more precise than it is - and it marks exactly where a model reading the page earns its keep.

Raw HTML, not the rendered page

No major AI crawler executes JavaScript. GPTBot, ClaudeBot, PerplexityBot and CCBot all read the HTML your server returns, so that is what we fetch. If your page builds its content client-side, what you see here is close to what they get - which is the whole point, and often an unpleasant surprise.

Measuring the exact gap between rendered and raw needs both fetches. Our free Chrome extension does that and reports it as a percentage; here we flag the case instead of inventing a figure.

Common questions

What is a GEO score?
Generative Engine Optimisation: how readable a page is to an answer engine rather than a search index. Ten dimensions, scored 0 to 5 each, summed and expressed out of 100 - answer-first structure, section depth, statistics, quotations, sources, FAQ presence, heading hierarchy, internal linking, image alt coverage and freshness. It is the same rubric the DraftCamp app uses, so the numbers are directly comparable.
Why are three dimensions marked "est."?
Because they can be counted but not judged. We can find quotation marks, statistics and outbound citations; we cannot decide whether a source carries weight or a statistic is relevant. Seven dimensions are measured outright - counting words between H2s genuinely is section depth. Marking the difference is what makes a score without a language model honest, and it is exactly where the paid audit adds something.
Does this see my page the way a browser does?
No, and that is the point. It fetches the raw HTML your server returns, with no JavaScript executed - which is exactly what GPTBot, ClaudeBot, PerplexityBot and CCBot see. If your page renders its content client-side, this tool shows you the emptiness they get, not the page you see.
Why does the report not show a JavaScript gap percentage?
Measuring that needs two fetches of the same page - one rendered, one raw - and comparing. A server can only do the raw half. Our free Chrome extension does both and reports the exact percentage. Here we flag when a page looks client-rendered rather than inventing a number.
Is blocking GPTBot bad?
Not necessarily, and any tool that tells you it is has conflated three different decisions. GPTBot is a training crawler - blocking it declines future model training and has no effect on whether you get cited today. Blocking a retrieval crawler like OAI-SearchBot or PerplexityBot is what removes you from AI answers. The report separates them.