AI Product Index / The agent-readability checklist

The agent-readability checklist

Twenty checks, 122 points, and the reasoning behind each weight. This is the whole checklist the audit scores against — published in full, because what is worth paying for is the diagnosis of your site, not secrecy about what good looks like.

Generated from the same constants the scorer reads, so this page and the product cannot disagree. Run it against your own site free: https://index.percall.dev/api/score?url=…

The 2025 checks (13, 105 points)

Established signals. Every grade this site has ever published was produced by these alone.

checkweightwhy it matters
llms.txt published 15
It is the first file an arriving agent fetches after robots.
schema.org JSON-LD on the page 15
Structured data is the difference between a model guessing what your page is about and being told.
AI crawlers not blocked 10
A Disallow that names GPTBot or ClaudeBot is a decision to be absent from the answers those models give.
agent card at /.well-known/agent-card.json 10
It is what turns a page into a tool: a machine-readable statement of what you can be asked to do.
sitemap.xml published 8
It is the only machine-readable statement of what pages exist.
machine-readable alternates advertised 8
It tells an agent that a JSON or Markdown version of this page exists.
title and meta description 7
The cheapest signal any extractor has, and the one most often left to a CMS default.
Open Graph tags 7
Agents reuse OG tags when they surface you in a card, the same way social platforms do.
llms.txt has a title and summary 5
The blockquote is what gets quoted.
llms-full.txt published 5
One fetch instead of twenty.
robots.txt published 5
Its absence is ambiguous rather than permissive, and several crawlers resolve ambiguity as "stay out".
canonical URL declared 5
Duplicate URLs split whatever reputation a page earns.
served over HTTPS 5
Several crawlers will not follow a plain-http origin at all, so this is less a ranking factor than a precondition.

The 2026 checks (7, 17 points)

Newer surfaces — Content Signals, the A2A 1.0 card path, MCP server cards, API catalogs, Agent Skills, markdown negotiation, Web Bot Auth. Every one is weighted below the cheapest 2025 check on purpose: under 15% of the web publishes them, so missing one is normal rather than negligent, and it must never cost what missing llms.txt costs.

checkweightwhy it matters
Content Signals declared in robots.txt 3
It states how your content may be used — search, AI answers, training — in the one place a crawler already looks.
A2A card at the 1.0 path 3
A2A reached 1.
Serves markdown to callers that ask for it 3
An agent parsing your HTML is guessing which parts are content.
MCP server card published 2
The discovery route for tool-using agents.
API catalog (RFC 9727) 2
RFC 9727.
Agent Skills index 2
It declares what an agent can accomplish on your site without reading your docs.
Web Bot Auth key directory 2
It lets you tell a real signed agent from anything that copied its user-agent string, and it lets callers verify your responses.

Why the weights are public

An audit whose scoring is secret cannot be argued with, and one that cannot be argued with is not worth much. These weights are judgements — that structured data matters more than Open Graph, that an absent llms.txt costs more than an absent Agent Skills index — and publishing them is what makes them reviewable. If one looks wrong, it probably is; the repository is open.

See how sites in this registry actually score: the leaderboard.