// Example input/outputs for the Bazaar discovery declaration, OpenAPI and landing page (example.com, recorded 2026-10-22T18:04:25.438Z).
export const EXAMPLE_URL = 'https://example.com';
export const LITE_EXAMPLE = {"url":"https://example.com/","final_url":"https://example.com/","host":"example.com","score":42,"grade":"D","verdict":"not_ready","confidence":"medium","categories":{"access":{"label":"Agent access","score":29,"max":30,"unknown":0},"content":{"label":"Content agents can read","score":5,"max":25,"unknown":0},"discovery":{"label":"Discovery and metadata","score":2,"max":25,"unknown":0},"interfaces":{"label":"Agent interfaces (APIs, MCP, payments)","score":0,"max":12,"unknown":0},"performance":{"label":"Speed and HTTPS","score":6,"max":8,"unknown":1}},"counts":{"pass":8,"warn":3,"fail":11,"unknown":1},"top_issues":[{"check":"no_js_content","priority":"high","points_gain":10,"title":"Server-render the main content","how":"Most agents and AI crawlers do not run JavaScript. Use SSR / static generation (Next.js, Nuxt, Astro, prerendering) so the text is in the HTML response."},{"check":"llms_txt","priority":"high","points_gain":8,"title":"Publish /llms.txt","how":"A markdown map of your site for LLMs (llmstxt.org): \"# Name\", \"> summary\", then \"## Section\" lists of \"- [Page](url): what it is\". Draft in snippets.llms_txt."},{"check":"markdown","priority":"high","points_gain":5,"title":"Offer a markdown version","how":"Serve markdown on \"Accept: text/markdown\" (Cloudflare: AI Crawl Control > \"Markdown for Agents\"), or publish /index.md and link it with <link rel=\"alternate\" type=\"text/markdown\" href=\"/index.md\">."},{"check":"sitemap","priority":"high","points_gain":5,"title":"Publish an XML sitemap and list it in robots.txt","how":"Serve /sitemap.xml (with <lastmod>) and add \"Sitemap: https://your.site/sitemap.xml\" to robots.txt."},{"check":"structured_data","priority":"high","points_gain":5,"title":"Add schema.org JSON-LD","how":"Describe the organization, site and page type (Organization, WebSite, Product, Article, FAQPage...) in <script type=\"application/ld+json\">. Starter in snippets.json_ld."}],"ai_bots_blocked":[],"sources_failed":["http"],"warnings":["checks_incomplete: http could not be fetched; those checks are \"unknown\" and scored 0 (fail-closed)."],"engine":"agentready-0.1","checked_at":"2026-10-22T18:04:25.438Z","tier":"lite","disclaimer":"Automated checks of public URLs at the time of the audit, from a Cloudflare edge with an honest AgentReadyBot user agent. Informational; no guarantee that any specific AI product will crawl, cite or use the site."};
export const AUDIT_EXAMPLE = {"url":"https://example.com/","final_url":"https://example.com/","host":"example.com","score":42,"grade":"D","verdict":"not_ready","confidence":"medium","categories":{"access":{"label":"Agent access","score":29,"max":30,"unknown":0},"content":{"label":"Content agents can read","score":5,"max":25,"unknown":0},"discovery":{"label":"Discovery and metadata","score":2,"max":25,"unknown":0},"interfaces":{"label":"Agent interfaces (APIs, MCP, payments)","score":0,"max":12,"unknown":0},"performance":{"label":"Speed and HTTPS","score":6,"max":8,"unknown":1}},"counts":{"pass":8,"warn":3,"fail":11,"unknown":1},"checks":[{"id":"home_ok","category":"access","status":"pass","points":6,"max":6,"detail":"HTTP 200."},{"id":"no_challenge","category":"access","status":"pass","points":6,"max":6,"detail":"No bot challenge or WAF block for an AI-agent user agent."},{"id":"robots_agents","category":"access","status":"pass","points":8,"max":8,"detail":"All user-triggered AI agents (ChatGPT-User, Claude-User, Perplexity-User, MistralAI-User) are allowed."},{"id":"robots_search","category":"access","status":"pass","points":5,"max":5,"detail":"All AI search crawlers (OAI-SearchBot, Claude-SearchBot, PerplexityBot, DuckAssistBot, Amazonbot) are allowed."},{"id":"no_noai","category":"access","status":"pass","points":3,"max":3,"detail":"No noindex / noai opt-out."},{"id":"robots_txt","category":"access","status":"warn","points":1,"max":2,"detail":"No robots.txt (HTTP 404): everything is allowed by default, but there is no Sitemap: line or explicit AI-agent policy."},{"id":"no_js_content","category":"content","status":"fail","points":0,"max":10,"detail":"Only 25 words in the raw HTML. Agents without a browser see almost nothing."},{"id":"markdown","category":"content","status":"fail","points":0,"max":5,"detail":"No markdown version: \"Accept: text/markdown\" returned text/html; charset=utf-8 and there is no <link rel=\"alternate\" type=\"text/markdown\">."},{"id":"title_description","category":"content","status":"warn","points":2,"max":4,"detail":"Title: \"Example Domain\" (14 chars). Meta description: missing."},{"id":"semantic_html","category":"content","status":"fail","points":0,"max":3,"detail":"0 <h1>, 0 <h2>, <main>: no, <nav>: no, <article>: no."},{"id":"accessibility","category":"content","status":"pass","points":3,"max":3,"detail":"Images without alt: 0/0. Unlabeled form fields: 0/0. Buttons without a name: 0/0. <html lang>: en."},{"id":"llms_txt","category":"discovery","status":"fail","points":0,"max":8,"detail":"No /llms.txt (HTTP 404)."},{"id":"llms_full","category":"discovery","status":"fail","points":0,"max":2,"detail":"No /llms-full.txt (the full docs in one markdown file)."},{"id":"sitemap","category":"discovery","status":"fail","points":0,"max":5,"detail":"No XML sitemap at https://example.com/sitemap.xml (HTTP 404)."},{"id":"structured_data","category":"discovery","status":"fail","points":0,"max":5,"detail":"No schema.org structured data."},{"id":"meta_social","category":"discovery","status":"warn","points":2,"max":5,"detail":"Canonical: yes. og:title/description: no/no. og:image: no. twitter:card: no."},{"id":"openapi","category":"interfaces","status":"fail","points":0,"max":3,"detail":"No OpenAPI spec at /openapi.json or /.well-known/openapi.json."},{"id":"mcp","category":"interfaces","status":"fail","points":0,"max":4,"detail":"No MCP server: no /.well-known/mcp.json or /.well-known/mcp/server-card.json, and https://example.com/mcp did not answer an MCP initialize."},{"id":"agent_card","category":"interfaces","status":"fail","points":0,"max":3,"detail":"No agent manifest (/.well-known/agent-card.json for A2A, agent.json, agents.json or ai-plugin.json)."},{"id":"x402","category":"interfaces","status":"fail","points":0,"max":2,"detail":"No machine-payable endpoints (no /.well-known/x402). Optional: only needed if you sell API calls or content to agents."},{"id":"https","category":"performance","status":"pass","points":3,"max":3,"detail":"Served over HTTPS."},{"id":"https_redirect_hsts","category":"performance","status":"unknown","points":0,"max":2,"detail":"HSTS: no. http:// redirect not checked (timeout: timed out after 4000 ms)."},{"id":"speed","category":"performance","status":"pass","points":3,"max":3,"detail":"First response in 184 ms, 1 KB HTML."}],"top_issues":[{"check":"no_js_content","priority":"high","title":"Server-render the main content","points_gain":10},{"check":"llms_txt","priority":"high","title":"Publish /llms.txt","points_gain":8},{"check":"markdown","priority":"high","title":"Offer a markdown version","points_gain":5},{"check":"sitemap","priority":"high","title":"Publish an XML sitemap and list it in robots.txt","points_gain":5},{"check":"structured_data","priority":"high","title":"Add schema.org JSON-LD","points_gain":5}],"fixes":[{"check":"no_js_content","priority":"high","points_gain":10,"title":"Server-render the main content","how":"Most agents and AI crawlers do not run JavaScript. Use SSR / static generation (Next.js, Nuxt, Astro, prerendering) so the text is in the HTML response.","finding":"Only 25 words in the raw HTML. Agents without a browser see almost nothing."},{"check":"llms_txt","priority":"high","points_gain":8,"title":"Publish /llms.txt","how":"A markdown map of your site for LLMs (llmstxt.org): \"# Name\", \"> summary\", then \"## Section\" lists of \"- [Page](url): what it is\". Draft in snippets.llms_txt.","finding":"No /llms.txt (HTTP 404)."},{"check":"markdown","priority":"high","points_gain":5,"title":"Offer a markdown version","how":"Serve markdown on \"Accept: text/markdown\" (Cloudflare: AI Crawl Control > \"Markdown for Agents\"), or publish /index.md and link it with <link rel=\"alternate\" type=\"text/markdown\" href=\"/index.md\">.","finding":"No markdown version: \"Accept: text/markdown\" returned text/html; charset=utf-8 and there is no <link rel=\"alternate\" type=\"text/markdown\">."},{"check":"sitemap","priority":"high","points_gain":5,"title":"Publish an XML sitemap and list it in robots.txt","how":"Serve /sitemap.xml (with <lastmod>) and add \"Sitemap: https://your.site/sitemap.xml\" to robots.txt.","finding":"No XML sitemap at https://example.com/sitemap.xml (HTTP 404)."},{"check":"structured_data","priority":"high","points_gain":5,"title":"Add schema.org JSON-LD","how":"Describe the organization, site and page type (Organization, WebSite, Product, Article, FAQPage...) in <script type=\"application/ld+json\">. Starter in snippets.json_ld.","finding":"No schema.org structured data."},{"check":"mcp","priority":"medium","points_gain":4,"title":"Expose an MCP server (if agents should act on your service)","how":"Run a remote MCP server (Streamable HTTP) at /mcp and describe it in /.well-known/mcp.json (or /.well-known/mcp/server-card.json). Starter in snippets.mcp_json.","finding":"No MCP server: no /.well-known/mcp.json or /.well-known/mcp/server-card.json, and https://example.com/mcp did not answer an MCP initialize."},{"check":"semantic_html","priority":"medium","points_gain":3,"title":"Use semantic HTML","how":"One <h1>, the main content inside <main>, sections with <h2>, navigation in <nav>.","finding":"0 <h1>, 0 <h2>, <main>: no, <nav>: no, <article>: no."},{"check":"meta_social","priority":"medium","points_gain":3,"title":"Add canonical and Open Graph tags","how":"rel=canonical plus og:title, og:description and og:image (see snippets.meta_tags).","finding":"Canonical: yes. og:title/description: no/no. og:image: no. twitter:card: no."},{"check":"openapi","priority":"medium","points_gain":3,"title":"Publish an OpenAPI spec (if you have an API)","how":"Serve /openapi.json (OpenAPI 3.x with info, paths and examples) so agents can call your API without docs scraping.","finding":"No OpenAPI spec at /openapi.json or /.well-known/openapi.json."},{"check":"agent_card","priority":"medium","points_gain":3,"title":"Publish an agent manifest","how":"Add /.well-known/agent-card.json (A2A) describing what agents can do with your service. Starter in snippets.agent_card.","finding":"No agent manifest (/.well-known/agent-card.json for A2A, agent.json, agents.json or ai-plugin.json)."},{"check":"title_description","priority":"medium","points_gain":2,"title":"Fix the title and meta description","how":"Use a 10-70 character <title> and a 50-160 character meta description that say what the page is (see snippets.meta_tags).","finding":"Title: \"Example Domain\" (14 chars). Meta description: missing."},{"check":"llms_full","priority":"medium","points_gain":2,"title":"Publish /llms-full.txt","how":"Your key docs/pages concatenated as one markdown file, so an agent can load everything in one request.","finding":"No /llms-full.txt (the full docs in one markdown file)."},{"check":"x402","priority":"medium","points_gain":2,"title":"Make paid endpoints machine-payable (optional)","how":"If you sell API calls or content, answer HTTP 402 with x402 terms (USDC) and list the routes in /.well-known/x402 so agents can pay per call.","finding":"No machine-payable endpoints (no /.well-known/x402). Optional: only needed if you sell API calls or content to agents."},{"check":"robots_txt","priority":"low","points_gain":1,"title":"Publish a robots.txt","how":"Serve /robots.txt as text/plain with your AI-bot policy and a Sitemap: line (see snippets.robots_txt).","finding":"No robots.txt (HTTP 404): everything is allowed by default, but there is no Sitemap: line or explicit AI-agent policy."}],"snippets":{"llms_txt":"# Example Domain\n\n> Example Domain website\n\n## Main pages\n\n- [Home](https://example.com/): Example Domain\n\n\n# Review the list, add a one-line note after each link (\"- [Page](url): what it covers\"), then save as /llms.txt (text/plain or text/markdown).","robots_txt":"# AI agents and AI search: allowed (they fetch pages for users and cite you)\n# Training crawlers are a separate choice, e.g.:\n# User-agent: GPTBot\n# Disallow: /\n\nSitemap: https://example.com/sitemap.xml\n# Put specific User-agent groups ABOVE any \"User-agent: *\" group; a bot obeys only its most specific group.","json_ld":"<script type=\"application/ld+json\">\n{\n \"@context\": \"https://schema.org\",\n \"@graph\": [\n {\n \"@type\": \"Organization\",\n \"@id\": \"https://example.com/#org\",\n \"name\": \"Example Domain\",\n \"url\": \"https://example.com/\"\n },\n {\n \"@type\": \"WebSite\",\n \"@id\": \"https://example.com/#website\",\n \"name\": \"Example Domain\",\n \"url\": \"https://example.com/\",\n \"description\": \"Example Domain website\",\n \"publisher\": {\n \"@id\": \"https://example.com/#org\"\n }\n }\n ]\n}\n</script>","meta_tags":"<title>Example Domain</title>\n<meta name=\"description\" content=\"Example Domain website\">\n<link rel=\"canonical\" href=\"https://example.com/\">\n<meta property=\"og:title\" content=\"Example Domain\">\n<meta property=\"og:description\" content=\"Example Domain website\">\n<meta property=\"og:image\" content=\"https://example.com/og-image.png\">\n<meta property=\"og:url\" content=\"https://example.com/\">\n<meta name=\"twitter:card\" content=\"summary_large_image\">","markdown":"<link rel=\"alternate\" type=\"text/markdown\" href=\"/index.md\">\n<!-- Or answer \"Accept: text/markdown\" with a markdown rendering of each page (Cloudflare: \"Markdown for Agents\"). -->","mcp_json":"{\n \"name\": \"Example Domain\",\n \"description\": \"Example Domain website\",\n \"endpoint\": \"https://example.com/mcp\",\n \"transport\": \"streamable-http\",\n \"documentation\": \"https://example.com/llms.txt\"\n}","agent_card":"{\n \"protocolVersion\": \"0.3.0\",\n \"name\": \"Example Domain\",\n \"description\": \"Example Domain website\",\n \"url\": \"https://example.com/\",\n \"version\": \"1.0.0\",\n \"capabilities\": {},\n \"defaultInputModes\": [\n \"text/plain\"\n ],\n \"defaultOutputModes\": [\n \"text/plain\",\n \"application/json\"\n ],\n \"skills\": [\n {\n \"id\": \"info\",\n \"name\": \"About Example Domain\",\n \"description\": \"Answer questions about this site and its offerings.\",\n \"tags\": [\n \"info\"\n ]\n }\n ]\n}"},"robots":{"found":false,"bots":{"ChatGPT-User":{"owner":"OpenAI","kind":"agent","status":"allowed","rule_group":"none"},"OAI-SearchBot":{"owner":"OpenAI","kind":"search","status":"allowed","rule_group":"none"},"GPTBot":{"owner":"OpenAI","kind":"training","status":"allowed","rule_group":"none"},"Claude-User":{"owner":"Anthropic","kind":"agent","status":"allowed","rule_group":"none"},"Claude-SearchBot":{"owner":"Anthropic","kind":"search","status":"allowed","rule_group":"none"},"ClaudeBot":{"owner":"Anthropic","kind":"training","status":"allowed","rule_group":"none"},"Perplexity-User":{"owner":"Perplexity","kind":"agent","status":"allowed","rule_group":"none"},"PerplexityBot":{"owner":"Perplexity","kind":"search","status":"allowed","rule_group":"none"},"Google-Extended":{"owner":"Google","kind":"training","status":"allowed","rule_group":"none"},"Applebot-Extended":{"owner":"Apple","kind":"training","status":"allowed","rule_group":"none"},"MistralAI-User":{"owner":"Mistral","kind":"agent","status":"allowed","rule_group":"none"},"DuckAssistBot":{"owner":"DuckDuckGo","kind":"search","status":"allowed","rule_group":"none"},"Amazonbot":{"owner":"Amazon","kind":"search","status":"allowed","rule_group":"none"},"Meta-ExternalAgent":{"owner":"Meta","kind":"training","status":"allowed","rule_group":"none"},"CCBot":{"owner":"Common Crawl","kind":"training","status":"allowed","rule_group":"none"},"Bytespider":{"owner":"ByteDance","kind":"training","status":"allowed","rule_group":"none"},"cohere-ai":{"owner":"Cohere","kind":"training","status":"allowed","rule_group":"none"}},"content_signal":null,"sitemaps":[]},"sources_failed":["http"],"warnings":["checks_incomplete: http could not be fetched; those checks are \"unknown\" and scored 0 (fail-closed)."],"requests":17,"engine":"agentready-0.1","checked_at":"2026-10-22T18:04:25.438Z","disclaimer":"Automated checks of public URLs at the time of the audit, from a Cloudflare edge with an honest AgentReadyBot user agent. Informational; no guarantee that any specific AI product will crawl, cite or use the site.","tier":"audit"};
agentgate-source: code mirror on Cloudflare Pages. All repos