Skip to content
RU

Methodology · Open formula

AI-Readiness Score methodology v1.1

Open A–F formula: 20 checks, 28 points, a letter by the share earned.

TL;DR. The AI-Readiness grade of /ai-check (v1.1) sums 20 checks worth 28 points: files on the site (13), robots.txt (5) and the homepage (10). The letter is the share of 28 earned: A from 90%, B from 70%, C from 50%, D from 30%, F below. Every check counts toward the maximum, the ones /ai-check calls informational or optional included. The checks run in api/ai-check.php; the «citation readiness» block shown next to the grade is a separate score and is not part of it.
Files on the site13robots.txt5The homepage10
Changelog. v1.1 (2026-10-05) — the formula did not change; its description did. Since publication this page had described a formula the check never computed: 28 points, not 30; ai-plugin.json is looked for at the site root, not in /.well-known/; llms-full.txt, rel="llms-txt", meta ai-content/ai-license and «linked from RSS» are not checked; X-Robots-Tag earns 2 for any value without noai, not for «index, follow»; robots.txt earns 3 for three explicitly allowed AI bots, not ten, and 0 if any listed bot is blocked; Content-Signal is worth 1, not 2; the A2A card is worth 1, not 2; author signals are meta author, article:author and a JSON-LD author, not sameAs and a byline; OpenAPI is /openapi.yaml, not a link from agents.json; the four «buckets» were not in the code — the grade is one sum. v1.0 (2026-05-05) — first publication.

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 maximumGrade
≥ 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.

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.

Run an AI-readiness check →

Calculator

Pick the outcome of each of the twenty checks — the grade is computed as /ai-check computes it.

--
A


  
Check my site →