FreeThe AI Visibility MapGet it free

How to Set Up robots.txt for AI SEO in 2026

Written by
Marving MoretonBot docs checked
Founder, Seowly

Marving checked each crawler below against its operator's own documentation on November 1, 2026, and flagged the ones with no public documentation.

Last updated: November 1, 2026 · 9 min read

Keep the AI search bots that cite you, keep or block training bots as a business decision, and block the scrapers that send nothing back.

Automated traffic passed 53% of web traffic in 2025, according to Imperva's 2026 Bad Bot Report. The instinct is to block all of it, but a blanket AI block can also remove you from ChatGPT and Perplexity answers.

This guide sorts crawlers by what they actually do, then gives you a file you can paste. We checked each bot against its operator's documentation on November 1, 2026, and we flag the ones with no public documentation.

robots.txt for AI SEO: TL;DR

  • Keep search and AI answer bots. OAI-SearchBot, Claude-SearchBot, PerplexityBot and DuckAssistBot are how you get cited.
  • Keep your traditional search crawlers. Googlebot and bingbot also feed Google's and Microsoft's AI answers.
  • Decide on training bots separately. GPTBot and ClaudeBot do not control search citations.
  • Keep link preview bots. Without facebookexternalhit and Twitterbot, shared links lose their cards.
  • Block scrapers with no return. Bytespider and meta-externalagent are common candidates.
  • Remember robots.txt is a request. It asks bots to behave, and it does not force them.

What is robots.txt for AI?

robots.txt for AI means using your site's robots.txt file to set separate rules for AI crawlers. It is a plain text file at the root of your domain that names user agents and the paths they may not fetch, under the Robots Exclusion Protocol.

The file is not new, but the crawlers are. One company can now run several bots with different jobs: OpenAI has one for training, one for search and one for user requests. A rule that treats them as one bot will either block too much or too little.

Why does robots.txt matter for AI SEO now?

It matters because AI crawlers now take up a real share of traffic, and your rules decide whether AI answers can use your pages. Cloudflare's 2025 Year in Review put AI bots at 4.2% of HTML requests, close to Googlebot's 4.5%.

Blocking also has a measurable cost for some sites. A working paper by Hangcheng Zhao of Rutgers and Ron Berman of Wharton found about a 7% decline in weekly visits in the six weeks after news publishers blocked AI crawlers. The estimate shrank across revisions of the paper and covers news publishers only, so read it as a warning rather than a rule.

What are the four types of AI crawler?

AI crawlers fall into four groups based on when they fetch your page and what they do with it. Sort every bot into one of these before you write a rule.

TypeWhat it doesExamplesDefault
Search indexBuilds an index for AI answersOAI-SearchBot, Claude-SearchBot, PerplexityBotKeep
User-triggeredFetches a page a person asked forChatGPT-User, Claude-User, Perplexity-UserKeep
Model trainingCollects data for future modelsGPTBot, ClaudeBot, meta-externalagentYour decision
Other crawlersLink data, monitoring, datasetsBarkrowler, SERankingBacklinksBot, CCBotCase by case

Which bots should you keep for AI citations?

You should keep every bot that fetches pages to answer a person's question, because those are the ones that can cite and link to you. This is the core list:

BotOperatorJob
GooglebotGoogleSearch, and the base for AI Overviews
bingbotMicrosoftBing search
ApplebotAppleSpotlight, Siri and Safari search
OAI-SearchBot, ChatGPT-UserOpenAIChatGPT search and user fetches
Claude-SearchBot, Claude-UserAnthropicClaude search and user fetches
PerplexityBot, Perplexity-UserPerplexityPerplexity index and user fetches
DuckAssistBotDuckDuckGoCited answers, no training
YouBotYou.comYou.com search index
ExaSearchBotExaSearch API for AI agents
LinkupBotLinkupSearch API and AI grounding
ShapBotParallelWeb APIs for AI agents

OpenAI is direct about the stakes: "Sites that are opted out of OAI-SearchBot will not be shown in ChatGPT search answers".

Brave needs a special note. Brave says its crawler does not use a separate user agent, and that it follows what Googlebot is allowed. Lists that include "Bravebot" are unreliable, so allowing Googlebot is the part that counts.

Should you block GPTBot and ClaudeBot?

