{"slug": "we-scored-our-own-website-29-100-on-ai-agent-readiness-here-s-how-we-fixed-it-in", "title": "We scored our own website 29/100 on AI-agent readiness. Here's how we fixed it in one afternoon.", "summary": "Aireadify scored its own homepage 29 out of 100 for AI-agent readiness, an F grade, and then raised it to 83 out of 100 (an A) in a single afternoon. The team implemented three high-ROI fixes: serving clean markdown via content negotiation, adding an `llms.txt` index, and including JSON-LD structured data. These changes reduced the token cost for AI agents from up to 90,000 tokens to as few as 1,000 tokens per page.", "body_md": "In my [last post](https://dev.to/aireadify/i-scanned-106-chip-company-websites-to-see-if-ai-agents-can-read-them-average-grade-f-4b76) I scanned 106 semiconductor sites and the average score was 42/100 — an F.\n\nThen I ran the same scanner on **our own homepage**.\n\n**29/100. Also an F.**\n\nSo I spent one afternoon fixing it. We got to **83/100 (A)**.\n\nHere are the three highest-ROI changes, ranked by effort. All of them are free and most take under an hour.\n\nThe single biggest waste: when an AI agent requests `Accept: text/markdown`\n\n, most servers still dump a wall of HTML. A typical chip-company homepage costs an agent **40,000–90,000 tokens** to parse. The same content as clean markdown is **1,000–2,500 tokens** — a 95% reduction.\n\nIf you use a modern framework (Next.js, Astro, SvelteKit, etc.) you can do this in one middleware block:\n\n```\nif ((req.headers.get('accept') || '').includes('text/markdown')) {\n  return new Response(markdown, {\n    headers: { 'Content-Type': 'text/markdown; charset=utf-8' }\n  });\n}\n```\n\nOr at the edge (Cloudflare Workers / Vercel Edge):\n\n``` js\nexport default {\n  async fetch(request) {\n    const url = new URL(request.url);\n    if (request.headers.get('accept')?.includes('text/markdown')) {\n      const md = await getMarkdownForPath(url.pathname);\n      return new Response(md, {\n        headers: { 'Content-Type': 'text/markdown' }\n      });\n    }\n    return fetch(request);\n  }\n};\n```\n\n**Impact:** ~25 point jump on our score.\n\n`llms.txt`\n\n(20 min)\n`llms.txt`\n\nis a simple markdown index at `/.well-known/llms.txt`\n\nthat tells an AI agent which pages matter and what they contain. Think of it as a `robots.txt`\n\nfor language models.\n\n```\n# Aireadify\n> AI-agent readiness scanner and scoring for B2B websites.\n\n## Products\n- [Scanner](https://aireadify.ai/scan): Free 0–100 score for any URL, ~2s, no signup\n- [Leaderboard](https://aireadify.ai/leaderboard): 106 semiconductor sites ranked\n\n## Content\n- [Why AI-agent readiness matters for B2B](https://aireadify.ai/blog/why-ai-readiness)\n- [Methodology: 20 signals we check](https://aireadify.ai/blog/methodology)\n```\n\nThat's it. No schema, no JSON, no XML. Just markdown links with descriptions.\n\n**Impact:** ~20 point jump.\n\nMost B2B sites have product catalogs that are invisible to AI agents because they're rendered client-side or buried in unstructured HTML.\n\nAdd JSON-LD `Product`\n\nschema to each product page:\n\n```\n{\n  \"@context\": \"https://schema.org\",\n  \"@type\": \"Product\",\n  \"name\": \"CT8000 3D Hall Sensor\",\n  \"description\": \"±40 mT, I²C / SPI, AEC-Q100 Grade 1\",\n  \"sku\": \"CT8000-WL-TR\",\n  \"brand\": {\n    \"@type\": \"Brand\",\n    \"name\": \"YourCompany\"\n  }\n}\n```\n\nAnd expose a simple MCP endpoint so agents can query it directly instead of scraping:\n\n```\n// POST /mcp/search_parts\n{\n  \"query\": \"3D hall sensor I2C automotive\"\n}\n```\n\n**Impact:** ~10 point jump.\n\n| Fix | Time | Point gain |\n|---|---|---|\n| Markdown content negotiation | 15 min | ~25 |\n| llms.txt | 20 min | ~20 |\n| JSON-LD structured data | 30 min | ~10 |\n| robots.txt + sitemap.xml | 10 min | ~5 |\n| Open Graph + Twitter Cards | 15 min | ~5 |\nTotal |\n~90 min |\n~65 |\n\nWe went from 29 → 83 in roughly that order. The last 17 points are diminishing returns — semantic HTML, dark-mode meta tags, RSS feeds — nice-to-haves.\n\nBuyers are researching inside ChatGPT, Claude, and Perplexity now. If your site costs an agent 90k tokens to parse, it gets deprioritized or hallucinated. If it serves clean markdown with an index, it gets cited.\n\nThe score is a proxy for \"how likely is an AI to recommend you?\"\n\nFree, no signup, ~2 seconds: [https://aireadify.ai/scan](https://aireadify.ai/scan)\n\nIt checks the same 20 signals and gives you a per-category breakdown with exact fixes. If you want the full 106-company ranking, it's here: [https://aireadify.ai/leaderboard](https://aireadify.ai/leaderboard)\n\nDisclosure: we built the scanner and do agent-readiness work. Happy to share methodology or argue about weights in the comments.", "url": "https://wpnews.pro/news/we-scored-our-own-website-29-100-on-ai-agent-readiness-here-s-how-we-fixed-it-in", "canonical_source": "https://dev.to/aireadify/we-scored-our-own-website-29100-on-ai-agent-readiness-heres-how-we-fixed-it-in-one-afternoon-1dca", "published_at": "2026-06-03 01:39:31+00:00", "updated_at": "2026-06-03 02:12:29.494318+00:00", "lang": "en", "topics": ["ai-agents", "ai-infrastructure", "ai-tools", "ai-products", "artificial-intelligence"], "entities": ["Next.js", "Astro", "SvelteKit", "Cloudflare Workers", "Vercel Edge"], "alternates": {"html": "https://wpnews.pro/news/we-scored-our-own-website-29-100-on-ai-agent-readiness-here-s-how-we-fixed-it-in", "markdown": "https://wpnews.pro/news/we-scored-our-own-website-29-100-on-ai-agent-readiness-here-s-how-we-fixed-it-in.md", "text": "https://wpnews.pro/news/we-scored-our-own-website-29-100-on-ai-agent-readiness-here-s-how-we-fixed-it-in.txt", "jsonld": "https://wpnews.pro/news/we-scored-our-own-website-29-100-on-ai-agent-readiness-here-s-how-we-fixed-it-in.jsonld"}}