Agent readiness check

Scores any public site on the signals AI agents and crawlers actually read — llms.txt, robots.txt, sitemaps, AGENTS.md, markdown negotiation, bot-access signals, protocol discovery and up to 25 pages of metadata. About 20–45 seconds. No sign-up.

90+ checks · results get a permalink and a .md twin

Recent scans

live
HostLevelScoreWhen
jobsaicopilot.com L0 17/100 12d
johnlacorte.com L0 17/100 2026-08-24
www.herringbickers.com L1 56/100 2026-08-24
www.browarddefender.org L1 45/100 2026-08-23
www.whosbest.org L4 94/100 2026-08-23
example.com L0 28/100 2026-08-23
www.wte.net L1 21/100 2026-08-23

Top scores

all time
HostLevelScoreRank
www.whosbest.org L4 94/100 #1
www.herringbickers.com L1 56/100 #2
www.browarddefender.org L1 45/100 #3
example.com L0 28/100 #4
www.wte.net L1 21/100 #5
jobsaicopilot.com L0 17/100 #6
johnlacorte.com L0 17/100 #7

What gets checked

  • S1–S15Site-wide — llms.txt exists and is served as text/plain, robots.txt allows AI crawlers, sitemap.xml validity and lastmod, sitemap.md, AGENTS.md sections, HTTPS, root OpenAPI.
  • L1–L10llms.txt lint — H1 title, blockquote summary, H2 link sections, link format, sampled links resolve, Optional section, llms-full.txt.
  • P1–P24Per page — HTTP 200, redirects, canonical, description, Open Graph, lang, JSON-LD and required fields, headings, text-to-HTML ratio, markdown mirror + frontmatter, alternate/Link headers, content negotiation, JS-render dependency.
  • M1–M4Markdown negotiation — Serves text/markdown on request, Vary: Accept, 406 on unsatisfiable Accept, q-values.
  • B1–B5Bot access — AI-bot rules, Content-Signal, Link headers on the homepage, DNS-AID records, Web Bot Auth directory.
  • C1–C16Protocol discovery — MCP server card, A2A agent card, Agent Skills, API catalog, OAuth metadata, security.txt, OpenAPI, auth.md, UCP/ACP/x402, content parity for GPTBot — informational unless present.
  • A1–A23Accessibility — Static-DOM rules on the homepage: alt text, labels, accessible names, heading order, landmarks, lang, viewport zoom, ARIA validity. Separate score.

Agent Readability score = passed ÷ graded over the site-wide and per-page checks (warn counts as a miss; n/a and unreliable are excluded). Bands: Excellent ≥ 90, Good ≥ 70, Fair ≥ 50. Accessibility never affects the main score. The 0–5 level ladder follows the isitagentready model.

How it works

  1. Enter a URL. Any public site. Pick 5, 10 or 25 pages to sample from its sitemap (the homepage is always included).
  2. Watch the scan. Progress streams live: page discovery, site checks, llms.txt lint, per-page checks, markdown negotiation, bot access, protocols, accessibility, scoring.
  3. Fix what matters. The report ranks the next-level requirements, gives a copyable fix and an AI prompt per failed check, and has a permalink plus a Markdown twin you can hand to an agent.

Frequently asked questions

What is the Agent Readability score?

The share of graded site-wide and per-page checks that pass, 0–100, in the style of Vercel's agent-readability audit. Excellent is 90+, Good 70+, Fair 50+. Warnings count as misses; not-applicable and unreliable checks are excluded.

What are the levels?

A 0–5 ladder modelled on isitagentready.com: Level 1 basic crawlability (robots.txt, sitemap.xml or Link headers), Level 2 explicit AI-bot policy and Content-Signal, Level 3 markdown negotiation, Level 4 at least one agent integration (MCP, A2A, Agent Skills or an API catalog), Level 5 auth and trust signals.

Does the scan change or store anything on my site?

No. It only fetches public URLs with the user agent WhosBest-Validator/2.0, respects robots.txt for page sampling, and caps each request at 10 seconds and 2 MB. Results are cached per host for about 10 minutes.

Is it free, and is my result public?

Free, no account. Public scans appear on the leaderboards; tick "Hide from public leaderboards" before scanning, or use "Hide my domain" on the report, to keep a domain off them.

Can I get the result as data?

Every report has a permalink, a Markdown twin (.md) with a what-to-fix-first list, a JSON endpoint and an SVG badge you can embed.