1. What Is an LLM Crawler?
An LLM crawler is an automated web agent operated by an AI lab or AI search product that traverses the public web to collect content for one of two fundamental purposes: building large language model training corpora, or performing real-time content retrieval to source answers for live AI search queries. The two purposes are distinct, but an increasing number of crawlers now serve both simultaneously.
LLM crawlers arrived en masse in 2023, following the public deployment of ChatGPT and the rapid acceleration of the generative AI search market. Before that year, a site's crawler management obligations were essentially binary: manage Googlebot and manage everything else. Today, an enterprise site may receive crawl traffic from eleven or more distinct AI agents in a single month — each operating under a different user-agent string, serving a different pipeline stage, and requiring independent robots.txt configuration.
LLM crawler — an automated HTTP client operated by an AI organization that retrieves web content for inclusion in one or both of: (1) a large language model training dataset used to update model weights, or (2) a real-time retrieval-augmented generation (RAG) pipeline that sources passages to answer live user queries. LLM crawlers are distinct from traditional search indexing crawlers and must be managed as an independent category in any enterprise crawl access policy.
The emergence of this crawler class carries a direct commercial implication. The content your site makes accessible to LLM crawlers determines your brand's representation inside the AI systems that now answer millions of user queries per day. Content that is blocked, technically inaccessible, or poorly structured for machine parsing is absent from those answers — regardless of how well it ranks in traditional search.
This handbook is the complete field reference for understanding and managing every LLM crawler active in 2026.
2. Training Crawlers vs. Inference Crawlers
The single most important conceptual distinction in LLM crawler management is the difference between training crawlers and inference crawlers. Conflating the two leads to misconfigured access policies that either over-expose proprietary content or under-expose citation-worthy content.
Operate on a scheduled batch basis. Collect content that will be incorporated into the next LLM model training run — updating the model's internalized knowledge base. The content ingested influences what the model "knows" at a static level.
Crawl cycles range from days to weeks. Content changes between crawls are not reflected in model outputs until the next training update. Strategic IP risk: training crawlers ingest content into model weights that may reproduce it across many future queries.
Operate on a query-triggered, real-time basis. Fetch content at the moment a user's query requires live web retrieval to generate an answer. The content surfaces in a specific AI response, typically with a citation link, then is not stored persistently.
Server response time is critical: slow TTFB causes source abandonment. Citation display is direct — users see your URL in the response. High commercial value for brand awareness. Lower IP risk: content is retrieved and returned, not baked into model weights.
| Dimension | Training Crawler | Inference Crawler |
|---|---|---|
| Crawl Trigger | Scheduled batch run | Live user query |
| Content Destination | LLM training dataset → model weights | RAG retrieval → single query response |
| Crawl Frequency | Days to weeks | Real-time, on-demand |
| IP Risk Level | Higher — content absorbed into model | Lower — content returned, not retained |
| Citation Display | Indirect — influences model knowledge | Direct — URL shown to user in response |
| Server Speed Sensitivity | Moderate | Critical — timeout = source abandonment |
| Block Consequence | Brand absent from model's trained knowledge | Brand absent from live AI search answers |
| Primary Examples | GPTBot (training), ClaudeBot, Meta-ExternalAgent | PerplexityBot, OAI-SearchBot, YouBot |
Several crawlers now serve both training and inference functions under a single user-agent. GPTBot is the most prominent example: it collects training data on a batch schedule and also powers ChatGPT's real-time web browsing feature under the separate agent OAI-SearchBot. When configuring access, treat these as distinct agents requiring separate robots.txt directives, even when they originate from the same organization.
3. How LLM Crawlers Fit the Generative Search Pipeline
To manage LLM crawler access strategically, teams need to understand exactly where in the generative answer pipeline each crawler operates. The pipeline has four distinct stages, and crawler access at each stage determines a different kind of visibility.
Stage 1 — Web Corpus Collection (Training Crawlers)
GPTBot / ClaudeBot
quality / dedup
tokenized corpus
weight updates
static until retrain
Training crawlers ingest content into model weights. Brands present in the training corpus are represented in the model's internalized world-knowledge — the baseline the LLM draws from when answering questions without live retrieval. Exclusion from training corpora means the model is less likely to reference your brand or cite your claims even when it has the opportunity.
Stage 2 — Retrieval-Augmented Generation (Inference Crawlers)
live intent
vector transform
PerplexityBot etc.
top-k chunks
URL displayed
Inference crawlers retrieve content at query time, inserting it into the LLM's context window to ground the response in current web content. This is the pipeline stage that produces visible source citations in Perplexity, ChatGPT web search, and Google AI Overviews. Real-time server response, clean HTML parsing, and structured passage organization all directly affect whether your content is selected and surfaced.
Stage 3 — Vector Index Pre-Computation (Hybrid)
Some AI search products maintain a pre-computed vector index of the web — crawling on a rolling schedule to embed content into a searchable vector database, then querying that index at inference time rather than performing live crawls per query. This hybrid approach is used by Google AI Overviews (which draws from an already-indexed corpus) and is increasingly adopted by other large-scale AI search products. Access to this pipeline requires clean crawling, proper schema markup, and freshness signaling through sitemap <lastmod> dates.
4. Complete LLM Crawler Profiles
The following profiles cover every major LLM crawler active as of July 2026. Each entry documents the crawler's operator, pipeline role, user-agent strings, crawl behavior characteristics, and the strategic access consideration relevant to enterprise GEO.
ClaudeBot and anthropic-ai — both must be addressed independently in robots.txt. Primarily a training data crawler; Claude's live web retrieval in products operates through separate infrastructure. As Claude adoption grows in enterprise knowledge-worker workflows, training corpus inclusion becomes increasingly relevant for brand citation in AI-assisted research.Meta-ExternalAgent is the primary AI training agent, distinct from FacebookBot (used for social graph crawling and Open Graph metadata) and the separate crawler for Instagram link previews. Configure all three independently. Meta AI's deployment across Facebook, Instagram, and WhatsApp creates meaningful surface area for citation visibility despite lower individual crawl priority.Applebot, which crawls for Apple Search (Spotlight and Safari suggestions). Applebot-Extended specifically governs Apple Intelligence features — on-device AI summaries in iOS 18+, enhanced Siri responses, and Safari reading mode AI summaries. Growing strategic relevance as Apple Intelligence expands across the iOS install base. Configure independently from standard Applebot directives.5. User-Agent String Quick Reference
The following table consolidates every confirmed user-agent string for active LLM crawlers as of July 2026. Use this as a configuration reference when drafting or auditing robots.txt directives.
| Crawler Name | User-Agent String(s) | Pipeline Type | Operator |
|---|---|---|---|
| GPTBot | GPTBot | Training | OpenAI |
| OAI-SearchBot | OAI-SearchBot | Inference | OpenAI |
| Google-Extended | Google-Extended | Both | |
| ClaudeBot | ClaudeBot / anthropic-ai | Training | Anthropic |
| PerplexityBot | PerplexityBot | Inference | Perplexity AI |
| Meta-ExternalAgent | Meta-ExternalAgent / FacebookBot | Training | Meta |
| Applebot-Extended | Applebot-Extended | Both | Apple |
| Amazonbot | Amazonbot | Training | Amazon |
| YouBot | YouBot | Inference | You.com |
| BraveBot | BraveBot | Both | Brave Software |
| cohere-ai | cohere-ai | Enterprise RAG | Cohere |
User-agent strings are versioned and updated as AI products evolve. The strings listed here reflect confirmed deployments as of July 2026. Always verify against each operator's official crawler documentation before deploying robots.txt changes — an outdated or incorrect user-agent string in a Disallow directive will silently fail to block the intended crawler. Check server access logs post-deployment to confirm the directive is intercepting the correct traffic.
6. llms.txt — The Emerging Standard for LLM Content Discovery
llms.txt is a Markdown-formatted file placed at the root of a website that provides LLM crawlers and AI agents with a structured, human-readable index of a site's most LLM-relevant content. It was proposed by Jeremy Howard in 2024 and has gained meaningful adoption among AI search products through 2025–2026.
The file is analogous to — but distinct from — robots.txt and sitemap.xml. Where robots.txt governs access control and sitemap.xml governs crawl discovery, llms.txt governs content relevance signaling: it tells AI agents which pages are the most valuable for retrieval, summarization, and citation, without requiring the crawler to traverse the full site architecture to discover them.
llms.txt is confirmed as a supported discovery signal by Perplexity AI and Anthropic. OpenAI and Google have acknowledged the standard without formal adoption commitments. The file is additive — crawlers that do not yet read it are unaffected by its presence, making implementation a zero-risk, positive-return GEO action for any enterprise site. Thousands of domains including major tech companies, publishers, and SaaS platforms had implemented llms.txt by Q1 2026.
7. llms.txt Implementation Guide
The llms.txt specification defines a simple Markdown document structure. The file lives at https://yourdomain.com/llms.txt — served as text/plain — and follows a consistent format of headings, page links, and one-line descriptions.
File Format Specification
Implementation Checklist
-
Create the file at /llms.txt
Place the file at your domain root:
https://yourdomain.com/llms.txt. Serve it asContent-Type: text/plain; charset=utf-8. The file must be publicly accessible without authentication and without redirect chains that could break crawler fetch. -
Write the site description block first
The opening summary paragraph is the most important content in the file — it is the first text an LLM processes when reading your llms.txt. Write a tight 2–4 sentence description of your organization, its domain expertise, its primary content focus, and the audience it serves. Use the language of entity description, not marketing copy.
-
Organize sections by content type, not site structure
Section headings should reflect content category (Definitions, Guides, Research, Case Studies, Product Documentation) — not your site navigation hierarchy (Services, About, Blog). LLM crawlers use section headings to classify content by purpose, not by site architecture.
-
Write one-line descriptions for every listed URL
Every entry must include a colon-separated one-sentence description after the link. This is the retrieval label — the description tells the LLM what query types this page is authoritative for. Write it as a factual statement of what the page contains, not a promotional teaser.
-
List only high-value LLM-readable content
Include definition pages, FAQ pages, how-to guides, original research, entity overview pages, and comprehensive pillar content. Exclude: thin pages under 500 words, promotional landing pages without informational value, paginated archives, gated content, and any page you would also exclude from a GEO-optimized sitemap.
-
Reference llms.txt from robots.txt
Add a pointer in your robots.txt file so crawlers that check that file also discover your llms.txt:
LLMs-txt: https://yourdomain.com/llms.txt. This is an unofficial convention gaining adoption but not yet part of the formal robots.txt specification. -
Create llms-full.txt for comprehensive coverage
The primary llms.txt should be concise — ideally under 100 entries. For sites with extensive content libraries, create a companion
llms-full.txtthat lists secondary content, and reference it from the bottom of the primary file. This allows crawlers with higher ingestion capacity to access the full content index without cluttering the primary signal. -
Update llms.txt when significant content is published
The file is not static documentation — it is an active crawl signal. Add new high-value content pages as they are published. Remove pages that have been significantly revised downward, merged into other content, or deprecated. Freshness of the file itself signals active content maintenance to crawlers that monitor it.
8. robots.txt Configuration for All LLM Crawlers
The following is the complete annotated robots.txt template covering all active LLM crawlers as of July 2026. Each agent is addressed by its confirmed user-agent string with inline commentary on the strategic rationale for the default access policy.
9. JavaScript Rendering and LLM Crawler Visibility
JavaScript rendering is the most under-acknowledged technical risk in enterprise LLM crawler management. The gap between what Googlebot sees (which executes JavaScript) and what most LLM training crawlers see (which do not) creates a class of content that is indexed for traditional search but invisible to the AI systems that now generate a growing share of user-facing answers.
What Training Crawlers Actually Receive
When GPTBot, ClaudeBot, or Meta-ExternalAgent fetches a page, they perform a standard HTTP GET request and parse the raw HTML response. They do not initiate a headless browser session, do not execute JavaScript, and do not wait for client-side rendering to complete. The content they see is equivalent to what curl https://yourdomain.com/page/ returns.
Sites built on React, Next.js (client-side rendering mode), Vue, or other JavaScript frameworks that render page content client-side will have their entire content body absent from LLM training crawler fetches — even if Google indexes the full page correctly. A page showing as fully indexed in Google Search Console is not evidence that LLM training crawlers can access its content. These must be audited and verified separately.
Diagnosing Your JavaScript Exposure
- Fetch key GEO content pages using
curl -A "GPTBot" https://yourdomain.com/page/and inspect whether the page body, key definitional paragraphs, FAQ content, and JSON-LD schema blocks are present in the raw response. - Check whether your JSON-LD structured data is injected via JavaScript (commonly done by CMS plugins and tag managers) or present in the server-rendered HTML. Run
curland search the response for<script type="application/ld+json">— if it is absent, schema is being injected post-render and is invisible to training crawlers. - Audit pages built with headless CMS or Jamstack architectures for static generation configuration. Next.js, Nuxt, and Gatsby can all be configured for SSG or SSR — verify that GEO-priority pages are not defaulting to CSR in production.
Remediation Options
- Server-Side Rendering (SSR): Configure Next.js
getServerSidePropsor equivalent for all GEO-critical pages. Ensures full page content is present in the initial HTML response on every fetch. - Static Site Generation (SSG): Pre-render all high-priority GEO pages at build time. Lower server load than SSR; appropriate for content that does not change per-request.
- Dynamic rendering: Deploy a rendering proxy (such as Rendertron or Prerender.io) that detects crawler user-agents and serves pre-rendered HTML specifically to them. Useful as a transitional solution but adds infrastructure complexity.
- Inline JSON-LD in server response: Move JSON-LD structured data from JavaScript injection to static server-rendered HTML regardless of page rendering mode. This alone materially improves schema visibility to training crawlers.
10. Content Signals LLM Crawlers Prioritize
Within the pages LLM crawlers are permitted to access, they apply an additional layer of selection — evaluating content quality signals to determine which passages to ingest with the highest confidence weighting. Understanding these signals allows enterprise teams to structure content that earns consistent high-confidence inclusion across all crawler types.
11. The Three-File AI Access Stack
Comprehensive LLM crawler management requires three distinct files operating in coordination. Each serves a different function in the AI access pipeline, and no single file can replace the others.
Each file complements the others. robots.txt sets the boundaries of what AI crawlers may access. The AI-priority sitemap tells crawlers which allowed pages to visit first. llms.txt tells AI agents — particularly those operating as research assistants rather than web crawlers — which content is most relevant to retrieve for any given information need. Together, the three files constitute a complete LLM access management architecture.
12. GEO Access Decision Framework
The access decision for each LLM crawler should be driven by three variables: the commercial value of citation visibility on that crawler's output surface, the IP risk of contributing content to that crawler's training pipeline, and the organization's competitive differentiation strategy. The following framework maps these variables to access recommendations.
| Crawler | Citation Surface Value | Training IP Risk | Default Recommendation |
|---|---|---|---|
| Google-Extended | Critical — AI Overviews | Moderate | Allow broadly |
| OAI-SearchBot | High — ChatGPT citations | Low (inference only) | Allow broadly |
| PerplexityBot | High — direct URL citations | Low (inference only) | Allow broadly |
| GPTBot | Moderate — training influence | Moderate | Allow content; block IP |
| ClaudeBot / anthropic-ai | Moderate — growing enterprise use | Moderate | Allow content; block IP |
| Applebot-Extended | Growing — iOS install base | Moderate | Allow — emerging priority |
| Meta-ExternalAgent | Moderate — consumer surfaces | Moderate | Allow content; block IP |
| YouBot | B2B / researcher audience | Low (inference) | Allow broadly |
| Amazonbot | Alexa / voice commerce | Low | Allow broadly |
| cohere-ai | Enterprise RAG pipelines | Moderate | Context-dependent |
The LLM crawler landscape changes faster than any other category in technical SEO. New crawlers launch, existing crawlers update their user-agent strings, and pipeline roles shift as AI products evolve. Review this configuration quarterly — verify each crawler's current user-agent string against official documentation, audit server logs for unrecognized agents, and reassess the commercial value of each crawler's citation surface as AI search market shares shift.
13. Intelligence Briefing: FAQ
Answers to the most common enterprise questions about LLM crawlers, the llms.txt protocol, and AI search access strategy.
/llms.txt on the domain root, it guides AI agents to the highest-value pages for retrieval, summarization, and citation without requiring crawlers to traverse the entire site architecture. Perplexity AI and Anthropic have confirmed adoption of the standard as a supported discovery signal.llms-full.txt.Audit Your LLM Crawler Configuration
Most enterprise sites have incomplete robots.txt coverage for AI crawlers, no llms.txt, and no visibility into which agents are actually reaching their content. The Search Intelligence Hub closes all three gaps with automated crawler auditing and GEO access optimization.
Schedule Technical Briefing