IMPLEMENT · Chapter 5
AI crawlers, robots.txt, and llms.txt for SMBs.
Every AI engine has two crawler categories: training bots that gather content for future model versions, and retrieval bots that power live answers. Citation share depends on the retrieval bots. Training bots are a licensing decision. Getting the robots.txt wrong is the single most common reason an otherwise GEO-ready site is invisible inside ChatGPT, Perplexity, and Claude answers.
KEY TAKEAWAYS
- Allow retrieval bots — OAI-SearchBot, ChatGPT-User, Claude-SearchBot, Claude-User, PerplexityBot, Perplexity-User, Bingbot.
- Decide on training bots — GPTBot, ClaudeBot, Google-Extended — based on content-licensing posture, not citation goals.
- llms.txt is a one-file infrastructure bet, not a ranking signal. Ship it; do not depend on it.
- "Block all AI bots" is the most expensive default an SMB can choose in 2026.
AI crawler decision matrix
| Vendor | Training bot | Retrieval bot(s) | Recommendation |
|---|---|---|---|
| OpenAI | GPTBot | OAI-SearchBot, ChatGPT-User | Allow OAI-SearchBot and ChatGPT-User (retrieval and live browsing). Decide on GPTBot based on the licensing stance — blocking it does not affect citations. |
| Anthropic | ClaudeBot | Claude-SearchBot, Claude-User | Allow Claude-SearchBot and Claude-User. Block ClaudeBot only if the content is genuinely off-limits for training — and accept the trade-off in long-tail model exposure. |
| Perplexity | (no training bot — Perplexity does not train base models) | PerplexityBot, Perplexity-User | Allow both. PerplexityBot indexes content for answers; Perplexity-User fetches in real time when a user runs a query. Blocking either eliminates the site as a citation source. |
| Microsoft | Bingbot (dual role — indexes for Bing and Copilot) | adidxbot for ads, Bingbot for organic | Allow Bingbot — there is no separate Copilot crawler. Copilot grounds on Bing's index, so disallowing Bingbot eliminates the site from both Bing and Copilot. |
| Google-Extended (training opt-out token) | Googlebot | Allow Googlebot. Google-Extended only opts content out of Gemini training — it does not affect AI Overviews citations, which still ground on the regular Google index. |
A minimum-viable robots.txt for GEO
The block below is the starting point I deploy on new SMB sites that want broad AI-citation eligibility without committing content to training. Edit the training-bot lines based on the licensing position the business wants to take.
# Search engines User-agent: Googlebot Allow: / User-agent: Bingbot Allow: / # AI retrieval bots — these power live citations. Allow. User-agent: OAI-SearchBot Allow: / User-agent: ChatGPT-User Allow: / User-agent: Claude-SearchBot Allow: / User-agent: Claude-User Allow: / User-agent: PerplexityBot Allow: / User-agent: Perplexity-User Allow: / # AI training bots — decide on licensing posture. # Default below is allow; flip to Disallow if content is not for training. User-agent: GPTBot Allow: / User-agent: ClaudeBot Allow: / User-agent: Google-Extended Allow: / # Default User-agent: * Allow: / Sitemap: https://example.com/sitemap.xml
llms.txt — ship it, but understand what it is
llms.txt is a proposed markdown file at the root of a domain that summarizes the site for language models — title, short description, and links to the most important pages.
- The cost is one file. A few hundred lines of markdown that mirror the site map and highlight the pages that matter most.
- No major provider has committed to it as of mid-2026. Not OpenAI, not Anthropic, not Perplexity, not Google. Treat llms.txt as developer-experience hygiene rather than a ranking signal.
- The upside is asymmetric. If even one engine starts honoring it, the work is done. The downside of having it is zero.
- Keep it honest. If llms.txt becomes a signal and it lists pages that no longer exist or misrepresents the site, the engine will downgrade trust. Treat it like the sitemap — auto-generated from the same source of truth.
- SMBs starting from a robots.txt with no AI-bot rules and wanting broad citation eligibility.
- Sites doing content licensing conversations and needing to demonstrate explicit training-bot opt-outs.
- Founder-led businesses where the entity graph (author + organisation) is a real asset and citation share converts.
- Robots.txt blocks the retrieval bots — citation eligibility goes to zero immediately.
- Training bots are blocked but the legal team forgets the retrieval bots also need an explicit Allow.
- llms.txt is treated as a ranking play instead of an infrastructure bet.
- Test robots.txt with each AI bot user-agent in a fetch tool — confirm 200 responses.
- Re-check the robots.txt after every CMS or framework upgrade — defaults change quietly.
- Confirm llms.txt is regenerated whenever the sitemap is.
Frequently asked
Should I allow GPTBot in robots.txt?
+
GPTBot is OpenAI's training crawler, meaning it gathers content specifically to train future GPT models rather than to power live ChatGPT answers in real time. Allowing or blocking it does not directly affect citation share inside ChatGPT today, since that live citation process is driven by two separate bots, OAI-SearchBot and ChatGPT-User, not by GPTBot at all. The decision on GPTBot specifically should come down to the content-licensing stance a business wants to take toward AI model training in general. The retrieval bots, OAI-SearchBot and ChatGPT-User, are the ones that actually matter for citations and should be allowed regardless of the GPTBot decision.
What is the difference between Perplexity-User and PerplexityBot?
+
PerplexityBot is the persistent crawler that indexes a site's content in advance, building it into Perplexity's own standing search index over time. Perplexity-User is a separate live-fetch agent that retrieves a specific page in real time at the exact moment a user runs a query that touches on that page's content. Both bots are needed for full Perplexity citation coverage on a given page, and blocking either one on its own materially reduces the overall chance of that page getting cited in a Perplexity answer.
Is llms.txt actually used by any AI provider?
+
As of mid-2026, no major AI provider has publicly committed to honoring llms.txt as an actual ranking or citation signal. The proposal originated as an Answer.AI initiative that summarizes a site's content for language models inside a plain markdown file placed at the site's root. The implementation cost is genuinely low, just one file to create and maintain, but the practical upside remains unproven and asymmetric against that low cost. The reasonable approach is to ship it as a low-effort developer-experience nicety rather than treat it as a real ranking play, and not to depend on it for any measurable citation gains.
Does opting out of Google-Extended hurt my Google rankings or AIO citations?
+
Opting out of Google-Extended does not hurt Google rankings or AI Overviews citations. Google-Extended is specifically the opt-out token that controls whether Gemini can train on a site's content, and it is kept entirely separate from both the standard Googlebot crawl that drives ordinary search rankings and the AI Overviews grounding process that drives citations. Disallowing Google-Extended in robots.txt prevents a future Gemini model from training on that content, but it has no effect on either Google's regular search rankings or AI Overviews citation eligibility today. The choice is purely a content-licensing decision, not an SEO or GEO one.
What is the minimum viable robots.txt for GEO?
+
A minimum viable robots.txt for GEO starts by allowing Googlebot and Bingbot, which is simply table stakes for being found at all. On top of that, it should allow the full set of retrieval bots that power live AI citations: OAI-SearchBot, ChatGPT-User, Claude-SearchBot, Claude-User, PerplexityBot, and Perplexity-User. The separate training bots, GPTBot, ClaudeBot, and Google-Extended, are a different decision entirely, made based on the business's own content-licensing posture rather than on citation eligibility. The file should disallow nothing else by default unless there is a specific, documented reason to block something, and it should be revisited whenever a new AI crawler enters wide use across the industry.
How do I check whether Cloudflare or a CDN is silently blocking AI crawlers?
+
Cloudflare's AI Crawl Control feature and similar CDN-level bot-management products can block a retrieval bot even when the site's own robots.txt file explicitly allows it, because that kind of block happens at the network layer before the request ever reaches the site's actual server. The reliable way to check is to look directly inside the CDN's own bot-management dashboard, not just at the robots.txt file sitting on the server. A quietly widened block list at the CDN level is one of the most common silent causes of an SMB losing AI citations suddenly after an otherwise unrelated CDN or firewall configuration change.
Should I verify that a bot claiming to be GPTBot or PerplexityBot is real?
+
Verifying that a bot claiming to be GPTBot or PerplexityBot is genuinely real matters for any traffic that is going to inform a licensing decision. Bad actors regularly spoof AI crawler user-agent strings specifically to scrape a site's content without any real permission to do so. OpenAI, Anthropic, and Perplexity all publish either IP address ranges or reverse-DNS verification methods that confirm whether a given request actually came from their real, legitimate bot. Running server log analysis with reverse DNS lookups is the reliable way to separate verified crawlers from spoofers, and any unverified traffic merely claiming to be an AI bot should be treated as ordinary, unprivileged traffic until proven otherwise.
Does a slow server response rate hurt AI crawler retrieval the same way it hurts Googlebot?
+
A slow server response rate does hurt AI crawler retrieval, often even more sharply than it hurts Googlebot. Retrieval bots such as ChatGPT-User and Perplexity-User fetch a page live at query time and frequently operate under a tighter timeout window than the crawl budget Googlebot is generally allowed to work with. A page that takes several seconds to respond risks a failed or truncated fetch from one of these live-retrieval bots, and that failure shows up specifically as a missed citation opportunity rather than as a simple ranking drop the way a slow Googlebot crawl typically would. Server response time has effectively become a GEO metric in its own right now, not only a Core Web Vitals metric that matters for human visitors.
Official sources
- Google Search Central — AI features in Search
- OpenAI — ChatGPT crawlers (GPTBot, OAI-SearchBot, ChatGPT-User)
- Anthropic — Claude crawlers (ClaudeBot, Claude-SearchBot, Claude-User)
- Perplexity — PerplexityBot and Perplexity-User documentation
- Microsoft — Bingbot and adidxbot crawler documentation
- Schema.org — Article, FAQPage, SpeakableSpecification
- Google Search Central — Structured data general guidelines
- llms.txt proposal — Answer.AI