Free tool
How readable is your site to AI agents?
Assistants and agents already visit your site to gather answers for your future customers. The Agent Readiness Score checks how much of what you publish they can actually use, and tells you exactly what to fix.
sample score · run yours free
the rubric
A transparent rubric, not a black box.
The score is built from concrete, inspectable checks: whether your site serves clean, parseable content; whether your robots rules invite or block the AI crawlers you presumably want to be cited by; whether an llms.txt exists and says something useful; whether your key pages carry structured data that machines can read; and how your site responds to verified agent requests. Every check comes with a pass, a fail, or a number, plus a plain-language explanation of why it matters and how to fix it.
We publish the rubric. A score you cannot inspect is an opinion with a percentage sign.
why it matters
Being read well is the prerequisite for being recommended.
Assistants answer with what their crawlers and live agents find. A site that is hard for machines to parse is quietly underrepresented in the answers your customers hear. The fixes are usually unglamorous and fast: a robots adjustment, a missing llms.txt, structured data on the pages that matter. The score turns “we should be more AI-friendly” into a checklist with an order.
after the score
The score tells you if machines can read you. Voris tells you if they do.
Once your site is readable, the next question is who is actually reading it. Voris verifies AI agents at the door, gives AI referrals their own channel, and keeps a humans-only view of your real metrics one click away. Meet the readers themselves in the AI crawler directory.
Every check, and how to fix it.
When the score flags something, it links straight to the fix here. The checks are grouped by the ladder the score climbs, so start at the lowest rung with a gap and work upward. Most of this is good web hygiene that simply matters a great deal more now that some of your readers are machines.
level 1
Basic web presence
The plain web hygiene everything else builds on. Most sites pass several of these already; fewer pass all seven.
Allow known AI crawlers in robots.txt
Plenty of sites blanket-block AI crawlers through an inherited default that nobody chose on purpose. Check that yours does not, and keep every block a deliberate one. Every other fix on this page is moot if the front door is bolted.
Publish a sitemap
The oldest item on this list and still one of the most useful. Serve /sitemap.xml and point to it from robots.txt with a Sitemap: line, so agents can enumerate your pages instead of discovering them one link at a time.
Add structured data
Embed JSON-LD, or microdata, so agents read your entities directly instead of inferring them from prose. It is the single highest-impact fix, because it removes the guesswork. Start with the pages that matter most commercially, then expand.
Declare a Schema.org type
Structured data gives an agent the facts. The Schema.org type tells it what it is looking at in the first place. Mark products as Product and articles as Article, and always reach for the most specific type that fits.
Use semantic landmarks and ARIA labels
Semantic landmarks give your page a skeleton an agent can read, and ARIA labels name the interactive parts. It is the same work that makes your site better for screen readers, so one effort serves two audiences.
Speed up your no-JS response
Agents request the raw HTML and rarely run your JavaScript. Return the initial document in under 800 milliseconds for a no-JS fetch, or an agent may time out and quietly down-rank your origin as slow.
Reduce no-JS page weight
Agents work within budgets for time and size. Keep the no-JS document under 2MB so they can fetch and parse it comfortably. Right-size your images and drop unused code, and your human visitors get faster pages too.
level 2
Bot-aware
Signals that tell AI crawlers what they may fetch and how they may use it, and the clean content surfaces they prefer to read.
Declare explicit AI-crawler rules
Most robots.txt files say nothing about AI crawlers at all, which reads as a policy nobody chose. Add named User-agent records for the crawlers you allow or deny, GPTBot, ClaudeBot and the rest, so your intent is explicit and machines do not have to guess it.
Declare a Content-Signal usage policy
Content-Signal is a newer robots.txt directive that states what AI may do with what it fetches: use it in search, quote it as input, or train on it. One line in a file you already serve, and your position moves from implied to stated.
Verify Web Bot Auth signed requests
Web Bot Auth (built on the RFC 9421 signing standard) lets an agent prove it is who it claims to be. Verify those signed requests at your origin and you can admit trustworthy agents with confidence. This one is more technical, so it tends to sit with your developers.
Publish a well-formed llms.txt
Serve a file at /llms.txt with a clear H1 title and link sections, so agents can find your canonical content rather than guessing at it. If you would rather not start from a blank page, our llms.txt generator scaffolds one in about two minutes.
Link canonical feeds from llms.txt
Once your llms.txt exists, point agents at your canonical product or data feeds instead of leaving them to scrape HTML. For commerce especially, that is the difference between an agent guessing at your catalogue and reading it exactly as you maintain it.
Offer a Markdown rendering
Agents pay for every token they parse, and your HTML carries plenty they do not need. Answer requests for text/markdown with a Markdown rendering of the page, and they read the same content clean and small. Human visitors keep the full page; nothing changes for them.
level 3
Discoverable
Typed pointers, most of them under /.well-known/, that turn discovery from scraping into a lookup. The standards here are young, and adopting them is mostly a matter of publishing a few small static files.
Emit typed Link headers
A Link response header with typed relations tells an agent where your related resources live, the API, the feed, the alternate formats. It arrives in the first round trip, before any HTML parsing starts.
Publish a /.well-known/api-catalog
An api-catalog document, defined by RFC 9727, lists your machine-readable APIs at one predictable address. Agents that want more than your HTML check it first, so publishing one is the difference between having an API and being findable as one.
Publish an MCP server card
If you run a Model Context Protocol server, publish a server card under /.well-known/mcp/ so agents can discover it and connect on their own. The card carries what a client needs to start a session: where your server lives and what it offers.
Publish an A2A agent card
An A2A agent card under /.well-known/ describes your agent’s capabilities and endpoints in the format other agents expect. One fetch, and the other side knows what yours can do and how to reach it.
Publish an agent-skills index
An agent-skills index under /.well-known/ lists the skills your site exposes, so a visiting agent knows what it can ask of you without probing. If you have built capabilities for agents, this is where you say so.
level 5
Transactional
The top rung applies to commerce sites, where the agent completing a task may be completing a purchase. (Level 4, agent-native, has no public checks in rubric v2 yet.)
Add autocomplete attributes to forms
When an agent completes a purchase or a signup for someone, it needs to fill your forms. Standard autocomplete tokens on your shipping and billing fields tell it what each field expects, so checkout does not stall. Browser autofill gets better for your human visitors at the same time.
Readable today. Measured tomorrow.
Fix what the score finds, then watch the agents arrive. The free plan covers your first site.