Skip to content
Free, unlimited

Can AI read this page?

Can an AI engine reach this page, work out what it is, and find a passage worth quoting? Twelve checks in three groups, with the fix for each. No score out of 100, and no points for llms.txt.

Free, unlimited, no signup. Any page. Reads the HTML you serve and your robots.txt, and asks no AI engine anything, so it costs nothing to run.

What this checks, and what each failure costs you

12 checks in three groups, on whatever page you give it, with the fix written out for each one. The groups are ordered by consequence rather than by convenience.

Reach

Whether a machine can get the bytes at all. Every one of these is blocking: if one fails, the rest of the list cannot help.

  • The page loads

    Requests the page as a browser would and checks it answers with readable HTML. Everything else assumes this passed.

  • Answer engines are allowed in

    Reads your robots.txt and checks it does not disallow any of the agents that build the indexes assistants search, or that fetch pages live while a user waits.

  • No noindex directive

    Looks for a noindex directive in the robots meta tag and the X-Robots-Tag header, either of which asks search and answer indexes to leave this page out.

  • A bot sees the same page a person does

    Requests the page a second time with an openly declared bot user-agent and compares how much text comes back. A large gap means an engine is reading a shorter page than your visitors see.

Understand

Whether an engine can work out what this page is without inferring it from the layout.

  • Title

    Checks the page has a title long enough to say what it is. It is the shortest description of this page an engine has, and usually the one it reuses.

  • Meta description

    Checks for a meta description, which is often the sentence an engine reuses verbatim when summarising you.

  • One clear h1

    Checks the page has exactly one h1. Several is the same as none: the subject is left ambiguous rather than stated.

  • The page declares what it is about

    Looks for an Organization, Product or Article node in JSON-LD naming what this page is about. It removes the guess about which company a name refers to. It does not earn a citation, and nobody should tell you it does.

  • Canonical URL

    Checks for a canonical link, so duplicate URLs consolidate into one page instead of splitting the signal between three.

Quote

Whether there is a passage here worth lifting. Assistants quote passages, not pages.

  • The text is in the HTML

    Counts the words present in the HTML before any script runs, which is what an agent that does not execute JavaScript actually sees.

  • Subheadings to quote from

    Checks the page is broken into sections with h2 headings. Assistants lift passages rather than pages, and a heading marks where a passage starts and stops.

  • Answers a question in the reader's words

    Checks at least one subheading is phrased the way a buyer would ask it, or that the page carries FAQPage markup. The passage most likely to be quoted is the one that restates the question before answering it.

The crawlers this counts, and the ones it does not

The distinction most of this category gets wrong in public, and the reason a scan can tell you to do something that costs you your content and buys you nothing.

Counted: these gate an answer

They build the indexes assistants search, or fetch your page live while somebody waits for a reply. Block one and you can genuinely stop being quoted.

  • OAI-SearchBot

    builds ChatGPT's search index

  • ChatGPT-User

    fetches a page when a user's question needs it

  • Claude-User

    fetches a page during a Claude conversation

  • Claude-SearchBot

    builds Claude's search index

  • PerplexityBot

    builds Perplexity's index

  • Perplexity-User

    fetches a page to answer a live question

  • Googlebot

    feeds Google's index, including AI Overviews

Reported, never counted: these train

Allowing them donates your writing to a training corpus. Refusing them does not remove you from an answer. Whether to allow them is a decision about your content, and this tool does not have an opinion about it.

  • GPTBot

    trains and grounds OpenAI models

  • ClaudeBot

    trains and grounds Anthropic models

  • Google-Extended

    controls Gemini grounding and training

Google-Extended is the arguable one and it sits on the training side deliberately. Google documents it as governing Gemini Apps and Vertex AI rather than Google Search or AI Overviews, and AI Overviews is what we actually measure, so counting it as blocking would let us report a risk we do not observe.

What this deliberately does not score

Every item here earns points somewhere else in this category. None of them is something we can show affects whether an engine names you, so scoring them would be inventing a requirement and then selling the fix.

  • llms.txt

    A proposed convention, not a standard. No engine has published that it reads one, and none of the five we scan has said it affects whether you are cited. We ship a generator for it because it costs nothing and may one day matter. Scoring a page on it today would be inventing a requirement.

  • Blocked training crawlers (GPTBot, ClaudeBot, Google-Extended)

    These govern whether your content trains a model, not whether an assistant names you. Allowing them donates your writing to a training corpus; refusing them does not remove you from an answer. The agents that do gate answers are checked above, separately, and those are worth acting on.

  • Word count and keyword density

    Borrowed from search ranking, where it was already weak. An assistant is choosing a passage to quote, and length is not what makes a passage quotable. We check that there is text at all, which is a different and much more common failure.

  • A single score out of 100

    Nobody can convert page properties into a probability that an engine names you, including us, and a number implies otherwise. This report counts checks passed and lists blocking failures separately, because one robots.txt line that shuts out every answer engine is not four missing meta descriptions.

  • Anything we could not establish

    If a fetch was refused or a file was unreadable, the report says so rather than scoring it as a fail. Absence of evidence is not evidence of absence, and a tool that treats a Cloudflare refusal as a finding will tell most of the internet it is broken.

Common questions

Because nobody can convert page properties into a probability that an assistant names you, and a number implies somebody can. Every scanner that prints one is adding up things it can see and presenting the total as a thing it cannot. This reports how many checks passed and lists the blocking failures separately, because one robots.txt line that shuts out every answer engine is not the same size of problem as a missing meta description.

GPTBot, ClaudeBot and Google-Extended govern whether your content is used to train and improve models. The agents that decide whether an assistant can quote you are different ones: OAI-SearchBot, Claude-SearchBot, PerplexityBot, Googlebot and the live user-initiated fetchers. This check tests those, and reports blocked training crawlers separately without counting them against you, because allowing them is a decision about your content rather than a fix for your visibility.

We request the page twice, once with a browser user-agent and once with an openly declared bot one, and compare how much text comes back. A large gap means an engine is reading a different, shorter page than your visitors see, usually because of a paywall, an interstitial or a bot wall. It is the finding most likely to explain a page that looks fine and gets quoted from oddly.

It matters if the content only exists after JavaScript runs. Several of the agents that gate citation fetch HTML and do not execute scripts, so a client-rendered route can serve them an empty shell. The served-text check counts the words present in the HTML before any script runs, which is what those agents actually see.

No, and this is the honest limit of every page-level scan including this one. These checks establish that an engine can read you, identify you and find something to quote. Whether it then names you depends on what it has read about you elsewhere: third-party pages, comparisons, forums, listicles, and what your competitors have that you do not. Measuring that means asking the engines, which is a different tool.

Two page requests and a robots.txt request, so effectively nothing, which is why it has no cap and needs no account. Our visibility check does cost real money because it queries five AI engines many times over, and that is the one thing on this site that is metered.

Readable is not the same as recommended

Everything above is a property of your page, and every page-level scanner in this category stops here and calls the total a score. It is not one. Whether an assistant actually names you when a buyer asks is a separate measurement, and the only way to take it is to ask the engines.