We ran agentfix.pro's 34-signal AI-readiness scanner against nineteen sites that should, in theory, get this right: Stripe, Vercel, Anthropic, OpenAI, Perplexity, Cloudflare, GitHub, Cursor, Notion, Figma, Linear, Shopify, Supabase, Pinecone, Hugging Face, LangChain, Mistral, Cohere, and Groq. These are companies whose products either ship AI agents, host AI agents, or literally authored the standards agents rely on.
Average pass rate: 54.5%. Not a single site scored A. One scored B (Cloudflare). Seven scored C. Ten scored D. And Perplexity, an AI answer engine, scored F.
This is what "AI readiness" looks like at the top of the industry in mid-2026. It is not a story about lazy teams. It is a story about a spec surface that grew too fast for anyone to keep up with, mixed with a couple of signals that literally nobody publishes yet.
Methodology
- Scanner: the public endpoint at
agentfix.pro/api/scan. Anyone can reproduce this by POSTing{"url":"https://example.com"}and polling the returnedscan_id. - Signals: 34 checks across five categories – discoverability (llms.txt, sitemap, robots, feeds), schema (JSON-LD Website / Organization / FAQ / Breadcrumb), agent protocols (MCP card, A2A agent card, agent skills index), ai_policy (declared bot allow-lists, content signals), and browser_ux (SSR, tap targets, ARIA, CLS).
- Sites: nineteen deliberately AI-forward domains (Replit was in the target list but rate-limited out after four backoff attempts and never came back). Selection bias is the point: if these sites fail a signal, the long tail almost certainly fails it too. (The public endpoint rate-limits after ~10 back-to-back scans from one IP; retries with 60-240s exponential backoff picked up the rest.)
- Scan date: 2026-07-05. Grades and pass rates as of that day.
Grade distribution
- Cloudflare — B (24/34)
- Supabase — C (23/34)
- Vercel — C (22/34)
- Pinecone — C (22/34)
- Figma — C (21/34)
- Cursor — C (20/34)
- Stripe — C (19/34)
- Cohere — C (19/34)
- Anthropic — D (18/34)
- Linear — D (18/34)
- Shopify — D (18/34)
- Notion — D (18/34)
- OpenAI — D (17/34)
- Hugging Face — D (17/34)
- Mistral — D (17/34)
- Groq — D (17/34)
- GitHub — D (16/34)
- LangChain — D (16/34)
- Perplexity — F (10/34)
Cloudflare is the only site that reads as clearly agent-ready. Everyone else — including the two companies (OpenAI, Anthropic) whose employees authored much of the current spec surface — is behind on their own homework.
The signals 100% of them fail
Three signals were failed by every single site that ran the check:
- MCP server card (
/.well-known/mcp.json). 0/19. A public site advertising its own agent-callable tools is still a rare thing. See MCP server card for a website. - Schema.org FAQ or Breadcrumb JSON-LD. 0/19. These are the two schema types AI answer engines quote most. Everyone shipped Organization schema and stopped there.
- Tap-target sizing. 0/17 (two sites bounced the JS-off probe and skipped the check). Browser agents that fall back to accessibility trees can't find the right button.
Three more come very close:
- A2A agent skills index — 18/19 fail. Same story as MCP: nobody has an agent to hand off to yet.
- A2A agent card at
/.well-known/agent-card.json— 18/19 fail. See A2A agent card explained. - ARIA labels on interactive elements — 14/15 (of the sites where the check completed) fail. Accessibility-tree fallback for browser agents dies here.
- Syndication feed declared in
<head>— 17/19 fail (Cloudflare and one other did ship an RSS<link>). Perplexity Pages and Feedly-AI watch these; sites without one are treated as static.
The signals 79-84% of them fail
- Explicit
GPTBotpolicy in robots.txt – 16/19 fail. Most teams have "User-agent: *" and hope. Explicit lines matter: they are what OpenAI's crawlers actually read, and they are what shows up when a compliance reviewer asks "do you allow model training on your content?" Discussed in detail in Should you block GPTBot?. - Content-signals header /
ai-content-declarationpolicy – 16/19 fail. - Markdown content negotiation (
Accept: text/markdown) – 16/19 fail. Serving a clean markdown variant of a page is one of the highest-leverage single changes you can make for LLM ingestion. - Explicit
ClaudeBotpolicy – 15/19 fail. Same class of gap asGPTBot. - Schema.org Website JSON-LD – 15/19 fail. The most basic "here is what this site is" block is missing from most homepages.
llms-full.txt– 14/19 fail. Even sites that shippedllms.txtmostly skipped the concatenated-content variant.
The ironies worth naming
OpenAI (D, 17/34). Ships GPTBot. Does not publish an explicit GPTBot line in its own robots.txt. Ships MCP. Does not publish an MCP card on its own homepage. Ships a public API. Does not expose an ai-plugin.json-equivalent discovery file. The gap between spec and self-adoption is real, and it is a signal that "AI readiness" is nobody's job in most orgs, not even in the orgs that wrote the spec.
Anthropic (D, 18/34). Same shape as OpenAI. Ships ClaudeBot, does not declare it explicitly on anthropic.com. Ships MCP, does not publish a server card.
Perplexity (F, 10/34). This one hurts. Perplexity's core product depends on other people's sites being AI-legible. Their own marketing site was the least AI-ready of the ten we scanned. The lesson is not that Perplexity is bad at building; it is that a growth-stage marketing site is optimized for humans, and nobody put "score well in your own scanner" on the sprint.
Cloudflare (B, 24/34). The only B in the set. Cloudflare has been shipping AI-readiness spec work (robots parsers, bot management, AI Audit) for two years, and it shows: they publish llms.txt, they publish llms-full.txt, they have explicit crawler policy, they have Organization + Website schema. The gap to A is the agent-protocol category (MCP, A2A, agent skills) — and they are also the only site in the set close enough to close that gap in a sprint.
What this actually tells you as a normal SaaS
You are not behind. The frontier is behind. The bar for "top of the pack" on AI readiness in mid-2026 is roughly:
robots.txtthat namesGPTBot,ClaudeBot,PerplexityBot,OAI-SearchBotexplicitly (allow or block, doesn't matter, just be explicit). Details: robots.txt for AI bots.llms.txtandllms-full.txtat the site root. See llms.txt deep dive.- Website + Organization + FAQ JSON-LD at minimum. See schema.org JSON-LD for AI search.
- A syndication feed link in
<head>. - SSR-rendered content that survives a JS-off fetch.
Do those five and you outscore Perplexity, OpenAI, Anthropic, GitHub, Hugging Face, LangChain, Mistral, Groq, Linear, Shopify, and Notion on our scanner as of July 2026. The bar is that low, because the spec surface is that new.
The two frontier signals (MCP server card, A2A agent card) are worth adding only if you actually have an agent worth calling. Publishing an empty card is worse than not publishing one — you look ready when you aren't.
Reproduce this
Every result in this post came from the public endpoint. Reproduce any single row:
# 1. start a scan
curl -X POST https://agentfix.pro/api/scan \
-H 'Content-Type: application/json' \
-d '{"url":"https://openai.com"}'
# => {"scan_id":"...","status":"queued"}
# 2. poll (~30-60s)
curl https://agentfix.pro/api/scan/<scan_id>
# => {"status":"done","grade":"D","pass_count":17,"total_count":34,"results":[...]}
Or paste your own URL into the box on agentfix.pro. Free, no signup, one scan is one score. If the score stings and you want the actual files that fix it — llms.txt, llms-full.txt, JSON-LD blocks, MCP card, A2A card, robots.txt patch, all pre-generated for your specific site — that is the $29 Agent-Ready Pack. The scan itself stays free.
The one-line takeaway. The tech industry has not yet caught up with the specs the tech industry is shipping. That gap is the opportunity: any site willing to spend an afternoon on the first five items on the checklist above outscores most of the household names.
