
{"id":2490,"date":"2026-09-18T03:34:20","date_gmt":"2026-09-18T03:34:20","guid":{"rendered":"https:\/\/maxaeo.ai\/blog\/robots-txt-for-llms\/"},"modified":"2026-09-18T03:34:20","modified_gmt":"2026-09-18T03:34:20","slug":"robots-txt-for-llms","status":"publish","type":"post","link":"https:\/\/maxaeo.ai\/blog\/robots-txt-for-llms\/","title":{"rendered":"Robots.txt for LLMs: How to Control AI Crawlers on Your Site"},"content":{"rendered":"<p><em>\u4f5c\u8005\uff1amaxaeo.ai\uff5c\u53d1\u5e03\u65e5\u671f\uff1a2025-06-02\uff5c\u66f4\u65b0\u65e5\u671f\uff1a2025-06-02<\/em><\/p>\n<p><strong>Robots.txt for LLMs is the practice of using your site&#8217;s robots.txt file to allow or block the crawler bots operated by AI companies<\/strong> \u2014 such as OpenAI&#8217;s GPTBot, Anthropic&#8217;s ClaudeBot, and PerplexityBot \u2014 so you control whether your content is used for model training or fetched for AI answers. For brands that want visibility in ChatGPT, Perplexity, and Gemini, the configuration is no longer optional housekeeping: one misplaced <code>Disallow<\/code> rule can make you invisible in AI search results.<\/p>\n<p>This guide covers the current AI user-agents, copy-paste configuration templates, the most common mistakes we see in real audits, and how to decide what to block.<\/p>\n<h2>What Is robots.txt for LLMs?<\/h2>\n<p>Robots.txt is a plain-text file at your domain root (e.g., <code>https:\/\/example.com\/robots.txt<\/code>) that tells automated crawlers which paths they may access. It follows the <a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc9309.html\" target=\"_blank\" rel=\"noopener\">Robots Exclusion Protocol<\/a>, standardized as RFC 9309 in 2022.<\/p>\n<p>In the LLM era, the same file now governs a second class of visitors: AI crawlers that either <strong>train foundation models<\/strong> on your content or <strong>retrieve pages in real time<\/strong> to answer user questions. The distinction matters enormously \u2014 blocking a training crawler protects your content from being absorbed into a model, while blocking a retrieval crawler removes you from live AI answers entirely.<\/p>\n<p>Robots.txt is advisory, not enforceable. Most major AI companies publicly commit to honoring it, but compliance is voluntary \u2014 which is why many sites pair it with CDN-level bot blocking (Cloudflare, for example, offers one-click AI bot blocking) for hard enforcement.<\/p>\n<h2>Which AI User-Agents Should You Know?<\/h2>\n<p>There are roughly two dozen AI-related user-agents in the wild, but a handful account for the vast majority of crawl traffic. Here is the working list we maintain from analyzing robots.txt behavior and crawl logs across the sites we monitor:<\/p>\n<div style=\"overflow-x:auto;\">\n<table style=\"width:100%;border-collapse:collapse;margin:1.5em 0;font-size:0.95em;\">\n<thead>\n<tr>\n<th style=\"border:1px solid #e3e6ea;padding:8px 12px;background:#f6f8fa;text-align:left;font-weight:600;\">User-agent<\/th>\n<th style=\"border:1px solid #e3e6ea;padding:8px 12px;background:#f6f8fa;text-align:left;font-weight:600;\">Company<\/th>\n<th style=\"border:1px solid #e3e6ea;padding:8px 12px;background:#f6f8fa;text-align:left;font-weight:600;\">Purpose<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">GPTBot<\/td>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">OpenAI<\/td>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">Training data collection<\/td>\n<\/tr>\n<tr>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">ChatGPT-User<\/td>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">OpenAI<\/td>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">Real-time browsing for ChatGPT answers<\/td>\n<\/tr>\n<tr>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">OAI-SearchBot<\/td>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">OpenAI<\/td>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">Indexing for ChatGPT search<\/td>\n<\/tr>\n<tr>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">ClaudeBot<\/td>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">Anthropic<\/td>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">Training data collection<\/td>\n<\/tr>\n<tr>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">Claude-User \/ Claude-SearchBot<\/td>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">Anthropic<\/td>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">Real-time retrieval<\/td>\n<\/tr>\n<tr>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">PerplexityBot<\/td>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">Perplexity<\/td>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">Retrieval and indexing for answers<\/td>\n<\/tr>\n<tr>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">Google-Extended<\/td>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">Google<\/td>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">Control for Gemini training (separate token)<\/td>\n<\/tr>\n<tr>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">Meta-ExternalAgent<\/td>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">Meta<\/td>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">AI training<\/td>\n<\/tr>\n<tr>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">Bytespider<\/td>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">ByteDance<\/td>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">AI training<\/td>\n<\/tr>\n<tr>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">Amazonbot<\/td>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">Amazon<\/td>\n<td style=\"border:1px solid #e3e6ea;padding:8px 12px;vertical-align:top;\">Alexa \/ AI training<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>The critical pattern: <strong>OpenAI and Anthropic both separate training bots from answer-retrieval bots<\/strong>. If you block <code>GPTBot<\/code> but allow <code>ChatGPT-User<\/code> and <code>OAI-SearchBot<\/code>, you can opt out of training while staying visible in ChatGPT answers. OpenAI documents these tokens on its <a href=\"https:\/\/platform.openai.com\/docs\/bots\" target=\"_blank\" rel=\"noopener\">GPTBot documentation page<\/a>.<\/p>\n<figure class=\"wp-block-image size-large\" style=\"margin:1.5em 0;\"><img decoding=\"async\" src=\"https:\/\/maxaeo.ai\/blog\/wp-content\/uploads\/2026\/09\/backend-2642-1.jpg\" alt=\"Table of major AI crawler user-agents and their purposes for robots.txt for LLMs configuration\" style=\"max-width:100%;height:auto;\"><\/figure>\n<h2>Recommended robots.txt Configurations (Copy-Paste)<\/h2>\n<p>The right rules depend on your goal. Three common scenarios:<\/p>\n<h3>Scenario A: Full visibility in AI answers (recommended for most brands)<\/h3>\n<pre><code>User-agent: GPTBot\nAllow: \/\n\nUser-agent: ChatGPT-User\nAllow: \/\n\nUser-agent: OAI-SearchBot\nAllow: \/\n\nUser-agent: ClaudeBot\nAllow: \/\n\nUser-agent: Claude-User\nAllow: \/\n\nUser-agent: PerplexityBot\nAllow: \/\n\nUser-agent: Google-Extended\nAllow: \/\n<\/code><\/pre>\n<p>If your business model depends on being discovered \u2014 SaaS, e-commerce, publishing monetized by ads \u2014 this is usually the correct default.<\/p>\n<h3>Scenario B: Allow AI answers, block training<\/h3>\n<pre><code>User-agent: GPTBot\nDisallow: \/\n\nUser-agent: ClaudeBot\nDisallow: \/\n\nUser-agent: ChatGPT-User\nAllow: \/\n\nUser-agent: OAI-SearchBot\nAllow: \/\n\nUser-agent: PerplexityBot\nAllow: \/\n<\/code><\/pre>\n<p>This is the nuanced middle path: your pages can still be fetched and cited in answers, but you withhold them from training corpora.<\/p>\n<h3>Scenario C: Block everything AI<\/h3>\n<pre><code>User-agent: GPTBot\nDisallow: \/\nUser-agent: ChatGPT-User\nDisallow: \/\nUser-agent: OAI-SearchBot\nDisallow: \/\nUser-agent: ClaudeBot\nDisallow: \/\nUser-agent: Claude-User\nDisallow: \/\nUser-agent: Claude-SearchBot\nDisallow: \/\nUser-agent: PerplexityBot\nDisallow: \/\nUser-agent: Google-Extended\nDisallow: \/\nUser-agent: Meta-ExternalAgent\nDisallow: \/\nUser-agent: Bytespider\nDisallow: \/\nUser-agent: Amazonbot\nDisallow: \/\n<\/code><\/pre>\n<p>Appropriate for premium paywalled content or sites with strict licensing concerns \u2014 but understand the trade-off covered below.<\/p>\n<h2>The #1 Mistake: Accidentally Blocking AI Retrieval<\/h2>\n<p>In our audits of brand sites that mysteriously don&#8217;t appear in ChatGPT or Perplexity answers, an overly broad robots.txt rule is one of the recurring root causes. The typical failure modes:<\/p>\n<ol>\n<li><strong>A legacy <code>Disallow: \/<\/code> on a staging wildcard<\/strong> that got promoted to production.<\/li>\n<li><strong>CDN default rules<\/strong> (some managed WordPress and security plugins ship AI-blocking presets without telling you).<\/li>\n<li><strong>Confusing Google-Extended with Googlebot.<\/strong> <code>Google-Extended<\/code> only controls AI training; blocking it does not affect Google Search rankings. But some site owners block it expecting to opt out of AI Overviews \u2014 that doesn&#8217;t work, since AI Overviews uses the standard Googlebot crawl.<\/li>\n<li><strong>Blocking <code>ChatGPT-User<\/code> while allowing <code>GPTBot<\/code><\/strong>, which is exactly backwards for brands that want visibility.<\/li>\n<\/ol>\n<p>If you&#8217;re already invisible in AI answers, robots.txt is the first thing to check. Our guide on <a href=\"\/blog\/not-cited-in-ai\/\">why sites fail to get cited in AI search<\/a> walks through the other six causes, from thin entity signals to unstructured content.<\/p>\n<h2>robots.txt vs. llms.txt: What&#8217;s the Difference?<\/h2>\n<p><strong>Robots.txt controls access; llms.txt guides interpretation.<\/strong> They are complements, not substitutes:<\/p>\n<ul>\n<li><strong>robots.txt<\/strong> \u2014 gatekeeper. Decides which bots can crawl which paths. Respected by crawlers at fetch time.<\/li>\n<li><strong>llms.txt<\/strong> \u2014 a proposed markdown file at your root that gives LLMs a curated map of your most important content, in a format easy for models to parse. It does not block anything.<\/li>\n<\/ul>\n<p>A site that only blocks bots is playing defense. A site that allows retrieval crawlers <em>and<\/em> ships a clean llms.txt is actively shaping how AI engines understand it. For the implementation details, see our <a href=\"\/blog\/llms-txt-implementation-audit\/\">llms.txt implementation audit checklist<\/a>.<\/p>\n<figure class=\"wp-block-image size-large\" style=\"margin:1.5em 0;\"><img decoding=\"async\" src=\"https:\/\/maxaeo.ai\/blog\/wp-content\/uploads\/2026\/09\/backend-2642-2.jpg\" alt=\"Comparison diagram of robots.txt blocking rules versus llms.txt content guidance for AI crawlers\" style=\"max-width:100%;height:auto;\"><\/figure>\n<h2>How Blocking Decisions Affect Your AI Visibility<\/h2>\n<p>Here&#8217;s the strategic reality: <strong>buyer-intent prompts in AI assistants are becoming a discovery channel<\/strong>. When a prospect asks ChatGPT &quot;what&#8217;s the best tool for X,&quot; the answer is assembled from pages the retrieval crawlers can access. If your competitor allows PerplexityBot and you don&#8217;t, you have unilaterally withdrawn from that auction.<\/p>\n<p>Our recommendation for most B2B and SaaS brands:<\/p>\n<ol>\n<li>Allow all retrieval\/answer bots (<code>ChatGPT-User<\/code>, <code>OAI-SearchBot<\/code>, <code>PerplexityBot<\/code>, <code>Claude-User<\/code>).<\/li>\n<li>Make an informed choice on training bots \u2014 blocking <code>GPTBot<\/code> and <code>ClaudeBot<\/code> is reasonable and costs you little visibility.<\/li>\n<li>Verify the file quarterly; AI vendors add new user-agents regularly.<\/li>\n<\/ol>\n<p>Once crawlers can reach you, the next question is whether AI engines actually mention you. That&#8217;s a measurement problem: you can <a href=\"\/blog\/track-brand-recommendations-in-chatgpt-and-perplexity\/\">track brand recommendations in ChatGPT and Perplexity<\/a> with structured prompt monitoring. MaxAEO&#8217;s free scan (at <a href=\"https:\/\/maxaeo.ai\/\">maxaeo.ai<\/a>) generates an AI visibility report in about five minutes \u2014 mention rate, ranking position, sentiment, and competitor comparison across 8 AI engines \u2014 so you can confirm your robots.txt changes actually translated into visibility.<\/p>\n<h2>Frequently Asked Questions<\/h2>\n<h3>Does robots.txt stop AI models from training on my content?<\/h3>\n<p>Only if the AI company honors it \u2014 which OpenAI, Anthropic, Google, and Meta publicly commit to doing for their declared user-agents. It is not a technical barrier; determined scrapers can ignore it. For hard enforcement, combine robots.txt with CDN-level bot blocking.<\/p>\n<h3>Will blocking GPTBot hurt my Google SEO?<\/h3>\n<p>No. GPTBot is OpenAI&#8217;s crawler and has no relationship with Googlebot or Google Search rankings. Similarly, <code>Google-Extended<\/code> only affects Gemini training, not Search.<\/p>\n<h3>What happens if I block ChatGPT-User?<\/h3>\n<p>ChatGPT&#8217;s browsing feature will not fetch your pages in real time, so your content is unlikely to be cited with links in ChatGPT answers. For brands seeking AI visibility, this bot should almost always be allowed.<\/p>\n<h3>How often should I update robots.txt for LLMs?<\/h3>\n<p>Quarterly at minimum. New AI user-agents appear regularly, and vendors occasionally split tokens (as OpenAI did when introducing OAI-SearchBot). An annual review is no longer enough.<\/p>\n<h3>Is there a way to check if AI crawlers are actually reaching my site?<\/h3>\n<p>Yes \u2014 inspect your server logs for the user-agents in the table above, and cross-reference with an AI visibility monitoring tool to confirm your pages are being cited in answers, not just crawled.<\/p>\n<p><script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"Article\",\"author\":{\"@type\":\"Organization\",\"name\":\"maxaeo.ai\"},\"dateModified\":\"2025-06-02\",\"datePublished\":\"2025-06-02\",\"description\":\"A practical guide to robots.txt for LLMs: which AI user-agents to allow or block, copy-paste config rules, common mistakes, and how blocking affects AI search visibility.\",\"headline\":\"Robots.txt for LLMs: How to Control AI Crawlers on Your Site\",\"image\":\"https:\/\/maxaeo.ai\/blog\/wp-content\/uploads\/2026\/09\/art-5919-cover.jpg\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"maxaeo.ai\"}}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A practical guide to robots.txt for LLMs: which AI user-agents to allow or block, copy-paste config rules, common mistakes, and how blocking affects AI search visibility.<\/p>\n","protected":false},"author":1,"featured_media":2489,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2490","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/maxaeo.ai\/blog\/wp-json\/wp\/v2\/posts\/2490","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/maxaeo.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/maxaeo.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/maxaeo.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/maxaeo.ai\/blog\/wp-json\/wp\/v2\/comments?post=2490"}],"version-history":[{"count":0,"href":"https:\/\/maxaeo.ai\/blog\/wp-json\/wp\/v2\/posts\/2490\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/maxaeo.ai\/blog\/wp-json\/wp\/v2\/media\/2489"}],"wp:attachment":[{"href":"https:\/\/maxaeo.ai\/blog\/wp-json\/wp\/v2\/media?parent=2490"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/maxaeo.ai\/blog\/wp-json\/wp\/v2\/categories?post=2490"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/maxaeo.ai\/blog\/wp-json\/wp\/v2\/tags?post=2490"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}