Publish an agent or MCP discovery document, e.g. /.well-known/agent-card.json or /.well-known/mcp/server-card.json, so agents can discover your tools. learn how ↗
robots.txt allows AI crawlersFAIL
13 AI crawler(s) blocked from /
Remove the Disallow: / rules for AI crawlers you want to be visible to. learn how ↗
AI crawlers can actually reach the pageFAIL
3 of 3 AI crawlers are blocked at the edge
An AI crawler is blocked at the edge (a 403/429 or a JS challenge) even if robots.txt allows it. Allowlist GPTBot, ClaudeBot, and PerplexityBot at your CDN/WAF (for Cloudflare, the managed AI-bot rules), not just in robots.txt. learn how ↗
Declares an AI content policyFAIL
no Content-Signal policy declared
Add a Content-Signal line to robots.txt (e.g. `Content-Signal: ai-train=no, search=yes`) to state, granularly, how AI may use your content. See contentsignals.org. learn how ↗
sitemap.xml presentFAIL
no sitemap found
Publish /sitemap.xml and reference it from robots.txt so crawlers enumerate every page. learn how ↗
StructureOpaque
0/100
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
Then it has to parse you: content served without JavaScript, structured data, one clear heading.
Content readable without JavaScriptFAIL
no pages crawled
schema.org JSON-LD on homepageFAIL
no pages crawled
Serves markdown to agentsFAIL
no markdown offered to agents
Serve text/markdown when an agent sends `Accept: text/markdown`, or offer an /index.md alongside each page. Markdown cuts the tokens an agent spends reading you by 80%+. learn how ↗
Single, clear H1FAIL
no pages crawled
InterfaceOpaque
0/100
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
Finally it has to call you: a discoverable, valid API surface.
Discoverable OpenAPI specFAIL
no OpenAPI spec found at common paths
Publish your OpenAPI spec at a predictable path (e.g. /openapi.yaml or /.well-known/openapi.json) so agents can learn to call your API. learn how ↗
Answer-optimized structured datanot yet
FAQ, HowTo and Speakable schema that answer engines lift almost word-for-word. learn how ↗
Documents idempotent requestsnot yet
Let an agent safely retry a failed API call without duplicating the effect. learn how ↗