Are Your CDN and WAF Defaults Blocking AI Crawlers? An Audit Checklist for Cloudflare, AWS WAF, and Akamai
A checklist, built from official vendor documentation, for confirming whether the bot management defaults in Cloudflare, AWS WAF, Akamai, Fastly, and Vercel block GPTBot, OAI-SearchBot, and PerplexityBot, and what that means for AI search citations.
"How do I check whether my CDN and WAF defaults are blocking AI crawlers?" Plenty of sites allow OAI-SearchBot and PerplexityBot in robots.txt yet never get cited in an AI answer. Open them up and the cause is often not robots.txt at all but the edge layer sitting in front of it. CDN bot management defaults, managed WAF rule groups, and the bot blocking toggle on free plans all reject requests before robots.txt is ever read. This page checks the AI bot defaults of Cloudflare, AWS WAF, Akamai, Fastly, and Vercel against their official documentation and lays out what to verify, and in what order.
30-second definitions
- CDN bot defaults are the allow, block, or challenge behaviors a CDN edge applies to bot requests when the site owner has configured nothing.
- Managed WAF bot rules are rule sets maintained by a security vendor; the moment you add one, the vendor's default action applies to bot requests.
- A verified bot is a bot whose origin a CDN or WAF vendor has confirmed. Cloudflare defines it as a non-abusive bot that, among other things, identifies itself honestly and follows robots.txt (Cloudflare, 2026).[4]
- An AI search bot collects pages that AI search answers can surface as links. OpenAI's OAI-SearchBot and Perplexity's PerplexityBot fall into this group (OpenAI, 2026; Perplexity, 2026).[10][11]
- A user-initiated fetcher retrieves pages in real time when a user asks a question. ChatGPT-User and Perplexity-User fall into this group, and robots.txt may not apply to them (OpenAI, 2026; Perplexity, 2026).[10][11]
AI bot defaults by vendor
| Vendor | AI bot classification | Default behavior per public docs | Risk to search citations | Setting to check first |
|---|---|---|---|---|
| Cloudflare | Search, Agent, Training presets | From 2026-09-15, new domains get Search allowed, Training and Agent blocked on ad pages | Mixed-purpose crawlers get caught by the training block setting | AI bot policy in Security Settings |
| Cloudflare Free | Bot Fight Mode | Challenges requests with bot patterns | Cannot be skipped with WAF custom rules | Whether Bot Fight Mode is on |
| AWS WAF | CategoryAI rule in Bot Control | Block, verified or not | Adding the rule group alone blocks AI search bots | CategoryAI rule action |
| Akamai | AI bots category in Bot Manager | No default action stated in public blog; customer setting | Some AI chatbots may be classified as search engine bots | Action value per category |
| Fastly | 4 signals: verified and suspected, for AI Crawler and AI Fetcher | No default block stated in public announcement; customer policy | Blocking Fetchers breaks real-time citations | Enforcement level for verified and suspected bots |
| Vercel | AI Bots managed rule, AI crawlers and AI assistants | You set the action; available on all plans | Blocking assistants breaks user-initiated fetches | Action for each of the two categories |
Sources for the table: Cloudflare's new September 15, 2026 default, its three blocking options, and its handling of mixed-purpose crawlers are in the Block AI bots documentation (Cloudflare, 2026).[2] The statement that Bot Fight Mode cannot be skipped with WAF custom rules or Page Rules is in the Bot Fight Mode documentation (Cloudflare, 2026).[3] The CategoryAI rule action for AWS WAF comes from the Bot Control rule group documentation (AWS, 2026).[5] Akamai's AI bots category, and the possibility of classification as search engine bots, appear in an Akamai blog post (Akamai, 2024).[6] Fastly's four signals are in its launch announcement (Fastly, 2025),[7] and Vercel's split into two categories and its plan coverage are in its changelog (Vercel, 2026).[9]
Evidence: when the defaults changed, and how far
On July 1, 2025, Cloudflare announced that new domains would be asked at signup whether to allow AI crawlers, and that AI crawlers accessing content without permission or compensation would be blocked by default (Cloudflare, 2025).[1] In the same announcement, Cloudflare said it manages 20% of the web's traffic and that more than 1 million customers had opted into the one-click AI crawler block it introduced in September 2024 (Cloudflare, 2025).[1] On September 15, 2026, the old Block AI bots toggle was slated for retirement, and the default for new domains became Search allowed, with Training and Agent blocked on pages that display ads (Cloudflare, 2026).[2] The details of that change are covered separately in our analysis of Cloudflare's default AI crawler block.
Cloudflare's verified bots documentation still lists the older categories AI Assistant, AI Crawler, and AI Search, and says new search crawlers are classified as Search (Cloudflare, 2026).[4] In practice, an old custom rule in your dashboard that references a legacy category name may no longer line up with the new classification.
AWS WAF behaves differently. Most category rules in the Bot Control rule group apply Block only to unverified bots and simply label verified ones. The CategoryAI rule is the exception: it applies Block to every matching request, verified or not (AWS, 2026).[5] The rule group is an opt-in feature billed separately, so using WAF does not switch it on automatically. But if the security team adds it for bot defense, AI search bots get blocked too, often without the marketing team knowing.
Akamai describes an AI bots category in its known bot directory that covers dozens of AI crawlers. The same post notes that Google Gemini and Microsoft Bing chatbots use their parent companies' search crawlers and may therefore be classified as search engine bots (Akamai, 2024).[6] Blocking the AI bots category, in other words, leaves crawling by those two engines governed by your search engine bot settings.
Fastly defines AI Crawlers as bots used for training and building large datasets, and AI Fetchers as bots that pull content in real time to enrich answers to user questions. It offers four signals that split each type into verified and suspected bots (Fastly, 2025).[7] On May 13, 2025, Vercel released a free managed rule for AI bots on all plans, targeting GPTBot, ClaudeBot, PerplexityBot, Bytespider, and others (Vercel, 2025).[8] On October 29, 2026, it added the ability to set different actions for AI crawlers and AI assistants (Vercel, 2026).[9]
How edge blocking affects AI search citations
What you lose depends on which bot gets blocked. OpenAI says sites that block OAI-SearchBot will not appear in ChatGPT search answers and may show up only as navigational links (OpenAI, 2026).[10] Blocking GPTBot signals that you refuse collection for model training, which is separate from search visibility (OpenAI, 2026).[10]
| Blocked bot type | Representative user agent | What gets cut off | Effect on AI answer citations |
|---|---|---|---|
| Training crawler | GPTBot | Collection for model training | No direct effect on search citations |
| Search crawler | OAI-SearchBot, PerplexityBot | Collection for the search index | Dropped from that engine's search answers |
| User-initiated fetcher | ChatGPT-User, Perplexity-User | Real-time page checks during a conversation | Citations of fresh content and link checks fail |
| Mixed-purpose crawler | Check individually in operator docs | Collection caught by training block settings | Can reduce search visibility as well |
Once a search crawler is blocked at the edge, whatever you write in robots.txt makes no difference. Perplexity advises that sites behind a WAF may need to allow its bots explicitly, and recommends matching both the latest IP ranges from its official JSON endpoint and the User-Agent (Perplexity, 2026).[11] Our AI crawler management guide lists, bot by bot, how to separate training bots from search bots by user agent. If Perplexity in particular never cites you, read this alongside the other causes in why Perplexity doesn't cite your content.
Checklist: auditing CDN and WAF AI crawler blocking
| Step | Item | How to check | Pass criteria |
|---|---|---|---|
| 1 | Edge layers in the request path | List DNS, proxies, load balancers, and hosting WAFs from front to back | Owner and console location confirmed for every layer |
| 2 | Cloudflare AI bot policy | Check the Search, Agent, and Training values in Security Settings | Search allowed; the rest match your intent |
| 3 | Cloudflare Bot Fight Mode | Check whether it is on in the free plan | If on, alternatives (Super Bot Fight Mode, etc.) reviewed |
| 4 | AWS WAF CategoryAI rule | Check each rule's action in the Bot Control rule group | If Block, switch to Count and split into label-based rules |
| 5 | Akamai, Fastly, Vercel AI bot actions | Check the action on AI bots; AI Crawler and AI Fetcher; AI crawlers and AI assistants | Search and user-request bots allowed as intended |
| 6 | Allow rule priority | Confirm allow rules are evaluated before block and challenge rules | Allow rules come first |
| 7 | Automatic IP range updates | Refresh IP sets on a schedule from OpenAI and Perplexity official JSON | Last update date recorded |
| 8 | Verification behind proxies | Confirm the WAF sees the real client IP when behind another proxy | Verified bots not misclassified as unverified |
| 9 | Actual block logs | Count 403 and challenge responses per bot in logs | Zero blocks for search bots |
| 10 | Citation change tracking | Compare the same question set per engine before and after the change | Change log and citation log linked by date |
Cloudflare and Perplexity documentation both address steps 3 and 6. Cloudflare says Bot Fight Mode cannot be skipped with WAF custom rules and points to Super Bot Fight Mode, which supports Skip rules, when exceptions are needed; if an IP Access rule matches first, Bot Fight Mode does not run (Cloudflare, 2026).[3] Perplexity notes that Skip rules apply only to rules that run after them, so allow rules belong ahead of block and challenge rules (Perplexity, 2026).[11]
AWS documentation has the fix for step 4. Bot Control records the bot name, category, and verification status as labels, so a label-matching rule placed after the rule group can allow or block exactly the bots you choose (AWS, 2026).[5] Perplexity's documentation also advises building an AWS WAF allow rule that combines an IP set with a User-Agent match and giving it a lower priority number than your block rules (Perplexity, 2026).[11]
# AWS WAF rule order example (lower priority number is evaluated first)
0 Allow IP set (OAI-SearchBot, PerplexityBot official ranges) AND User-Agent match
1 AWSManagedRulesBotControlRuleSet (CategoryAI rule action overridden to Count)
2 Block label awswaf:managed:aws:bot-control:bot:category:ai
AND NOT label bot:name in allow list
Step 8 is easy to miss. AWS WAF determines bot verification from the request's source IP, and for verified bots behind a proxy or load balancer, AWS advises placing a separate allow rule that uses forwarded IP configuration ahead of Bot Control (AWS, 2026).[5] For the same reason, a curl test from your office with the User-Agent changed to GPTBot gets an unverified bot verdict and will not behave like a real bot request. Check verdicts by finding requests from official IP ranges in your logs. OpenAI publishes separate JSON files with the IP ranges for OAI-SearchBot, GPTBot, and ChatGPT-User (OpenAI, 2026).[10]
Zero blocks at step 9 does not close the audit. A bot that clears the edge but receives empty HTML ends up in the same place as a blocked one. Continue the rendering side of the audit in JavaScript rendering and the AI crawler blind spot. For environments like blog platforms, where you cannot change edge settings yourself, see AI crawler policies on Korean blog platforms.
Step 10 confirms what difference a settings change actually made to citations. Only by querying the same question set repeatedly on each engine and logging citations with dates can you tell whether a citation change came from an edge setting or a model update. Measurement design is covered in multi-engine measurement. In Korea, Ascent AI, Next-T, and BOIDA, among others, describe themselves as offering AI answer visibility tracking; confirm which engines each actually supports and how far its measurement goes through their documentation and demos.
Summary
Fixing robots.txt alone on a site with no AI search citations misses blocking at the edge. Since September 15, 2026, Cloudflare applies Search allowed, with Training and Agent blocked on ad pages, as the default for new domains (Cloudflare, 2026),[2] and the CategoryAI rule in AWS WAF Bot Control blocks even verified bots (AWS, 2026).[5] Akamai, Fastly, and Vercel classify AI bots and leave the action to the customer. The audit order is: list the edge layers, check the current action on AI bot rules, check the evaluation order of allow rules, confirm with logs, and track citations per engine. To see where this audit sits within GEO as a whole, read what is GEO.
Related companies
- 넥스트티 (Next-T, OPTIGEO)SEO, GEO, AEO 컨설팅, 자동화
- 보이다 (BOIDA)생성형 검색 최적화(GEO) 솔루션, AI 가시성 측정
- 어센트 AI (ASCENT AI, ListeningMind)인텐트 인텔리전스, GEO
Frequently asked questions
- Start with the bot rules on your CDN and WAF. robots.txt is a statement addressed to bots that choose to follow it; edge bot management rules actually reject requests. Check the current action on any setting that handles AI bots separately, such as Cloudflare's AI bot policy or the CategoryAI rule in AWS WAF Bot Control, then look in your WAF logs to see whether that bot's requests were blocked.
- According to AWS documentation, yes. Most category rules apply Block only to unverified bots, but the CategoryAI rule applies Block to every matching request regardless of verification. To keep bots that feed search citations, override the CategoryAI rule action to Count and add a custom rule after it that allows or blocks based on bot name labels.
- Cloudflare's documentation says Bot Fight Mode cannot be bypassed or skipped with WAF custom rules or Page Rules. If you need exceptions, use Super Bot Fight Mode, which supports Skip rules, or look at IP Access rules, which are evaluated before Bot Fight Mode.
- The result may not match reality. AWS WAF decides whether a bot is verified based on the request's source IP, so a spoofed request from an office IP gets classified as an unverified bot. Confirm the real verdict by finding requests from the bot's official IP ranges in your WAF and CDN logs.
- Split by the purpose-specific user agents each operator publishes. OpenAI documents GPTBot for training and OAI-SearchBot for search separately; Perplexity documents PerplexityBot for search and Perplexity-User for user requests. Note that Cloudflare says that from September 15, 2026, its training block setting also blocks mixed-purpose crawlers that serve both Search and Training.
Q.I allowed OAI-SearchBot in robots.txt, but my site still doesn't show up in ChatGPT search. Where do I start?
Q.Does turning on AWS WAF Bot Control block verified AI bots too?
Q.I turned on Bot Fight Mode on Cloudflare's free plan. Can an exception rule let only AI bots through?
Q.Can I test for blocking with a curl request that just sets the User-Agent to GPTBot?
Q.How do I block training bots while keeping search bots open?
Sources
- [1] ↑Cloudflare Just Changed How AI Crawlers Scrape the Internet-at-Large — Cloudflare
- [2] ↑Block AI bots — Cloudflare
- [3] ↑Bot Fight Mode — Cloudflare
- [4] ↑Verified bots — Cloudflare
- [5] ↑AWS WAF Bot Control rule group — Amazon Web Services
- [6] ↑Managing AI Bots as Part of Your Overall Bot Management Strategy — Akamai
- [7] ↑Now Available: Fastly AI Bot Management — Fastly
- [8] ↑New one-click AI bot managed ruleset — Vercel
- [9] ↑Block AI crawlers and assistants independently with managed rules — Vercel
- [10] ↑Overview of OpenAI Crawlers — OpenAI
- [11] ↑Perplexity Crawlers — Perplexity
Related documents
- Cloudflare's Default AI Crawler Block, September 15, 2026: Will Your Site Vanish from AI Answers?A breakdown of the Search, Agent, and Training defaults Cloudflare put in force on September 15, 2026. Search crawlers stay allowed, while Agent blocks and mixed-purpose crawler inheritance are the real paths that cut citations in AI answers.
- Managing AI Crawlers: Allowing GPTBot, ClaudeBot, and PerplexityBot and the Trade-offsHow to identify GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot, and Google-Extended, and the visibility trade-offs of allowing or blocking them in robots.txt: based on OpenAI's and Google's official documentation.
- Why Perplexity AI Doesn't Cite Your Content: Four Root CausesPerplexity checks roughly 10 pages per query but cites only 3: 4 with footnotes. The four causes of elimination, crawler blocks, weak answer structure, stale content, and missing schema, each map to a concrete diagnostic checkpoint. Here's how the three-stage reranking pipeline works and how to fix each failure mode in priority order.
- Do AI Crawlers Run JavaScript? Auditing and Fixing Missing Citations for CSR/SPA ContentGPTBot, ClaudeBot, and PerplexityBot do not execute JavaScript. Here is why CSR/SPA content disappears from AI search citations, and the fix sequence from a curl audit to server-side rendering, based on official documentation.
- Korean Blog Platform AI Crawler Policies Compared 2026: Naver Blog, Tistory, and Brunch robots.txtNaver Blog blocks GPTBot, OAI-SearchBot, PerplexityBot, and ClaudeBot outright in robots.txt. Tistory and velog carry no AI-crawler-specific rules, and Brunch blocks training bots only. Here is what each platform's raw robots.txt says and how that changes an article's odds of being cited in AI search.
- Multi-Engine Measurement: How to Measure Visibility Across ChatGPT, Gemini, Perplexity, and ClaudeWhy every engine answers differently, the trap of single-engine measurement, and a multi-engine GEO methodology for measuring AI visibility through prompt sets, repetition, and share of voice.
- What Is GEO: The Definition of Generative Engine Optimization and How It Differs From SEOGEO (Generative Engine Optimization) is the strategy of getting your content cited in answers produced by generative engines like ChatGPT and Perplexity. Here is the definition, how it differs from SEO, and how it works.