Skip to content
RankX AI

GEO Fundamentals

How AI Crawlers Read Your Site

AI crawlers such as GPTBot, ClaudeBot and PerplexityBot fetch your raw HTML and execute no JavaScript, so content that only appears after scripts run is invisible to them. Each vendor runs separate bots for training, search and user requests, and blocking the wrong one removes you from answers without protecting anything.

By Asif Syed, Founder & CEOPublished Last updated 5 minute read

On this page
  1. What is an AI crawler?
  2. Which AI crawlers actually matter?
  3. How do AI crawlers differ from traditional web crawlers?
  4. Do AI crawlers execute JavaScript?
  5. What about the agentic browsers?
  6. Should you allow or block AI crawlers?
  7. How to verify what the crawlers can see
  8. Sources

What is an AI crawler?

An AI crawler is a bot that fetches web pages for an artificial intelligence system rather than for a classic search index. AI companies run them for three distinct jobs: collecting web content at scale to train large language models, building the indexes that feed generative search results, and real-time retrieval, the retrieval augmented generation that lets an assistant answer a query with information beyond its training data. Each bot announces itself with a user agent string, which is what every control below keys on.

The three purposes matter more than the names, because the data collection you might object to (LLM training) and the AI crawler activity you probably want (search indexing and retrieval, the requests that surface websites in AI answers) come from different bots with different rules. Blocking by vibes blocks the wrong one.

Which AI crawlers actually matter?

Every major vendor now runs separate crawler bots for separate purposes, and the split is the single most important fact in this topic, because the control you set for one purpose does not apply to the others.

  • OpenAI: GPTBot, from OpenAI's model training pipeline, crawls for training; OAI-SearchBot indexes for ChatGPT Search; and ChatGPT-User fetches when a user asks about your URL.
  • Anthropic: ClaudeBot crawls for training, Claude-SearchBot indexes for answers, Claude-User fetches on request.
  • Perplexity: PerplexityBot builds the Perplexity AI index (rebuilt in-house in 2025), Perplexity-User fetches for individual sessions.
  • Google: Googlebot serves everything including AI Overviews and AI Mode; Google-Extended is a control for Gemini training and grounding, and notably does not opt you out of AI Overviews.
  • ByteDance: Bytespider crawls for training and is widely reported to ignore robots.txt, which is one reason CDN-level bot controls exist at all.

How do AI crawlers differ from traditional web crawlers?

Traditional search engine crawlers exist to send you human traffic: Googlebot fetches so that search results can rank your pages and readers can click through. Most AI bot traffic has no such loop. A training crawler scrapes web content once and the value flows to model training; Anthropic's crawl-to-referral ratio has been measured in the tens of thousands of fetches per referred visit. Search crawlers from the same AI platforms sit in between: they index so AI assistants can cite you, which is the closest the new bots come to the old bargain.

The operational differences bite too. Decades of search crawling produced bots engineered to avoid overwhelming servers; AI crawler traffic is younger and blunter, with measured traffic spikes and over half of requests re-fetching unchanged pages. And no AI crawler renders JavaScript, where Googlebot does, which is the difference that decides what the LLMs behind the assistants can actually read.

Do AI crawlers execute JavaScript?

No, and the scale of the evidence makes this the most settled fact in AI search. Vercel and MERJ analysed more than 500 million fetches and found GPTBot, ClaudeBot, PerplexityBot and Meta's crawler download JavaScript files, GPTBot in about 11.5 percent of requests and ClaudeBot in about 23.8 percent, and execute none of them. Independent re-verification through 2025 and 2026 found the same: every OpenAI, Anthropic and Perplexity crawler reads raw HTML only. Googlebot remains the one major crawler with full rendering.

The consequence is a one-line test that matters more than any audit: view the page source, not the DOM, and search for the sentence that must be found. Content visible in your browser's inspector but absent from view-source does not exist for most AI systems. Retrieval pipelines then convert that HTML to plain text and hand the model snippets, which is also why nothing meaningful should live only in script tags: a measured test found no engine extracted a price that existed only in JSON-LD.

What about the agentic browsers?

One nuance keeps this from being absolute. AI-powered agent modes, ChatGPT agent, Perplexity Comet, Claude operating a browser, drive real browsers and do render JavaScript. But each of those is a per-user session, an AI agent acting on a page it was already sent to. Retrieval and citation, the systems that decide whether anyone is sent to your page at all, still run on the raw HTML. Build for the crawler; the agent inherits it.

Should you allow or block AI crawlers?

Because the bots split by purpose, the useful question is never should I block AI but which purpose do I want to refuse. The trade per purpose: allowing LLM training bots donates website content to model training with no measured visibility return; allowing the search and retrieval bots is what makes your brand quotable in AI answers, and blocking them is invisibility by choice. Many sites happily block training crawlers while staying retrievable; the reverse mistake, blocking a search-purpose bot to make a point about training, is a self-inflicted removal from the channel this whole discipline is about.