Most brands should keep GPTBot and ClaudeBot, because a model that has read about you may describe you better. Publishers who sell their content have good reason to block them. These bots train models and do not power live search, so blocking them will not remove you from ChatGPT or Claude search.

The decision comes down to what you sell. If you sell a product and want models to know your brand, the content is marketing and you benefit from reach. If the content is the product, as with paid research or journalism, training access gives away what you charge for.

Anthropic's documentation separates ClaudeBot from Claude-SearchBot and Claude-User, so you can treat each one differently.

Google and Apple work differently. Google-Extended and Applebot-Extended are tokens with no crawler of their own. They are switches that control how content already crawled gets used for AI.

Which bots should you block?

You should consider blocking crawlers that use your pages for training or datasets and return no traffic. Bot operators document most of these, so you can check each decision for yourself.

BotOperatorStated purpose
meta-externalagentMetaAI model training and product indexing
meta-externaladsMetaAdvertising and business products
BytespiderByteDanceCrawling for ByteDance products
ReflectionbotReflection AIBuilding and improving its models
ElevenlabsCrawlerElevenLabsMay train generative models
CCBotCommon CrawlOpen web dataset
SpiderLingMasaryk UniversityLanguage corpus research
SenderBotSender (Germany)Link and page text analysis for clients
AwarioSmartBotAwarioBrand mention monitoring

Two of these need more thought than the rest.

CCBot is not a pure AI scraper. Common Crawl is a non-profit open dataset, and its pages make no statement about AI training. But LLM builders use it: Mozilla found that at least 64% of 47 LLMs it studied used Common Crawl data. If you keep GPTBot so models learn your brand, blocking CCBot works against that goal.

Bytespider's compliance is disputed. TollBit data recorded disallowed fetches under that name, though spoofing is possible, so a robots.txt rule alone may not stop it.

Meta runs a separate crawler for AI search. Its crawler documentation says meta-webindexer improves Meta AI search results, so keep that one if Meta AI citations matter to you.

Should you block SEO crawlers?

You should usually leave SEO crawlers alone unless they cause load problems. Barkrowler and SERankingBacklinksBot collect link data for SEO tools, and they do not train AI models.

Blocking one saves some bandwidth, but it likely means your links stop appearing in that vendor's data, which affects anyone researching you. Both say they honor robots.txt, and Barkrowler supports crawl-delay, so slowing it down is a softer option than a block.

Crawlers can only cite what they can find

Seowly earns the links and mentions that put your brand on pages AI engines read.

See my free opportunities

What should your robots.txt file look like?

Your file should allow by default, then block a short named list. Use this template and adjust the training section to match your decision.

# Search and AI answer bots: covered by the allow-all group at the end.
# Listed here so the policy is explicit.
User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: Claude-SearchBot
User-agent: Claude-User
User-agent: PerplexityBot
User-agent: Perplexity-User
User-agent: DuckAssistBot
User-agent: YouBot
User-agent: ExaSearchBot
User-agent: LinkupBot
User-agent: ShapBot
Disallow:

# Training bots: kept for brand reach. Change to "Disallow: /" to opt out.
User-agent: GPTBot
User-agent: ClaudeBot
Disallow:

# Link previews. Blocking these breaks shared link cards.
User-agent: facebookexternalhit
User-agent: Twitterbot
Disallow:

# Training and scraping with no traffic return.
User-agent: meta-externalagent
User-agent: meta-externalads
User-agent: Bytespider
User-agent: Reflectionbot
User-agent: ElevenlabsCrawler
User-agent: CCBot
User-agent: AwarioSmartBot
User-agent: AwarioRssBot
User-agent: SenderBot
User-agent: SpiderLing
Disallow: /

# Everyone else, including Googlebot, bingbot and Applebot.
User-agent: *
Allow: /

Sitemap: https://example.com/sitemap.xml

Several User-agent lines above one rule form a single group, which is valid under RFC 9309. An empty Disallow: means nothing is blocked.

A number of other tokens circulate on blocklists, including AionBot, TokenFoundryBot and TernCrawler. We could not find an operator's documentation for these, so we left them out of the template. Adding them is low risk if they appear in your logs.

How do you set up and test robots.txt for AI?

