AI search readiness · Hosting and CDN
Cloudflare robots.txt and AI bot blocking: check before AI search
Cloudflare sits in front of your site, so its settings can block AI crawlers before they ever reach robots.txt. Since July 2025 it has pushed customers to choose an AI crawler policy, and since September 15, 2026 it splits bots into Search, Agent and Training. Managed robots.txt can also rewrite the file crawlers read. Check both layers if AI engines never cite you.
- Edit robots.txt
- PartlyCloudflare serves your origin's robots.txt, but managed robots.txt prepends AI crawler rules to it (or creates a file if you have none).
- XML sitemap
- NoNot a Cloudflare feature. The sitemap comes from your site or framework and passes through the CDN.
- llms.txt
- NoNo Cloudflare feature. Publish llms.txt from your origin; Cloudflare serves it like any other file.
- AI crawlers
- AI bot policies under Security Settings set Allow, Block or Block on pages with ads for Search, Agent and Training bots. New domains since September 15, 2026 keep Search allowed by default. The legacy Block AI bots setting is deprecated. AI Crawl Control shows crawler activity and per-crawler rules on all plans.
- Structured data
- Cloudflare does not add structured data. JSON-LD comes from your site's HTML.
Two layers: what Cloudflare does before robots.txt
robots.txt is a request. Cloudflare's bot settings are enforcement: a blocked crawler gets an error before it reaches your page, whatever your robots.txt says. That is the risk for AI search. A site can have a perfect robots.txt that allows OAI-SearchBot and PerplexityBot, and still be invisible because a CDN setting chosen earlier now blocks them. Nothing in your CMS shows it.
Cloudflare's AI bot controls changed twice:
- July 1, 2025. Cloudflare announced it would block AI crawlers accessing content without permission or compensation by default, and that every new domain would be asked at sign-up whether to allow AI crawlers.
- September 15, 2026. The single Block AI bots setting was deprecated in favor of separate controls under Security Settings > Configure AI bot policies: Search (crawlers that index content to answer questions later), Agent (real-time activity on a person's behalf, such as chat fetch bots) and Training (crawlers taking content to train models, including mixed-purpose crawlers). Each can be set to Block, Block on pages with ads, or Allow.
Cloudflare's September 2026 post adds an important detail: Block and Block on pages with ads now apply to mixed-use crawlers, including Applebot, Bingbot and Googlebot. If you block Training to stop AI training, you may also be blocking search. Disallow AI Training is the option that publishes a no-training preference in robots.txt while leaving search crawling alone.
Managed robots.txt: when Cloudflare edits your file
Managed robots.txt is available on all plans. If your origin returns a robots.txt, Cloudflare prepends its managed block; if not, Cloudflare creates one. Per the docs, the block includes Content-signal: search=yes, ai-train=no, use=reference under User-Agent: *, then Disallow: / for Amazonbot, Applebot-Extended, Bytespider, CCBot, ClaudeBot, Google-Extended, GPTBot and meta-externalagent.
Most of these are training crawlers or training opt-out tokens, so blocking them should not remove you from ChatGPT search or Claude search, which use separate tokens. But two things catch people out. Your own rules now appear below Cloudflare's block, so a User-agent: * group you wrote may not read the way you expect. And anyone editing robots.txt at the origin will not see the prepended lines. Fetch the live file through Cloudflare, or use the robots.txt checker, to see what crawlers actually receive.
AI Crawl Control and pay per crawl
AI Crawl Control (formerly AI Audit) is available on all plans. It shows which AI services visit your site and how often, lets you set allow or block rules per crawler, and reports which crawlers follow your robots.txt. Pay per crawl, part of the same product and in closed beta, lets you charge AI crawlers per zone: a crawler that sends payment intent gets HTTP 200, others get 402 Payment Required with the price. A WAF or bot management block overrides pay per crawl.
A quick AI search check for Cloudflare sites
- Open Configure AI bot policies and confirm Search is set to Allow. Decide on Agent deliberately: Cloudflare describes Agent as chat fetch bots and browser-use agents, the kind of fetcher ChatGPT-User is when it opens a page a user asked about.
- Use Disallow AI Training, not Block, if your goal is only to opt out of training.
- Read your live robots.txt and look for the managed block at the top.
- Review per-crawler rules in AI Crawl Control, and any custom WAF rules that match bot user agents.
- Compare tokens against the AI crawler directory to see which ones feed search and which feed training.
Cloudflare does not generate sitemaps, llms.txt or structured data; those come from your site. If you deploy on Vercel behind Cloudflare, note Vercel's own bot controls as well.
Check your Cloudflare site
Paste your domain to see which AI crawlers your live robots.txt lets in.
robots.txt checker
Test your robots.txt against every AI crawler
robots.txt generator
# robots.txt generated with https://www.getpicked.app/tools/robots-txt-checker
# Preset: Allow AI search, block training
User-agent: *
Allow: /
# Model training crawlers
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: Meta-ExternalAgent
User-agent: Amazonbot
User-agent: CCBot
User-agent: Bytespider
Disallow: /
Questions
- Does Cloudflare block AI crawlers by default?
- It depends on when the domain was added. From July 1, 2025, Cloudflare asked every new domain at sign-up whether to allow AI crawlers. Since September 15, 2026, new domains keep Search allowed; ad-supported sites get Disallow AI Training and Agent blocked on pages with ads. Older zones keep what they chose, migrated from the legacy Block AI bots setting.
- Why does my robots.txt on Cloudflare contain rules I did not write?
- Managed robots.txt is on. Cloudflare prepends its own block, with a Content-signal line and Disallow rules for crawlers such as GPTBot, ClaudeBot, Google-Extended and CCBot, before your file. If your origin has no robots.txt, Cloudflare creates one.
- Will blocking AI training on Cloudflare remove me from ChatGPT or Google search?
- Disallow AI Training publishes a no-training preference while keeping search crawling. Block and Block on pages with ads now also apply to mixed-use crawlers including Googlebot, Bingbot and Applebot, so those options can affect search.
- What is Cloudflare pay per crawl?
- A feature of AI Crawl Control that lets you set a per-zone price. Crawlers that present payment intent get the page; others get HTTP 402 Payment Required with the price. Cloudflare says it is in closed beta.
Other hosting and cdn
Related
Sources
Checked against these pages on 2026-10-19. Operators change their crawlers; check the source before relying on a detail.
- Cloudflare docs: Block AI bots and AI bot policies
- Cloudflare docs: Managed robots.txt
- Cloudflare docs: AI Crawl Control
- Cloudflare docs: What is pay per crawl
- Cloudflare press release: permission-based approach for AI crawlers (July 1, 2025)
- Cloudflare blog: Content Independence Day (July 1, 2025)
- Cloudflare blog: Have it both ways, stay discoverable in search while disallowing AI training (September 15, 2026)