Guide
Before you write a single AEO page: the 20 minute check that tells you if ChatGPT, Claude, and Google AI are even allowed to cite you
For owners and founders running a site with no dedicated SEO team. All vendor documentation below was verified on August 16, 2026.
A page cannot be used reliably as a fresh source in a search-based AI answer if the relevant search system cannot access or index it. Those access failures are often accidental. Before you rewrite a single paragraph for "AI readability," check four things: whether your robots.txt allows the search-specific crawlers you want to reach you (OAI-SearchBot, Claude-SearchBot, PerplexityBot, Googlebot), whether your firewall is quietly returning 403s or 429s to those crawlers, whether your pages carry a nosnippet or max-snippet directive that limits eligibility in Google AI Overviews and AI Mode, and whether the important information on your pages is reliably available as textual HTML. This takes about twenty minutes. It is the technical eligibility work to do before content-level AEO optimization.
Google states this directly: to be eligible as a supporting link in AI Overviews or AI Mode, a page must be indexed and eligible to appear in Search with a snippet, and there are no additional technical requirements beyond that (Google Search Central, AI features and your website).
The four engines this covers are ChatGPT, Claude, Perplexity, and Google's AI Overviews and AI Mode. Each one reaches your site differently, and the differences are the whole point of this article.
This is a technical eligibility check, not a visibility strategy. Passing it does not get you cited. Failing a check can make the affected page ineligible or materially harder to retrieve in the engine that depends on that access path. If you want the strategy layer, the next step is deciding which buyer questions and source gaps are worth targeting after you finish this audit.
Who this is for
Owners and founders with a site under roughly 500 pages, no dedicated SEO or infrastructure person, and a security or hosting setup they did not personally configure. If you run an enterprise site with a CDN team and a crawl budget dashboard, you already have this covered.
Why this comes first
Almost every AEO article starts with content tactics: answer up front, add statistics, structure your headings. That advice assumes the engine can read your page. Frequently it cannot, for reasons the owner never chose.
The pattern is the same in every case. Sometime in 2023 or 2024, a developer, an agency, or a security vendor added a rule to block "AI bots" from scraping the site for training. Reasonable at the time. But the AI companies have since split their crawlers into separate agents with separate jobs, and a blanket block now removes you from the search products too.
The scale of that split is visible in public data. Cloudflare's AI Insights dashboard on Radar breaks AI crawler traffic down by purpose, training versus search, and shows the distribution of HTTP status codes that sites return to those crawlers. A large share of 4xx responses in that data is the industry-wide version of the problem this article is about.
How each engine actually accesses your site
For the shorthand version of this section, jump straight to OAI-SearchBot vs. GPTBot, Claude-SearchBot, or Google-Extended below.
OpenAI (ChatGPT)
OpenAI documents four user agents, each controlled independently in robots.txt (Overview of OpenAI Crawlers).
| Agent | Job | What blocking it costs you |
|---|---|---|
OAI-SearchBot | Surfaces websites in ChatGPT's search features | Sites opted out are not shown in ChatGPT search answers, though they can still appear as navigational links |
GPTBot | Crawls content that may be used to train foundation models | Nothing in ChatGPT search visibility |
ChatGPT-User | Visits pages for user-initiated actions in ChatGPT and Custom GPTs | Not the control point for search. OpenAI states that because these actions are user-initiated, robots.txt rules may not apply |
OAI-AdsBot | Checks landing pages submitted as ChatGPT ads | Only relevant if you run ChatGPT ads |
Three things matter here.
First, the settings are independent. OpenAI's own example is a webmaster allowing OAI-SearchBot for search while disallowing GPTBot for training. That is exactly the configuration most businesses want.
Second, OAI-SearchBot is the control point for search, not ChatGPT-User. OpenAI says this explicitly and tells site owners to use OAI-SearchBot in robots.txt to manage search opt-outs. If you are trying to control ChatGPT search visibility by blocking the user agent, you are editing the wrong line.
Third, "GPTBot" in your logs proves nothing on its own, because anyone can send that string. OpenAI publishes IP ranges per agent: searchbot.json, gptbot.json, chatgpt-user.json.
OpenAI also notes that a robots.txt update can take roughly 24 hours to propagate to search.
Anthropic (Claude)
Anthropic documents three bots with an explicit consequence for blocking each (Does Anthropic crawl data from the web, and how can site owners block the crawler?, updated April 7, 2026).
| Agent | Job | Anthropic's stated consequence of blocking |
|---|---|---|
ClaudeBot | Collects web content that may contribute to model training | Signals that future materials should be excluded from training datasets |
Claude-User | Accesses sites when a Claude user asks a question | Prevents retrieval in response to a user query, which may reduce visibility for user-directed web search |
Claude-SearchBot | Indexes content to improve search result quality | Prevents indexing for search, which may reduce visibility and accuracy in user search results |
Anthropic states that its bots honor robots.txt, respect anti-circumvention technologies, and support the non-standard Crawl-delay extension. It also warns that IP-based blocking is unreliable, because it can prevent the bots from reading your robots.txt in the first place. Its published IP list is at claude.com/crawling/bots.json.
Note the difference from OpenAI: Anthropic applies robots.txt to its user-initiated agent, and OpenAI says robots.txt may not apply to its own.
Google works differently and this is where most owners get it backwards.
AI Overviews and AI Mode are features inside Google Search, drawing on the same index Googlebot builds. So the control for whether Google can access your content is the ordinary Googlebot robots.txt directive you already have.
Google-Extended is not a crawler. It is a robots.txt control token that governs training and grounding in some of Google's other systems (Google crawlers documentation). Blocking it does not remove you from AI Overviews or AI Mode.
The directives that do affect AI features are the snippet family: nosnippet, data-nosnippet, max-snippet, and noindex (Robots meta tag, data-nosnippet, and X-Robots-Tag). Google's documentation states that nosnippet applies across its search surfaces including AI Overviews and AI Mode, and prevents the content from being used as a direct input to them.
The trade-off is blunt. Those same directives strip your featured snippets and shorten your normal search result snippet, which usually costs clicks. There is no setting that keeps you in the blue links while pulling you out of the AI answer above them.
Two more things worth pulling from Google's own guidance, because they contradict a lot of published AEO advice. First, on files and markup: Google says you do not need to create new machine-readable files, AI text files, or markup to appear in these features, and there is no special schema.org structured data required. Any structured data you do add must match the visible page. Second, on infrastructure: Google's list of SEO fundamentals for AI features explicitly includes ensuring crawling is allowed in robots.txt and by any CDN or hosting infrastructure. That second clause is the entire point of step 2 below.
Google also publishes a dedicated guide, Optimizing for generative AI search, which is worth reading in full before you buy anything. If you run a local business, keeping your Business Profile details current is on the same list.
Perplexity
Perplexity runs two agents (Perplexity Crawlers documentation): PerplexityBot for indexing, which follows robots.txt, and Perplexity-User for user-triggered fetches, which its documentation says generally does not. IP ranges are published at perplexitybot.json and perplexity-user.json.
The audit, in order
Work through these in sequence. Fix anything that fails before moving on. If you would rather have this run for you, the free CitationLoop scan performs steps 1 through 4 automatically and returns the results by email.
STEP 1Read your own robots.txt
Open yourdomain.com/robots.txt. Look for any line mentioning GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-SearchBot, Claude-User, PerplexityBot, Google-Extended, or CCBot. A blanket Disallow: / under any of the search-specific agents is your problem. Cloudflare maintains a plain-language reference of current AI crawler user agents if you find a string you do not recognize.
A common configuration for a business that wants AI search visibility but not training use:
Whether you block the training bots is a business decision, not a visibility one. Some owners allow everything on the theory that being in the training data helps them be described accurately. Both positions are defensible. Blocking the search bots by accident is not.
STEP 2Check that your firewall agrees with your robots.txt
This is the failure most owners never find, because robots.txt looks perfect while requests are rejected one layer up. If you use Cloudflare, Sucuri, Wordfence, or any managed WAF, look for bot-blocking or "AI scraper" rules and confirm the search agents are not being challenged, rate limited, or served a 403. A crawler that receives an interstitial, a CAPTCHA, or a 429 cannot treat your page as a clean source, and it has no way to tell you. Check your access logs: if you see the agents above but every response is a 403 or 429, robots.txt is not your problem. Cloudflare's public AI Insights dashboard on Radar shows ecosystem-level crawler activity. If you use Cloudflare, inspect your own site's bot and security analytics, including AI Crawl Control where available, to see whether AI crawlers are being allowed, challenged, rate limited, or blocked.
STEP 3Look for snippet suppression
View source on your most important page and search for nosnippet, max-snippet, and data-nosnippet. Also check your X-Robots-Tag HTTP headers, since these can be set server-side and never appear in your HTML. If max-snippet:0 or nosnippet is on pages you want in AI answers, remove it, then confirm the change with the URL Inspection tool rather than waiting and guessing. Google notes that recrawling after a preview-control change can take anywhere from days to months.
Confirm your important content is reliably available as text
Disable JavaScript and reload a key page as a quick diagnostic. If your headings, body copy, prices, service areas, or other critical facts disappear, you have created an extra rendering dependency. Google can render JavaScript, but not every retrieval system documents equivalent rendering behavior, and even Google recommends making important content available in textual form. Its JavaScript SEO basics guide covers common implementation issues. For information you want search and answer systems to retrieve reliably, prefer server-rendered or otherwise crawlable textual HTML rather than requiring client-side JavaScript to reveal the core answer.
STEP 5Set up measurement before you change anything else
OpenAI's publisher FAQ states that ChatGPT automatically includes utm_source=chatgpt.com in referral URLs, which makes that traffic identifiable in analytics instead of being dumped into direct (Publishers and Developers FAQ). On the Google side, AI Overviews and AI Mode impressions and clicks are reported inside the normal Search Console Performance report under the Web search type. Finally, record on a fixed date how many of your target buyer questions currently name you at all. Without a before, there is no after — see how to check if your business appears in AI search for exactly how to run that baseline and why a single check isn't enough.
What this audit will not do
It will not get you cited. Eligibility is a floor, not a lever. Being blocked, being retrieved but not cited, and being cited but not converting are three separate problems with three separate fixes — see how to check if your business appears in AI search for how to tell retrieved-but-not-cited apart from never-retrieved-at-all.
Once a crawler can reach you, the question becomes whether your page is the most relevant answer to the specific question asked, and whether it gets retrieved at all against competitors. Two controlled studies are worth knowing about here.
C-SEO Bench (Puerto et al., NeurIPS 2025 Datasets and Benchmarks Track, arXiv:2506.11097, code) tested nine conversational-SEO methods across six domains and, importantly, under competition where multiple documents adopt the same tactic. It compared them against a plain retrieval baseline of moving the source higher in the model's context, and found that position advantage held up better than most content rewrites.
"What Gets Cited: Competitive GEO in AI Answer Engines" (Vishwakarma, Kumar, and Jamidar, SIGIR 2026, arXiv:2605.25517, DOI 10.1145/3805712.3808445) ran 252,000 paired trials across six models, varying exactly one of eighteen content factors at a time with brands anonymized and source order counterbalanced. Topical relevance and list position came out as the primary determinants of which source got cited first. The authors' practical conclusion is that formatting changes showed minimal return and can be deprioritized once the relevance baseline is met.
Both are controlled RAG testbeds, not live production pipelines, so do not read them as universal ranking rules. The earlier and more widely quoted GEO paper (Aggarwal et al., KDD 2024) is where the "add statistics and citations" advice originates, and it is worth reading alongside the two above rather than instead of them. All three point the same direction as Google's plainer statement that ordinary SEO fundamentals still apply and no special AI markup is needed.
So the order of operations is: be reachable, then be relevant, then be better evidenced than the alternative, then measure whether any of it changed the answers. This audit is step one only.
Frequently asked
Does blocking GPTBot hurt my ChatGPT visibility?
No. GPTBot is the training crawler, OAI-SearchBot is the search crawler, and OpenAI documents the settings as independent. Longer version: OAI-SearchBot vs. GPTBot.
I blocked Google-Extended. Am I out of AI Overviews?
No. AI Overviews and AI Mode source from the regular Search index. The controls that affect them are nosnippet, data-nosnippet, max-snippet, and noindex. See Google-Extended.
Can I appear in Google's blue links but stay out of the AI answer?
Not cleanly. The snippet directives that keep you out of AI Overviews also remove your featured snippet and shorten your normal search snippet.
Does an llms.txt file fix any of this?
No. Google states you do not need new machine-readable files or AI text files to appear in its AI features. llms.txt is an optional emerging convention, not an established eligibility or ranking requirement, and it is not a substitute for a robots.txt, indexing, or firewall fix.
How long after I fix robots.txt before it matters?
OpenAI notes roughly 24 hours for its search systems to adjust. Google recrawls on its own schedule, which can run from days to months. Whether you then get cited is a separate and slower question.
Do I need to do this more than once?
Yes. Security rules get reset during routine maintenance, and a WAF policy refresh can silently re-block agents you deliberately allowed. Re-check after any hosting, CDN, or security change.
Does this cost anything to fix?
Usually nothing but your time. Where an owner should actually spend money is a separate question.
If you would rather not do this by hand
The checks above are free and manual, and doing them yourself is the fastest path if you have twenty minutes and access to your hosting panel.
What manual checking does not give you is the second half of the picture: whether the engines currently name your business for the questions your buyers actually ask, which competitors they name instead, and which third-party sources those answers keep drawing from. That requires running a fixed prompt set repeatedly across engines and recording the results, because a single run of a single prompt is one sample from a nondeterministic system, not a ranking — see how to check if your business appears in AI search for exactly how we run that and what we count.
CitationLoop runs the crawler and snippet checks above automatically and pairs them with that prompt-level baseline, so you can tell whether an access problem or a relevance problem is keeping you out of the answer.
Run the crawler, firewall, and snippet checks above automatically, paired with a live prompt-level baseline across ChatGPT, Perplexity, Gemini and Copilot — no card required.
Run the free audit- OpenAI, Overview of OpenAI Crawlers. developers.openai.com/api/docs/bots
- OpenAI, Publishers and Developers FAQ. help.openai.com/en/articles/12627856
- Anthropic, Does Anthropic crawl data from the web, and how can site owners block the crawler? Updated April 7, 2026. support.claude.com/en/articles/8896518
- Google Search Central, AI features and your website. developers.google.com/search/docs/appearance/ai-features
- Google Search Central, Optimizing for generative AI search. developers.google.com/search/docs/fundamentals/ai-optimization-guide
- Google Search Central, Robots meta tag, data-nosnippet, and X-Robots-Tag. developers.google.com/search/docs/crawling-indexing/robots-meta-tag
- Google Search Central, Google common crawlers (Google-Extended). developers.google.com/search/docs/crawling-indexing/google-common-crawlers
- Google Search Central, Introduction to robots.txt. developers.google.com/search/docs/crawling-indexing/robots/intro
- Google Search Central, JavaScript SEO basics. developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics
- Google Search Central, Structured data general guidelines. developers.google.com/search/docs/appearance/structured-data/sd-policies
- Google Search Console, Performance report. support.google.com/webmasters/answer/7576553
- Google Search Console, URL Inspection tool. support.google.com/webmasters/answer/9012289
- Perplexity, Perplexity Crawlers. docs.perplexity.ai/docs/resources/perplexity-crawlers
- Cloudflare, Verified bots. developers.cloudflare.com/bots/concepts/bot/verified-bots
- Cloudflare, How to detect which AI bots crawl your site. cloudflare.com/learning/ai/how-to-detect-which-ai-bots-crawl
- openai.com/searchbot.json, gptbot.json, chatgpt-user.json
- claude.com/crawling/bots.json
- perplexity.com/perplexitybot.json, perplexity-user.json
- Cloudflare Radar, AI Insights. radar.cloudflare.com/ai-insights
- Puerto, Gubri, Green, Oh, and Yun. C-SEO Bench: Does Conversational SEO Work? NeurIPS 2025 Datasets and Benchmarks Track. arXiv:2506.11097
- Vishwakarma, Kumar, and Jamidar. What Gets Cited: Competitive GEO in AI Answer Engines. SIGIR 2026. arXiv:2605.25517 and DOI 10.1145/3805712.3808445
- Aggarwal, Murahari, Rajpurohit, Kalyan, Narasimhan, and Deshpande. GEO: Generative Engine Optimization. KDD 2024. arXiv:2311.09735
- Cloudflare, Perplexity is using stealth, undeclared crawlers to evade website no-crawl directives. August 4, 2025. blog.cloudflare.com
- See also why isn't my business showing up on ChatGPT and our 12-site crawler-access study for what tends to happen once a page passes this eligibility check.