You set it up by checking who really visits, writing the rules, and confirming the result in your logs. Follow these steps:

  1. Read your server logs. List the bots that actually hit your site, and how often.
  2. Sort each bot by type. Use the four groups above.
  3. Check your CDN settings. A firewall rule can block a bot your robots.txt allows.
  4. Publish the file at your domain root. It must live at /robots.txt, on every subdomain you want covered.
  5. Test it. Fetch the file and confirm it returns a 200 status as plain text.
  6. Recheck your logs in a week. Confirm that blocked bots stopped.
  7. Review it every quarter. New crawlers appear often, and old lists go stale.

If you also want to describe your site to AI tools, our free llms.txt generator builds that file. Keep expectations modest: Google says Google Search does not use llms.txt.

What mistakes should you avoid in robots.txt for AI?

The most damaging mistake is blocking by company name instead of by job. Writing one rule for OpenAI's training bot is fine. Copying a "block all AI" list usually removes you from the search products you wanted to appear in.

  • Expecting a named group to inherit from *. A bot that matches a named group ignores the * group, so repeat any path rules it needs.
  • Using Google-Extended to leave AI Overviews. It does not do that. Use Googlebot rules, or the Search Console setting that Google says will not affect your ranking.
  • Blocking Googlebot to avoid AI. That removes you from Google Search too.
  • Blocking facebookexternalhit. Your shared links will lose their previews. Check them with our Open Graph checker.
  • Treating robots.txt as security. Private pages need authentication, since the file itself is public and lists what you are hiding.
  • Forgetting user-triggered fetchers. OpenAI says robots.txt rules may not apply to ChatGPT-User, and Perplexity says Perplexity-User generally ignores them.

How do you get cited once crawlers can read your site?

You get cited by being mentioned on the pages AI engines trust, since access only makes you eligible. Ahrefs found in a study of 75,000 brands that branded web mentions had the strongest correlation with AI Overview visibility, at 0.664.

That turns citation into an outreach job. You need other relevant sites talking about you, which is what link building produces. Our guide on how many backlinks you need to rank shows how to set a target. Seowly runs that outreach from your own inbox, and you can check your current standing with our AI visibility map.

The bottom line on robots.txt for AI

Sort bots by job, not by company. Keep the crawlers that cite you and the ones that power link previews, make a deliberate choice on training, and block the rest by name. Then read your logs to confirm it worked, and review the file every quarter, because this list will change.

FAQs

Should I block AI bots in robots.txt?
Not all of them. Blocking AI search bots such as OAI-SearchBot and PerplexityBot can remove you from their answers. Block crawlers that train models or scrape without sending visitors, and only after deciding whether training access has value for your brand.
Does blocking GPTBot remove me from ChatGPT?
No. GPTBot is OpenAI's training crawler. OAI-SearchBot controls whether you appear in ChatGPT search answers, and OpenAI says opted-out sites will not be shown there. You can block GPTBot and still allow OAI-SearchBot, because each uses its own rules.
Does Google-Extended control AI Overviews?
No. Google says Google-Extended does not affect inclusion in Google Search, and it concerns Gemini and Vertex AI. AI Overviews follow Googlebot's rules. Google also added a Search Console setting that excludes a site from AI Overviews, AI Mode and Discover AI.
Do AI crawlers obey robots.txt?
Most declared crawlers say they do, but it is voluntary and user-triggered fetchers are different. OpenAI says robots.txt rules may not apply to ChatGPT-User, and Perplexity says Perplexity-User generally ignores them. Use firewall rules when you need real enforcement.
Is llms.txt the same as robots.txt?
No. robots.txt tells crawlers what they may fetch, while llms.txt is a proposed file that describes your site to AI systems. Google says Google Search does not use llms.txt, and that maintaining one will neither harm nor help you in Search.
How long does a robots.txt change take to work?
It varies by crawler. OpenAI says about 24 hours for OAI-SearchBot, DuckDuckGo says up to 72 hours for DuckAssistBot, and You.com caches for 30 minutes. Allow a few days, then check your server logs to confirm the behavior changed.
Share this post

About the author

Marving Moreton
Marving Moreton
Founder, Seowly

Marving built Seowly to automate the outreach behind Love Tales. He also built freel.ca and tourcrib.com.

Ready when you are.

See your first backlink opportunities in a free report.

See my free opportunities
Free report · no card
Keep reading
Automated link building

How Many Backlinks Do I Need to Rank in 2026?

How many backlinks do you need to rank? Find your real number in 20 minutes, with 2026 benchmarks by industry and a method based on the live results.

November 1, 2026 · 9 min read