Probe a URL
Idle
Under 60 min oldVerdict
Enter a URL to see what each AI bot receives from it.
Exposure boardSelect a bot to jump to its row.
JavaScript gapWords in the raw HTML compared with the rendered page.
Not run yet.
Raw HTMLWhat a non-rendering bot reads
Nothing yet.
RenderedWhat the rendered page contains
Nothing yet.
AgentsOne row per named bot. Select a row for its details.
| Agent | robots.txt | Response | vs browser | Exposure |
|---|
SignalsDeclarations the site makes about crawling and AI use.
Present Present and aimed at AI use Absent
Notes
Vendor IP lists
How it worksWhat it checks, how, and what it cannot tell you.
What it checks
- robots.txt verdict per bot token, using RFC 9309 matching.
- The real HTTP response each bot’s User-Agent receives: status, redirects and headers. 23 of the 25 agents are fetched; Google-Extended and Applebot-Extended are robots.txt tokens with no User-Agent, so only their robots.txt verdict is reported.
- Bot-management challenges from Cloudflare, DataDome, Akamai and others.
- Raw text versus rendered text, before and after headless Chrome runs the page.
- Markdown negotiation: whether the URL returns Markdown for
Accept: text/markdown. - Content-licensing signals:
Content-SignalandLicense(RSL) lines in robots.txt, RSL links, the aiprefContent-Usageheader,X-Robots-Tag, meta robots andllms.txt.
Method
- Roster: 25 agents from 12 vendors, with User-Agent strings, tokens and IP-list links taken from vendor documentation, last checked on 2 November 2026. Where a vendor publishes no User-Agent (Anthropic’s three bots and Bytespider at that date), the row is marked “UA unverified”.
- robots.txt: fetched once with a browser User-Agent and matched per token under RFC 9309 (longest rule wins; Allow beats Disallow on a tie).
- Fetching: each fetched agent requests the page under its own User-Agent, 150 milliseconds apart; the baseline is one desktop Chrome request.
- Comparison: challenges are matched from headers and page text; similarity is word three-shingle overlap with the browser view (texts of 20 words or more only).
- JavaScript gap: raw HTML text compared with
document.body.innerTextafter headless Chrome waits for the page to settle. - Rendering evidence: vendor documentation where it exists (Google and Bing document rendering; Apple says Applebot may render; Common Crawl documents that it does not), otherwise independent tests (Vercel and MERJ, December 2024; Glenn Gabe, updated October 2026).
What this tool cannot tell you
- How the real bots are treated. Probes come from Botglass’s own IP address, not the vendors’ ranges, so a firewall that verifies crawlers by IP may treat the genuine bot differently.
- Whether a bot obeys robots.txt. “Honours robots.txt” is the vendor’s own statement; Botglass does not test it.
- Whether an AI product will cite or recommend you. Access is a precondition, not a prediction.
- Whether licensing signals work. Content Signals, aipref and RSL have no confirmed enforcement by AI vendors as of November 2026. Botglass reports that they are declared, not that anyone obeys them.
- More than a snapshot. One page, fetched once per agent from one IP; firewalls can answer inconsistently. Results are cached for an hour.
- Challenges it does not recognise. Detection is pattern-based, so a custom challenge page can look like a normal page. A site may also serve a different robots.txt by User-Agent or IP; Botglass reads it once, as a browser.
- Lazy-loaded content. The render is one desktop Chrome load with no scrolling or clicking.
What the states meanHow to read a result.
Everything is compared with a “browser view”: the same URL fetched once with a desktop Chrome User-Agent. If that fetch is itself challenged or refused, Botglass shows an amber warning, as the comparisons then rest on a weak baseline.
Exposure states
- Open
- robots.txt does not disallow the bot, the server answered normally and the text matches a browser’s.
- Robots blockDisallowed by robots.txt
- The site asks this bot to stay away and the vendor says it honours that.
- Blocked at edge
- robots.txt did not stop it, but the server, CDN or firewall refused it, rate-limited it or served a challenge. When the refusal matches a known edge setting, Botglass names it as a likely cause.
- Leaky
- robots.txt disallows the bot, but the vendor says this fetcher may ignore it and the page was reachable. A request, not a lock.
- DifferentDifferent content
- Reachable, but not what a browser gets (under 50% text overlap, an HTTP error while the browser view loaded, or a redirect to another site).
- Token allowedPermitted (token only)
- robots.txt does not disallow a Google-Extended or Applebot-Extended token. Nothing is fetched.
- Unknown
- Server error, network failure, or the browser view failed too.
The three groups
Results are grouped by the question they answer.
- Search and answer engines: can this page be indexed and cited in AI search and answers?
- Live fetchers and agents: can an assistant read it when a user asks about it?
- Training crawlers: can it be collected for model training?
Being readable is necessary for each of these, not sufficient.
The JavaScript gap
Independent tests suggest most AI bots read only the raw HTML. Botglass rates the share of rendered words missing from the raw HTML as none (under 2%), low (2 to 10%), moderate (10 to 40%), high (40% or more) or critical (an almost empty shell), and lists the agents recorded as not rendering. It counts words, not importance, so menus and boilerplate are included.
FAQSelect a question to open the answer.
Why does Googlebot show as challenged on my site?
Because the request did not come from Google. Botglass sends Googlebot’s User-Agent from its own IP address, which is exactly what a spoofed crawler looks like, and bot-management systems commonly check Googlebot by IP range or reverse DNS. A challenge here often means your firewall is working. It does not show that the real Googlebot is blocked. To check that, use the live test in Google Search Console’s URL Inspection tool, and look in your server logs for Googlebot requests verified against Google’s published IP ranges.
Why does it say Cloudflare ‘Block AI bots’?
Because the refusal matched the stock response of Cloudflare’s managed “Block AI bots” setting: HTTP 403, a plain-text body reading “Your request was blocked.”, served at the edge within milliseconds, and no robots.txt rule involved. That is a fingerprint, not a reading of your Cloudflare settings, so Botglass names the setting as a likely cause rather than a certainty. It has been on by default for new Cloudflare zones since July 2025, and older zones are offered it as a one-click prompt.
If you want the site to appear in AI answers without feeding model training, Cloudflare’s AI Crawl Control lets you allow the search and answer bots (OAI-SearchBot, ChatGPT-User, PerplexityBot, Perplexity-User, Claude-SearchBot) while keeping GPTBot, CCBot and Bytespider blocked. Botglass shows this split as “training” versus “visibility” in the verdict panel, so the cost of a block is clear. Run Botglass again afterwards to confirm the change.
Does blocking GPTBot affect my Google rankings?
There is no documented link. GPTBot is OpenAI’s training crawler: disallowing it tells OpenAI not to use your content for training. What can matter is a firewall rule broad enough to catch Googlebot too. Two related points: OAI-SearchBot is a separate OpenAI token for ChatGPT search, so blocking it changes whether OpenAI can index your pages for search; and Google-Extended governs Gemini training and grounding, and Google says it does not affect Search inclusion or ranking. Botglass shows each token separately for this reason.
Is llms.txt worth adding?
Botglass reports whether the file exists; it does not claim that the file helps. llms.txt is a community proposal, not a standard, and we are not aware of a major AI vendor confirming that it reads the file when retrieving or ranking pages. It takes little time to add and does little harm if ignored, so treat it as optional housekeeping rather than a visibility lever. Some SEO plugins can generate it for you.
Why do results differ from my server logs?
Your logs show what real bots did. Botglass shows what happens when one request carrying a bot’s User-Agent arrives from a different IP address. Differences are expected: firewalls may treat verified IPs differently, a bot may never have visited that page, robots.txt can be served differently by User-Agent or IP, and a single fetch is a snapshot. To see which of your log entries were genuine, compare them with each vendor’s published IP list, which is linked from every row in the tool.
Is probing with a bot’s User-Agent legitimate?
Sending a crawler’s User-Agent is routine in SEO tools (Screaming Frog, for example, lets you choose one), and it is the only way to see how a server responds to that name. It is still presenting as something Botglass is not, from an address the vendors do not use, so the tool is restrained: it requests only the URL you give it plus robots.txt and llms.txt, does not crawl, spaces requests out, refuses private addresses, and caps checks per visitor, per site and per day. It adds no identifying token and does not try to get past challenges. Test sites you own or have permission to test.
Does Botglass keep what I enter?
Results are held in memory for up to an hour so that repeat checks are quick. Application logs record the target host, not the full URL, and a salted hash of the visitor’s IP address, not the address itself. Our hosting provider and, where switched on, Cloudflare Turnstile process requests under their own terms. Do not enter URLs that contain passwords or tokens.
From Totally
Botglass shows whether bots can reach a page. Totally Answers tracks what AI assistants actually say about a brand over time, and our SEO services cover the technical work in between.
Talk to Totally about AI search