Most teams think their sitemap shows what's on their site. It doesn't. A sitemap is a wishlist: the pages you want crawlers to find. The pages bots actually visit are a different list, and that list lives in one place only, your CDN logs.
The gap between those two lists is where the problems hide. So we ran the comparison on our own site, Limy. The method is simple: take every page in the sitemap, take every page bots actually visited in the CDN logs, line them up, and mark each one as in the sitemap, in the logs, or both.
Here's what we found.
01 · The numbers behind 924 crawled pages
924 paths, three buckets
Together the two lists held 924 different pages. They split into three groups. Tap a group to see where it sits.
0
Both
In your sitemap and visited by bots. This is the healthy part.
0
Sitemap only
Listed but never visited. Empty is what you want.
0
CDN only
Visited by bots but never listed. Pages you didn't plan for.
Two of the three groups are good news. The third is the whole story.
02 · Why AI crawler traffic matters now
Bots are now most of the crawl
0%
of all requests are automated traffic. Cloudflare Radar, mid-2026
0%
of verified bot traffic is AI crawlers, with AI-search bots on top
0%
growth in AI web traffic across 2025. HUMAN Security
0%
rise in GPTBot request volume, May 2024 to May 2025. Cloudflare
This used to be a niche SEO task. Not anymore, because who reads your pages has changed. As of mid-2026, Cloudflare Radar says about 35% of all web requests are bots, roughly one in three. AI crawlers alone are about 20% of verified bot traffic, and AI-search bots add more on top. The web grew 19% in 2025, and bot traffic grew faster than human traffic.
The growth is the part to watch. HUMAN Security found AI web traffic grew 187% in 2025, and AI agents, bots acting for a person, grew thousands of percent year over year. Cloudflare saw GPTBot's requests jump 305% between May 2024 and May 2025. These aren't the quiet crawlers of five years ago feeding a search page nobody scrolls. They feed what ChatGPT, Claude, Perplexity, and Gemini say about your brand.
When most visits are machines, which pages they read really matters.
03 · The discoverability floor: 0 sitemap-only pages
What 0 sitemap-only pages means
When this group is empty, every page you listed is being found. All 110 of our listed pages showed up in real bot traffic, even the messy ones, like a blog link ending in a period and a customer-story link with an odd double-encoded address. No forgotten announcements, no product pages the bots skip, no launch content left out in the cold.
Most teams assume this check passes and never test it. It fails more often than you'd think, usually because the menu is built with JavaScript. Most AI crawlers don't run JavaScript (more on that below), so a page that's only linked by script has no way in. A site that looks fully linked to Google can look like scattered islands to GPTBot. When that happens, pages quietly drop out: you publish, you add it to the sitemap, and months later nobody notices the bots never came.
For AI search, a page that's never visited can't be cited, mentioned, or pulled into an answer. It's invisible, no matter how good it is. An empty sitemap-only group is proof that every page you meant to publish can actually be found.
04 · The exposure list: 814 CDN-only pages
What 814 CDN-only pages means
This is the real finding, and almost nobody looks here. The sitemap is the list of pages you want visited. The logs show where bots actually spend their time. When the log-only list is seven times bigger than the one you chose, bots are spending most of their effort on pages you never picked.
That matters because a bot only visits so many pages, and AI crawlers burn through that budget while sending almost no one back. Cloudflare Radar data from early 2026 shows some AI bots fetch tens of thousands of pages for every single visitor they send you.
Crawl-to-referral ratios: ClaudeBot about 23,951 to 1, GPTBot 1,276 to 1, DuckDuckGo 1.5 to 1
CRAWL-TO-REFERRAL RATIO
Pages a bot fetches for each visitor it sends you. Higher means more taking, less giving back.
ClaudeBot~23,951:1
GPTBot1,276:1
DuckDuckGo1.5:1
A normal search engine like DuckDuckGo sits near 1.5:1. These numbers swing month to month, so treat them as a rough guide.
Every one of those fetches hits a real page on your site. When 814 of the pages bots visit are ones you never listed, a big chunk of all that crawling is landing on content that doesn't speak for your brand.
On our site, those 814 pages fall into a few familiar groups.
01
Help center and /doc/ pages/doc/*
Not in the sitemap. Some is real docs. Some is leftover template junk, pages about kanban boards and task lists that have nothing to do with us. Bots still read it, and it still shapes what AI thinks your brand is about.
02
Work-in-progress pages/wip/integrations/*
Being read by bots while they're still half-built, the opposite of the finished pages we actually listed.
03
Stale and orphaned pages/old-home · /webinar
An old home page, an empty webinar page, and job listings that show up in the logs but never made it into the sitemap.
04
System files/robots.txt · /sitemap.xml
Expected. Handy as a quick check that we captured the full logs.
This isn't just us; it's how most of the web looks. Vercel and MERJ studied over 500M AI-crawler fetches and found these bots hit dead pages about one in three times, over 34% ending in a 404, versus about 8% for Googlebot. Most of that waste is exactly what the CDN-only group shows: old sitemap entries, broken links, and renamed pages the bot still thinks are live. AI crawlers keep a list of these dead pages and keep visiting them. Every wasted visit is a real, live page somewhere else on your site the bot didn't reach.
05 · Why this matters more for AI than traditional SEO
Why this matters more for AI than for old-school SEO
Old search engines were forgiving. They'd index the junk, rank it low, and move on. AI doesn't rank, it reads everything and writes an answer. When it answers a question about your company, it pulls from whatever it read, and you don't control the mix. A stale help page or a half-built draft doesn't just sit at the bottom where no one looks. It becomes part of what AI says about you.
That raises the stakes of the CDN-only group. Every stray page in it can quietly shape how AI describes you, with none of the care you'd give a page you chose to publish. The sitemap is what you meant to say. The logs are what AI is actually reading. The gap between them is your risk.
06 · Why CDN logs are the only place this is visible
Why CDN logs are the only place you can see this
This has to be done with CDN logs, not your analytics tool, because your analytics can't see these bots at all. Analytics runs on JavaScript, and the big AI crawlers don't run JavaScript. Vercel and MERJ checked more than 500M GPTBot fetches and saw no JavaScript running, and the same was true for ClaudeBot and PerplexityBot. ClaudeBot even downloaded JavaScript files about a quarter of the time and never ran them. The one real exception is Google's Gemini crawler, which uses Google's own rendering.
500M+
GPTBot fetches analyzed, with zero JavaScript execution found
23.8%
of ClaudeBot requests downloaded JavaScript, and never ran it
AI crawler 404 rate 34 percent versus Googlebot 8 percent
DEAD-URL (404) RATE
AI crawlers0%
Googlebot0%
The result is blunt: a page built with JavaScript can rank fine on Google but look empty to ChatGPT, Claude, and Perplexity, and any tracking that needs that same JavaScript never fires for those bots. Your analytics shows you humans. It doesn't show you the machines that are now most of your traffic. CDN logs are, as one 2026 analysis put it plainly, the only reliable source, and comparing AI bot visits against your sitemap is what shows the gap.
07 · Run the sitemap-vs-logs comparison yourself
You can run this yourself
The point isn't our 814 pages. It's the comparison itself, and any brand can run it.
1Get every page from your sitemap.
2Get every page bots visited from your CDN logs over a set period.
3Tidy both lists so the same page doesn't appear twice: drop the domain, match trailing slashes, and decode odd characters.
4Line them up and sort each page into both, sitemap only, or CDN only.
Then read the three groups in order. Sitemap only is your "can't be found" list: fix the links, or accept it's invisible to AI. CDN only is your risk list: go page by page and decide if you want bots there, then clean up the rest. Both is the healthy core.
It only works with CDN logs. You can't compare against traffic you can't see, and normal analytics never sees these bots because they don't run JavaScript. The logs are the only place the truth lives. The sitemap says what you published. The logs say what the machines actually read.
When the two lists disagree, believe the logs.
42AI Impressions
+600%Growth
42AI Impressions
+600%Growth
1 day
FAQs
What is the difference between a sitemap and CDN bot logs?
A sitemap is the list of pages you want crawlers to find, a wishlist. CDN bot logs show the pages bots actually visited. The gap between the two is where AI crawlers read content you never planned for.
Why can't my analytics tool see AI crawlers?
Analytics runs on JavaScript, and the major AI crawlers (GPTBot, ClaudeBot, and PerplexityBot) don't execute JavaScript. Vercel and MERJ analyzed more than 500 million AI-crawler fetches and found zero JavaScript execution. Only CDN logs capture these bots, so your analytics shows you humans, not the machines that are now most of your traffic.
How do I compare my sitemap to my CDN logs?
Get every page from your sitemap, and every page bots visited from your CDN logs over a set period. Normalize both lists so the same page doesn't appear twice: drop the domain, match trailing slashes, and decode odd characters. Then sort each page into three buckets: in both, sitemap only, or CDN only.
What does it mean if I have pages in my logs but not my sitemap?
Those are pages bots read that you never chose to publish: stale help docs, half-built drafts, orphaned pages. AI doesn't rank and bury weak content the way old search engines did; it reads everything and writes an answer, so any of those pages can quietly shape how AI describes your brand.
Why does this matter more for AI search than traditional SEO?
Traditional search engines rank pages and bury the weak ones. AI reads everything and writes a single answer, pulling from whatever it read. A stale help page or a half-built draft doesn't sit harmlessly at the bottom, it becomes part of what AI says about you.
Do AI crawlers like GPTBot and ClaudeBot run JavaScript?
No. In an analysis of over 500 million fetches, none of the major AI crawlers rendered JavaScript. ClaudeBot even downloaded JavaScript files about 23.8% of the time and never executed them. The one exception is Google's Gemini crawler, which uses Google's own rendering. This is why a JavaScript-built page can rank fine on Google but look empty to ChatGPT, Claude, and Perplexity.