Checks one page and its site for the signals AI search relies on: whether AI crawlers may fetch it, whether it has structured data, whether its content is in the raw HTML, whether it is divided into quotable sections, and whether an llms.txt exists. It gives a score out of 100 from a published rubric, and a list of fixes in order. For founders who want to be found and cited by AI assistants.
How to use it
Enter the address of the page you most want cited, usually your home page. You can leave out https://.
- Type or paste the page address and press Run check.
- Read the score and the points by category to see where the points were lost.
- Work through the findings from the top. Critical ones usually stop assistants from using the page at all.
- Follow the next-step link on a finding to the tool that fixes it, then run the audit again.
How Reavlo tests this
This tool runs on our server, because a browser cannot read another site's files. Nothing about the request is stored or logged: not the address, not the page. The audit fetches the page, /robots.txt and /llms.txt, three requests in all, each with a size cap and a time limit. Addresses that point to private or internal networks are refused before any connection is made.
The rubric. The score is out of 100 and follows rubric 1.0.0, shown under How this is scored. It has five categories: AI crawler access (30 points), content in the raw HTML (25), structured data (20), quotable structure (15) and llms.txt (10). A category earns all its points when none of its checks fail. When checks fail it loses a share of its points set by the most serious failure: all of them for a critical finding, half for a warning and a quarter for an info finding. The categories are added and rounded. Bands are Needs work (0 to 59), Solid (60 to 84) and Strong (85 to 100). A page that cannot be read earns no points for its structured data and structure.
Crawler access. Each crawler in the Reavlo ai-user-agents dataset is tested against your robots.txt as RFC 9309 defines, at the root path. Blocking a crawler used for AI search is critical, because it keeps the site out of those answers. Blocking a training crawler is only an info finding, because it is a legitimate choice. A noindex robots meta tag on the page is a warning.
Content. The same reading as the No-JavaScript Content Check: a page with almost no text in its raw HTML that loads scripts is critical, because most AI crawlers do not run JavaScript.
Structured data. JSON-LD blocks are parsed and their types listed. A block that is not valid JSON, or no JSON-LD at all, is a warning. The audit does not judge whether the properties of a type are complete; the Schema Markup Generator does.
Structure. One h1 and at least two h2 or h3 headings. Short sections under clear headings are the passages an assistant can quote.
llms.txt. Present and following the proposed format, or not. This is a proposal that no assistant is required to follow, so it is worth only 10 points and a missing file is an info finding.
Limits. The audit reads one page and the site's robots.txt and llms.txt. It does not run JavaScript, measure speed, check links or test what any assistant actually answers. A high score means the signals are in place, not that an assistant will cite you.
Questions
Is the address I enter stored?
No. The address goes to our server only to fetch the page and two files, and neither it nor the files are stored or written to a log. Analytics records only that the tool ran, never the address.
Will a high score get me cited by AI assistants?
No tool can promise that. The score says the technical signals are in place, which is necessary but not enough. Whether you are cited also depends on your content and on what people ask.
Why is blocking GPTBot not penalized as much as blocking OAI-SearchBot?
GPTBot collects content that OpenAI may use for training, and blocking it is a common choice. OAI-SearchBot powers search results in ChatGPT, so blocking it keeps you out of those answers.
Why does an empty shell cost so many points?
Most AI crawlers read only the HTML the server sends. If the text is added by JavaScript, they see an empty page and have nothing to cite, so no other signal can make up for it.
Do I need an llms.txt?
It is optional. It is a proposal and the major assistants have not promised to read it, so it carries few points. It is cheap to add, and the llms.txt Generator drafts one from your sitemap.