Your CDN may also be deciding how you manage AI access for you. Cloudflare began blocking mixed-use AI crawlers by default for new zones and its free tier from September 2026, and roughly a quarter of the top thousand sites already block GPTBot. If AI visibility matters to you, the check that settles it is not your robots.txt file but your server logs: are the search-purpose bots getting 200 responses in practice.

How to verify what the crawlers can see

  1. Run the free AI Crawler Access Checker: it reads your robots.txt the way each named bot does and reports who is allowed, who is blocked, and whether the rules say what you think they say.
  2. View source on your key pages and search for the sentences that must be quotable. If they are not in the raw HTML, nothing downstream matters.
  3. Check server or CDN logs for the search-purpose bots specifically, OAI-SearchBot, Claude-SearchBot, PerplexityBot, returning 200s. A CDN rule can silently override everything the file says, and the vendors' published IP ranges let you separate verified AI crawler traffic from impostors wearing the same user agent.
  4. Expect wasteful bot traffic and cache accordingly: over half of AI crawler requests re-fetch unchanged pages, so serve them cheap cached 200s rather than blocking them for cost.

Everything a crawler needs is also everything extraction needs, so this work compounds: the GEO guide covers what to do with the access once it is verified, and Website Audit runs these checks across the whole site rather than one page at a time.

Sources

From RankX AIWebsite AuditFind what keeps your pages out of AI answers.

Questions about GEO Fundamentals

Is ChatGPT a web crawler?

No. ChatGPT is an assistant; the web crawler work happens through OpenAI's three named bots. GPTBot collects pages for LLM training, OAI-SearchBot builds the index ChatGPT Search answers from, and ChatGPT-User fetches a page live when you ask about it. When people say ChatGPT crawled my site, one of those three user agents is what their logs actually show.

Does blocking GPTBot remove my site from ChatGPT?

No, and this is the most consequential misunderstanding in crawler control. GPTBot is OpenAI's training crawler; ChatGPT Search retrieves through OAI-SearchBot, a separate bot with a separate robots.txt rule. Blocking GPTBot opts you out of training data while leaving you retrievable in answers. Blocking OAI-SearchBot removes you from the answers themselves.

Why does my JavaScript-rendered content rank in Google but never get cited by assistants?

Because Googlebot is the only major crawler with full JavaScript rendering. GPTBot, ClaudeBot and PerplexityBot fetch the raw HTML and execute nothing, so content injected client-side exists for Google and not for them. The fix is server-side rendering or static generation for anything that must be quotable.

Can robots.txt keep AI systems off my site completely?

No. robots.txt governs crawling by compliant bots, and the user-triggered fetchers openly bypass it: when a person pastes your URL into an assistant, Perplexity-User and ChatGPT-User fetch it regardless, because a human asked. Treat robots.txt as a policy signal for indexing and training, never as an access control.

Related reading

  • Generative Engine Optimization: A Complete Guide

    Generative Engine Optimization (GEO) is the practice of making a brand and its pages retrievable, quotable and recommendable by generative engines such as ChatGPT, Google AI Overviews, Perplexity, Claude, Gemini and Grok. It extends SEO: the same crawlable, well-structured content, written and organised so generative AI systems can extract it and name you.

  • What Is llms.txt, and Do You Need One?

    llms.txt is a proposed plain-text file at your site root listing the pages AI systems should read, in Markdown. The honest evidence: no major engine documents consuming it, and 97 percent of the files in a 137,000-domain log study received zero requests. Ship one only because it is cheap, never as a visibility lever.

  • GEO vs SEO vs AEO: What's the Difference?

    SEO earns retrieval: crawlable pages, resolvable entities and rankings in a search index. AEO earns extraction: answer-first structure an engine can quote. GEO is the umbrella covering both plus off-page reputation, aimed at AI answers. Prioritise SEO first because it gates the other two, then apply AEO structure to every page.

Written by

Asif Syed · Founder & CEO

Asif Syed is the founder and CEO of RankX AI, the AI search visibility platform. He builds the product and writes here about GEO, AI search measurement and WordPress.

This article covers the GEO Fundamentals topic, the Website Audit feature and the AI Crawler Access Checker tool. Terms used: GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot, ChatGPT-User, AI Crawler, Google-Extended, Robots.txt and Server-Side Rendering (SSR).

Everything RankX AI publishes is listed on the blog index, and this page is available as Markdown at /blog/how-ai-crawlers-read-your-site.md. Or hand it straight to an assistant: Ask ChatGPT, Ask Claude or Ask Perplexity. And if Google is your front door, you can add RankX AI as a preferred source, which asks your own results to surface more of what we publish.

Back to the top