Making a website AI friendly: what the bots actually fetched from mine A first-party audit of one website's Cloudflare logs from 30 September to 17 October 2026 found that no verified AI or search crawler fetched the site's llms.txt file in 17 days, while plain HTML pages drew 15,431 requests in 18 days and Markdown copies drew 432. ClaudeBot alone fetched the sitemap 122 times, and seven verified crawlers made 143 of the 152 non-owner requests for the Markdown copies, most likely via the link in each page's head. The author also reported that 113 requests claiming to be PerplexityBot were unverified by Cloudflare, and that the site's MCP server saw about 300 connections and 29 tool calls over three and a half days, with clients requesting a dozen discovery addresses it does not have. Making a website AI friendly: what the bots actually fetched from mine I kept reading lists of files to add to make a website “AI friendly”, and I wanted to know whether anything actually reads them. This site has most of them: a robots.txt that welcomes AI crawlers, an llms.txt , a Markdown copy of every page, full-text feeds, structured data, an AI Catalog and an MCP server of its own. So on 18 October 2026 I looked at what actually came through each door. I read 18 days of the site’s Cloudflare logs 30 September to 17 October 2026 , three and a half days of its MCP server’s telemetry, and the standards and vendor documentation behind each door as they stood that day. Some of it surprised me. In brief 1. Most AI crawler traffic went to the oldest doors: pages, robots.txt and the sitemap. ClaudeBot alone fetched the sitemap 122 times in 18 days. 2. No verified AI or search crawler fetched llms.txt in 17 days. The one verified AI fetch came from Claude-User, which fetches when a person asks. Google Search says it doesn’t use the file, and the larger studies find that its readers are coding agents. 3. The Markdown copies were found the day after they went live. Seven verified crawlers made 143 of the 152 requests for them that weren’t mine, most likely through the link in each page’s head. 4. Feeds are read by feed readers. Most of their requests only asked whether anything had changed. 5. An MCP server is reached by MCP clients and directories, not by crawlers. In three and a half days it saw about 300 connections and 29 tool calls, and clients asked for a dozen discovery addresses it doesn’t have. No mainstream client finds a site’s server on its own yet. 6. A crawler’s name in a request proves nothing. 113 requests said they came from PerplexityBot without Cloudflare verifying them. Count verified bots only. 7. You can measure most of this for free, with limits. Cloudflare’s Free plan keeps 31 days of counts per crawler and per path, but not the Accept header and not referrers. The doors, and who knocks Machines come to a website for different reasons, and each reason favours different doors. The big operators document three kinds of visitor, and keep them apart: a training crawler OpenAI’s GPTBot, Anthropic’s ClaudeBot, Amazonbot , a search crawler that builds the index AI answers cite OAI-SearchBot, Applebot, Googlebot , and a fetcher that gets one page because a person asked ChatGPT-User, Claude-User, Perplexity-User . Two more show up in the logs and the studies: coding agents such as Claude Code and Codex, and plain feed readers. An agent that uses the Model Context Protocol MCP comes in by yet another door. This is how they lined up on this site, by what each kind of visitor actually fetched. The training and search crawlers used the same doors, so they share a box. I followed fourteen verified crawlers and fetchers by name: eleven that Cloudflare files as AI crawlers, AI search or AI assistants, and three search crawlers, OpenAI’s and Exa’s, that it files under search engines. Counting how many of the 14 used each door at least once gives a rough map of what matters. Keep in mind that the doors weren’t open equally long: pages, robots.txt and the sitemap for all 18 days, llms.txt for 17, the feeds for 13 to 17, the Markdown copies and llms-full.txt for 8, and the AI Catalog for 1. Plain HTML still does most of the work The page itself is the door every crawler uses, so it’s the one to get right first. All 14 crawlers fetched pages, and nothing else on the site came close in volume: 15,431 page requests in 18 days, against 432 for the Markdown copies. What helps a machine read a page is mostly what has always helped. The extractors are documented in their code: Mozilla’s Readability, the library behind Firefox’s reader view, reads the page’s JSON-LD first, then its Open Graph and article: meta tags, and drops