Introducing the Agent Readiness score. Is your site agent-ready?¶
Summary¶
Cloudflare introduces isitagentready.com,
a Lighthouse-style scanner that grades a website against a four-
dimension agent-readiness rubric — Agent Discovery, Content for
LLMs, Access Rules, Agent Actions — plus a non-scoring Agentic
Commerce layer. The post pairs the tool with a new Cloudflare Radar
"Adoption of AI agent standards" dataset (scan of 200,000 most-
visited domains), an Agent Readiness tab on
Cloudflare URL Scanner (plus an
agentReadiness: true option on the URL Scanner API), and a
dogfooding write-up of how Cloudflare refined its own
developers.cloudflare.com to
become 31 % fewer tokens / 66 % faster than average non-refined
documentation sites when accessed by an agent (Kimi-k2.5 via
OpenCode benchmark). The article is
simultaneously a product launch, a web-wide adoption
measurement, a standards-curation artefact (names every relevant
agent-ready standard with citations and links), a playbook for
site owners and an architecture writeup (dynamic /index.md
via two Cloudflare Transform Rules,
split-per-subdirectory llms.txt, hidden agent directives in HTML,
Redirects for AI Training
to steer LLM crawlers away from deprecated docs).
Key takeaways¶
- Current web-wide adoption is near zero. Across 200 k filtered top-visited domains: robots.txt 78 % (nearly universal, but almost all authored for classical crawlers); Content Signals 4 %; markdown content negotiation 3.9 %; MCP Server Cards + API Catalog (RFC 9727) fewer than 15 sites in the entire dataset combined. Framed as opportunity — "a lot of opportunity to stand out by being one of the first sites to adopt new standards and work well with agents." (Source: this article; dataset on Radar AI Insights)
- Scoring axis #1 — Agent Discovery.
robots.txtboth defines crawl rules and points at sitemaps. Beyond sitemaps, agents can discover resources from HTTP response headers per RFC 8288 (Link: </.well-known/api-catalog>; rel="api-catalog") without HTML parsing. This is the Link response header surfaced as a first-class discovery primitive. - Scoring axis #2 — Content for LLMs.
llms.txt(plain-text reading list at site root, proposed September 2024) - Markdown content negotiation
(
Accept: text/markdown→ server returns markdown instead of HTML). Measured on real docs traffic: "up to 80 % token reduction" relative to HTML. Default isitagentready scan does not checkllms.txt— it checks only markdown content negotiation; users opt in to thellms.txtcheck. - Scoring axis #3 — Access Rules. Beyond allow/deny, the
Content Signals standard adds a
Content-Signal:directive torobots.txtwith three independent dimensions:ai-train(training use),ai-input(inference / grounding / RAG),search(search indexing) — valuesyes/no. Complemented by the Web Bot Auth IETF draft for friendly-bot self-authentication via Ed25519 signed requests (RFC 9421) whose public keys live at/.well-known/http-message-signatures-directory. - Scoring axis #4 — Agent Actions. Three standards:
(a) API Catalog (RFC 9727)
at
/.well-known/api-catalog— one JSON document lists all public APIs + specs + docs + status endpoints; (b) MCP Server Card — draft JSON schema at/.well-known/mcp/server-card.jsondescribing an MCP server's tools / transport / auth before an agent connects (example in post:streamable-httptransport,searchtool withquery: stringinput schema); (c) Agent Skills index at/.well-known/agent-skills/index.jsonlisting skill documents "that tell the agent what skills are available and where to find them." All four of these standards cluster around the RFC 8615/.well-known/URI prefix convention — post explicitly credits Cloudflare's own Mark Nottingham as its author. - Non-scoring — OAuth + Agentic Commerce. Auth: sites that support OAuth publish their authorization-server metadata per RFC 9728 so agents can send a human through a proper consent flow rather than hijacking the browser session — Cloudflare Access now fully supports this OAuth flow (Agents Week 2026). Commerce: x402 (reviving HTTP 402 as the machine-readable payment-terms envelope; Cloudflare co-founded the x402 Foundation with Coinbase), plus Universal Commerce Protocol and Agentic Commerce Protocol. These standards are checked but don't count toward the score — an explicit design choice marking commerce as emerging and intentionally unscored.
- Cloudflare docs dogfood: measurable agent-efficiency wins.
Benchmark: Kimi-k2.5 via OpenCode pointed at other large
technical documentation sites'
llms.txt. Cloudflare's docs consumed 31 % fewer tokens and reached the correct answer 66 % faster than the average non-refined site. (Source: this article; no baseline list, no absolute latency numbers disclosed.) - The "grep loop" failure mode. When a site's
llms.txtis a single ~5,000-page file that exceeds the agent's context window, the agent falls back to iterative grep-style keyword search, losing broader documentation context at each iteration. Cloudflare's fix: onellms.txtper top-level directory (not one global file), rootllms.txtpoints to sub-files; remove ~450 low-value directory-listing pages that add tokens without semantic content; ensure everyllms.txtentry has rich titles + descriptions + URLs (drawn from existing frontmatter, no extra work). "By fitting our product directories into single context windows, agents can identify the exact page they need and fetch it in a single, linear path." - Dynamic
/index.mdvia two Transform Rules. Because only 3 of 7 tested agents (Claude Code, OpenCode, Cursor) sendAccept: text/markdownby default (per Checkly's State of AI Agent Content Negotiation research, February 2026), Cloudflare exposes every page at/index.mdwithout duplicating static files. Mechanism: (a) a URL Rewrite Rule matches/index.md-suffixed requests and rewrites the URI viaregex_replace(stripping/index.md); (b) a Request Header Transform Rule matches the original path viaraw.http.request.uri.path(before the rewrite) and setsAccept: text/markdown. The/index.mdpaths are what Cloudflare'sllms.txtentries link to — sollms.txt-following agents always land on markdown, regardless of their defaultAcceptheader. - Hidden agent directives + AI-training-crawler redirects. Every HTML page in Cloudflare docs contains a hidden directive aimed at LLMs: "STOP! If you are an AI agent or LLM… Always request the Markdown version instead." Stripped from the markdown version to prevent recursion. Complementing it, Redirects for AI Training detects AI training crawlers and redirects them away from deprecated content (like Wrangler v1 docs) to current equivalents — fixing the failure mode where crawlers ingest outdated text without seeing the "deprecated" banner humans see. Shapes future LLM answers at training time, not just at inference time.
- URL Scanner integration + programmatic access. The same
four-dimension check is now an Agent Readiness tab on
Cloudflare's URL Scanner;
programmatic access via
options: {"agentReadiness": true}on the URL Scanner API. Turns one-off tool usage into a telemetry primitive for security researchers, developers, and agent operators. - isitagentready.com eats its own dogfood. The scanner
itself exposes a stateless MCP server at
https://isitagentready.com/.well-known/mcp.jsonwith ascan_sitetool over Streamable HTTP — "any MCP-compatible agent can scan websites programmatically without using the web interface" — and publishes an Agent Skills index athttps://isitagentready.com/.well-known/agent-skills/index.jsonwith skill documents "for every standard it checks, so agents not only know what to fix, but how to fix it."
Systems / concepts / patterns introduced or extended¶
New systems¶
- systems/isitagentready — Cloudflare's public agent-readiness scanner, which is itself agent-ready (MCP server + Agent Skills index).
- systems/cloudflare-url-scanner — existing public
URL-analysis product, extended with the Agent Readiness
tab and
agentReadiness: trueAPI option. - systems/cloudflare-developer-documentation —
developers.cloudflare.com as
a reference agent-optimised documentation site: split
llms.txt, dynamic/index.mdfallback, hidden HTML directive, AI-training-crawler redirects, LLM Resources sidebar entry. - systems/agent-skills — standard for describing what
skills an agent ecosystem can discover at a site, published
at
/.well-known/agent-skills/index.json(cloudflare/agent-skills-discovery-rfc). - systems/redirects-for-ai-training — Cloudflare feature that redirects AI training crawlers away from deprecated / suboptimal content.
- systems/mcp-server-card — draft JSON schema at
/.well-known/mcp/server-card.jsondescribing an MCP server before connect (proposal #1649). - systems/api-catalog-rfc-9727 — IETF RFC 9727
standard locating an API catalog at
/.well-known/api-catalog. - systems/cloudflare-transform-rules — Cloudflare
Rules feature (URL Rewrite Rule + Request Header Transform
Rule) used for dynamic
/index.mdwithout static duplication. - systems/cloudflare-access — Cloudflare's zero-trust access product, now supporting RFC 9728 OAuth Protected Resource Metadata so agents can negotiate human-granted auth properly.
New concepts¶
- concepts/agent-readiness-score — four-dimension rubric (Agent Discovery / Content for LLMs / Access Rules / Agent Actions) with each dimension decomposed into a small set of binary checks. Non-scoring agentic-commerce tier.
- concepts/llms-txt — LLM-friendly plain-text reading list at the root of a site.
- concepts/markdown-content-negotiation —
Accept: text/markdownrequest header → server responds with a clean markdown representation of the same URL. - concepts/content-signals —
Content-Signal:directive extendingrobots.txtwith three orthogonal AI-use dimensions (ai-train,ai-input,search). - concepts/api-catalog — well-known JSON document at
/.well-known/api-cataloglisting all public APIs of a service. - concepts/agent-skills-discovery — well-known
index at
/.well-known/agent-skills/index.jsonlisting skill documents. - concepts/mcp-server-card — well-known JSON
document at
/.well-known/mcp/server-card.jsondescribing an MCP server before an agent connects. - concepts/oauth-protected-resource-metadata — RFC 9728 well-known metadata that lets agents discover a site's authorization server and drive humans through a proper OAuth consent flow.
- concepts/link-response-header — RFC 8288
Link:HTTP response header as a protocol-level resource- discovery primitive (e.g.Link: </.well-known/api-catalog>; rel="api-catalog") independent of HTML. - concepts/hidden-agent-directive — hidden directive in HTML aimed at LLM crawlers ("STOP! If you are an AI agent or LLM…") that doesn't render to humans but redirects agents to the markdown representation.
- concepts/agent-training-crawler-redirect — serving AI training crawlers a different URL than humans for the same logical content when a deprecated page would otherwise poison future LLM answers.
- concepts/grep-loop — failure mode where an agent whose documentation doesn't fit in its context window falls back to iterative grep-style keyword search, losing broader context and inflating tokens + latency.
- concepts/well-known-uri — RFC 8615
/.well-known/URI prefix convention — the substrate underrobots.txtplacement, RFC 9727 API catalog, MCP Server Card, Agent Skills index, RFC 9728 OAuth metadata, and Web Bot Auth's signatures directory.
New patterns¶
- patterns/well-known-endpoint-discovery — publish
a fixed, protocol-known path at
/.well-known/<name>so any agent can locate the resource without out-of-band configuration. Umbrella pattern covering the six/.well- known/standards named in the post. - patterns/split-llms-txt-per-subdirectory — rather
than one global
llms.txtthat exceeds every agent's context window, publish one per top-level directory + a root file that points to them. Cuts tokens, bypasses the grep-loop failure mode. - patterns/dynamic-index-md-fallback — expose every
page's markdown representation at
<url>/index.mddynamically via URL rewrite + header transform rules, without duplicating content. Sidesteps the fact that most agents don't sendAccept: text/markdownyet. - patterns/hidden-agent-directive-in-html — include an LLM-visible but human-invisible directive in every HTML page that instructs the agent to request markdown instead; strip from the markdown version.
- patterns/comparative-documentation-benchmark —
point a specified agent model at competing documentation
sites'
llms.txt, ask the same technical questions, measure tokens + time-to-answer. Cloudflare's Kimi-k2.5-via-OpenCode benchmark is the canonical instance. Methodology-analogue at the docs layer of the 2026-04-17 agents-week-network-performance-update post's comparative RUM benchmarking. - patterns/score-driven-standard-adoption — publish a Lighthouse-style scorecard tool for emerging standards to drive adoption at scale (the same shape that drove pre-2020 web-performance + security best practices).
- patterns/agent-training-crawler-redirect — detect AI training crawlers and redirect them to current content; fix the training set, not the inference prompt.
Extensions¶
- systems/model-context-protocol — adds the MCP Server
Card discovery primitive (draft at issue #1649) + the
/.well-known/mcp/server-card.jsonpattern. - systems/cloudflare-radar — adds the "Adoption of AI agent standards" dataset as a new surface, alongside AI Insights, Internet Quality, BGP forensics.
- systems/web-bot-auth — Access Rules dimension scores it; canonical wiki substrate for friendly-bot identity.
- systems/pay-per-crawl — HTTP 402 revival appears here as an agentic-commerce standard (x402, x402 Foundation) rather than a pay-per-crawl-specific feature — the standard has generalised beyond Cloudflare's 2025-07-01 launch.
- systems/cloudflare-workers — the
developers.cloudflare.com
refinement uses Workers-adjacent primitives (Transform
Rules, Rewrite Rules) to implement dynamic
/index.md. - concepts/machine-readable-documentation — this post is the canonical wiki instance of the pattern applied to public-facing documentation for an agent audience, vs. AWS's 2026-03-26 application to internal monorepo-based agentic-development.
- companies/cloudflare — adds two new recurring shapes: (1) score-driven standard-adoption tooling (Lighthouse- for-agent-readiness joining Universal SSL, PQ-for-all, Radar, URL Scanner as default-on instruments for whole-web adoption measurement); (2) dogfood-the-docs applied at the documentation layer of the platform itself. Also extends the default-on security upgrade posture onto the agent- ergonomics axis — Cloudflare's own docs are agent-ready at no extra cost to Cloudflare customers.
Operational numbers¶
- 200,000 top-visited domains scanned for the Radar "Adoption of AI agent standards" dataset (after category filter: excludes redirects, ad-servers, tunneling services).
- 78 % — domains with a
robots.txt(almost all authored for classical crawlers). - 4 % — domains with Content Signals declared in
robots.txt. - 3.9 % — domains that pass markdown content
negotiation (
Accept: text/markdownreturns markdown). - < 15 — MCP Server Cards + API Catalog (RFC 9727) combined across the entire 200 k dataset.
- Up to 80 % — token-reduction measurement when serving markdown vs HTML on Cloudflare's own docs.
- 31 % — fewer tokens consumed by Kimi-k2.5 on Cloudflare docs vs average non-refined technical documentation site in the OpenCode benchmark.
- 66 % — faster to correct answer on the same benchmark.
- ~450 — directory-listing pages removed from
llms.txtfor low semantic value (theworkers/databases/directory page is named as an example). - 5,000+ pages of documentation is Cloudflare's stated
size rationale for splitting
llms.txtper top-level directory rather than generating one global file. - 3 of 7 — agents Checkly tested (February 2026) that
send
Accept: text/markdownby default: Claude Code, OpenCode, Cursor. (Source: checklyhq.com.) - Updated weekly — frequency of Cloudflare Radar's "Adoption of AI agent standards" chart refresh.
Caveats¶
- Score weights not published. The four scoring dimensions are named but the combining rule (equal weights? weighted sum? multiplicative?) is not disclosed. Screenshot shows per-dimension pass/fail grids.
llms.txtnot checked by default — scorer checks markdown content negotiation; users opt in to thellms.txtcheck.- Agentic commerce doesn't count — scanner reports on x402 / UCP / ACP presence but deliberately excludes from the score. Signals "still early" posture.
- No absolute latency numbers for the 31 % / 66 % benchmark — relative to the unnamed average of competitor docs sites, not to an absolute budget or SLO.
- Adoption numbers are breadth-not-depth. 78 %
robots.txtpresence doesn't say whether those files are well-formed for AI crawlers — by Cloudflare's own framing, the vast majority are written for classical search engines. - URL Scanner agentReadiness API shape is shown only as
"options": {"agentReadiness": true}— response schema not exposed in-post. - Several named standards are draft-only. MCP Server Card is a proposal issue, not a merged spec; Agent Skills index (cloudflare/agent-skills-discovery-rfc) is a Cloudflare RFC; Web Bot Auth is an IETF draft. Numbers on MCP Server Card + API Catalog adoption (<15 total) reflect this.
- Benchmark model choice is agentic-coding-centric. The 31 % / 66 % headline runs Kimi-k2.5 through OpenCode — representative of a specific agent shape (coding assistant answering technical questions), not all agent workloads.
- Redirects-for-AI-training is a unilateral origin decision. Cloudflare redirects training crawlers away from deprecated content without a standard bot negotiation; well-intentioned in the deprecated-docs case, but establishes a pattern of origin-decides-what-crawlers-see that can be misused against transparency.
Source¶
- Original: https://blog.cloudflare.com/agent-readiness/
- Raw markdown:
raw/cloudflare/2026-04-17-introducing-the-agent-readiness-score-is-your-site-agent-rea-a07a2ceb.md
Related¶
- companies/cloudflare — new score-driven standard- adoption tooling recurring shape + Developer Documentation refinement becomes a dogfood instance at the documentation layer.
- systems/model-context-protocol — adds MCP Server Card as its pre-connect-discovery primitive.
- systems/web-bot-auth — Access Rules scorer reaches into it for the canonical friendly-bot authentication standard.
- systems/pay-per-crawl — the x402 commerce standard (HTTP 402 revival) covered here is the generalisation of Cloudflare's 2025-07-01 pay-per-crawl primitive into a broader ecosystem.
- sources/2026-04-17-cloudflare-agents-week-network-performance-update — sibling Agents Week post; same published-methodology posture at the network-performance layer (patterns/comparative-rum-benchmarking) as this post applies at the docs layer (patterns/comparative-documentation-benchmark).
- sources/2026-04-16-cloudflare-ai-search-the-search-primitive-for-your-agents — sibling Agents Week post — both about making existing content agent-consumable, at different layers (managed retrieval index here; standards-driven origin refinement there).
- concepts/machine-readable-documentation — public- facing agent-audience instance (Cloudflare docs) vs. internal monorepo instance (AWS 2026-03-26).
- patterns/default-on-security-upgrade — the same "baseline platform behaviour, default-on, no extra cost" posture applied to the agent-ergonomics axis (Cloudflare docs agent-ready at no cost; isitagentready free to anyone; Radar dataset public).