What it checks
The checker fetches the page the way a crawler would, from our servers, with nothing run in a browser:
- robots.txt, parsed the way RFC 9309 says crawlers should: a bot obeys the group that names it, and falls back to
User-agent: *only if none does. Then, for each AI search bot, assistant and training crawler we track, plus Googlebot and Bingbot for comparison, whether it may fetch your home page and this page. - The page as four AI crawlers. We request it as GPTBot, OAI-SearchBot, ClaudeBot and PerplexityBot and compare their answers with a browser’s. A 403 or a challenge page for a bot while a browser gets 200 means something between your server and the bot is turning it away.
- Text without JavaScript. Most AI crawlers read the HTML as it arrives. If the content only appears after scripts run, they see an empty page.
- noindex, nofollow and noai, in meta tags and the
X-Robots-Tagheader. - The sitemap, the canonical URL and JSON-LD, which help any crawler find the right page and understand what it is.
- Optional extras: a
Content-Signalline in robots.txt,/llms.txt, and a Markdown version of the page. They are shown but not counted, since no crawler is obliged to read them.
The usual reasons a page is invisible
A bot setting at the CDN. This is the most common one we see. Cloudflare’s AI crawler controls, Vercel’s bot protection and similar firewalls can block AI crawlers for the whole site, and robots.txt never gets a say. Check your CDN’s bot settings first when the crawler fetches fail.
One line in robots.txt. A Disallow: / under User-agent: * keeps out every bot that has no group of its own. And a group for one bot replaces the * rules for that bot entirely, so a bot-specific group with no rules lets that bot in everywhere.
A page built only in the browser. Single-page apps often send an empty <div id="root"> and fill it with JavaScript. Server rendering or static generation puts the text in the HTML, which is what crawlers read.
noindex left over from staging. It keeps the page out of search indexes, and AI search built on those indexes can’t cite it either.
What this check can’t see
It tests one page, from one place, with each crawler’s user agent but not its IP addresses. It doesn’t run JavaScript, log in, or accept a cookie banner. It can tell you that nothing on your side blocks a crawler; it can’t tell you what an AI product does with the page afterwards.
To see which AI crawlers actually read your pages, and how many visitors come back from AI answers, invisit records crawler reads next to your visits.