Methodology · Open formula
AI-Readiness Score methodology v1.1
Open A–F formula: 20 checks, 28 points, a letter by the share earned.
Files on the site — 13 pts
- 2 —
/.well-known/agents.json: 2 — valid JSON; 1 — file present, JSON does not parse - 1 —
/ai-plugin.json (site root): 1 — answers 2xx with a body. The content is not checked; the /.well-known/ai-plugin.json path is not looked at. - 2 —
/llms.txt: 2 — answers 2xx with a body. /llms-full.txt is not checked. - 1 —
/openapi.yaml or /.well-known/openapi.yaml: 1 — present, contains openapi - 1 —
/.well-known/http-message-signatures-directory: 1 — answers 2xx. Marked informational on /ai-check, yet part of the maximum. - 1 —
/.well-known/api-catalog: 1 — answers 2xx - 1 —
OAuth/OIDC discovery in /.well-known/: 1 — present. oauth-authorization-server or openid-configuration. Marked optional on /ai-check, yet part of the maximum. - 2 —
MCP server card: 2 — valid JSON. /.well-known/mcp/server-card.json, …/server-cards.json or /.well-known/mcp.json. - 1 —
/.well-known/agent-card.json: 1 — valid JSON - 1 —
/.well-known/agent-skills/index.json: 1 — valid JSON
robots.txt — 5 pts
- 3 —
AI bots in robots.txt: 3 — 3+ AI bots named, none blocked; 2 — OAI-SearchBot and GPTBot named; 1 — robots.txt present, any other case. A list of 15 bots: OAI-SearchBot, GPTBot, ChatGPT-User, PerplexityBot, ClaudeBot, anthropic-ai, Google-Extended, Bingbot, YandexAdditional, Meta-ExternalAgent, Applebot-Extended, Amazonbot, DeepSeekBot, MistralBot, GigaChat-Web. «Blocked» — Disallow: / for it or for *. - 1 —
Sitemap: in robots.txt: 1 — present - 1 —
Content-Signal: in robots.txt: 1 — present
The homepage — 10 pts
- 2 —
<link rel="ai-content"> in <head>: 2 — present - 1 —
meta robots or ai-robots in <head>: 1 — present, no noai/noimageai - 2 —
X-Robots-Tag header on the homepage: 2 — present, no noai/noimageai - 1 —
SpeakableSpecification in the homepage HTML: 1 — present - 2 —
Author signals on the homepage: 2 — 2+ of 3; 1 — one. Signals: meta name="author", meta property="article:author", "author": { in JSON-LD. - 1 —
Answer to Accept: text/markdown: 1 — text/markdown or text/plain - 1 —
Link header on the homepage: 1 — present
Grade letter mapping
Share of 28 points
| Share of the maximum | Grade |
|---|---|
| ≥ 90% | A |
| ≥ 70% | B |
| ≥ 50% | C |
| ≥ 30% | D |
| < 30% | F |
The AI-ready badge
The «AI ready» badge (/badges) uses a light formula: 20 each for /llms.txt, /.well-known/ai-plugin.json, /.well-known/agents.json and /.well-known/mcp/server-card.json answering 2xx, and 20 if robots.txt names GPTBot, ClaudeBot or PerplexityBot; capped at 100. Badge letters: A from 90, B from 80, C from 70, D from 60, E from 50, F below.
References
Versioning
Current version — v1.1, updated . Every change to the published formula — the weights or their description — is a new version with a line in the changelog above.
Calculator
Pick the outcome of each of the twenty checks — the grade is computed as /ai-check computes it.