ChatGPT Brand Visibility Checklist: From Access to Accuracy
99Visibility Research · Updated October 21, 2026 · 5 min read
Short answer
A ChatGPT visibility checklist runs in order. First, confirm robots.txt lets OAI-SearchBot in. Next, confirm your firewall or CDN doesn't block it. Then make sure key content is in the raw HTML and that your brand facts match across pages. Last, run a logged-out prompt check and note whether ChatGPT searched. The first three steps are documented. Fact consistency is hygiene. The prompt check measures what ChatGPT says.
Key takeaways
- OpenAI documents three separate agents: GPTBot for training, OAI-SearchBot for ChatGPT search, and ChatGPT-User for user-initiated actions, and each setting is independent.
- OpenAI says eligibility needs both robots.txt permission and a host or CDN that lets its published searchbot IP addresses through.
- ChatGPT's crawlers don't execute JavaScript, so facts that appear only after hydration may not exist for them.
- Consistent brand facts across your own pages are hygiene with no measured effect on citation, but they are the part of accuracy you fully control.
- A prompt check only means something if you record the date, the logged-out state and whether the answer showed sources.
Step 1: Resolve robots.txt for each OpenAI agent
Status: documented by OpenAI.
OpenAI runs separate crawlers, and robots.txt treats each one separately. As of October 2026, its bots page describes them this way:
- GPTBot crawls content that may be used to train OpenAI's foundation models. Disallowing it opts you out of training. It does nothing for search.
- OAI-SearchBot surfaces sites in ChatGPT search. OpenAI says opted-out sites "will not be shown in ChatGPT search answers, though can still appear as navigational links."
- ChatGPT-User fetches pages when a user asks. OpenAI says robots.txt rules "may not apply" to it.
The most common error is a blanket AI block that removes OAI-SearchBot along with GPTBot. If you want to appear in ChatGPT search while opting out of training, the rules look like this:
User-agent: OAI-SearchBot
Allow: /
User-agent: GPTBot
Disallow: /
Allowing OAI-SearchBot buys eligibility, not citation. Our AI crawler access audit playbook covers the same check for every major engine.
Step 2: Test the firewall and CDN, not just robots.txt
Status: documented by OpenAI. How often it fails is not measured.
OpenAI's help page states the gate as a conjunction: allow OAI-SearchBot to crawl "and confirm that the website host or content delivery network allows traffic from OpenAI's published searchbot IP addresses." Those ranges are published at openai.com/searchbot.json.
This is the silent failure. robots.txt says allow, the bot-management layer returns a 403 or a challenge page, and no dashboard tells you. To check it:
- Request a representative URL with the OAI-SearchBot user agent.
- Record the status code. A 200 passes. A 403, a 429 or a CAPTCHA page fails.
- Confirm /robots.txt itself is reachable.
Don't rely on IP allowlisting alone. Validate on user agent plus your CDN's verified-bot settings. If you're on Cloudflare, recheck after its 2026-09-15 default change, which blocks Training and Agent crawlers on ad-displaying pages for new domains and free-tier accounts. The AI Crawler Checker requests a page as each AI crawler and shows which ones your firewall turns away.
Step 3: Diff the raw HTML against the rendered page
Status: strongest evidence in the set, independently replicated.
Vercel's crawler study found that ChatGPT's crawlers fetch JavaScript files but "don't execute them. They can't read client-side rendered content." Independent testing in June 2026 found the same for GPTBot, OAI-SearchBot and ChatGPT-User.
Fetch each key page twice: once as raw HTML with JavaScript off, once in a headless browser. Compare the visible text. List every price, product name, plan and claim that appears only after hydration. Content behind tabs, accordions or "load more" buttons often fails the same way.
The fix is server-side rendering or prerendering for the content that matters. This doesn't make ChatGPT more likely to choose you. It decides whether your facts exist in the candidate page at all.
Step 4: Make your brand facts consistent across pages
Status: hygiene. No study measures its effect on citation.
If your pricing page, about page and footer state different numbers, an engine reading any one of them can repeat the wrong one. That's a plausible mechanism, not a measured one. It's still the accuracy lever you fully control.
- Write a fact sheet: prices, plan names, founding year, headquarters, ownership, integrations.
- Search your own site for each fact and fix every contradiction.
- State each fact once, plainly, in fetchable HTML. A specific sentence (a price, a number, a one-line definition) gives the engine a line it can quote. That's the only positive experimental signal for on-page content.
Pricing is where errors cost most. The pricing accuracy check focuses on exactly that.
Step 5: Run a logged-out prompt check and note retrieval state
Status: measurement, not a lever.
ChatGPT decides per question whether to search. When it does, OpenAI says it "rewrites your query into one or more targeted queries." With memory on, it may use saved memories when rewriting. So a logged-in test isn't reproducible.
For each buyer question, record:
- Date, logged-out state, and memory off.
- Whether the answer showed sources. No sources means you can't tell whether it searched.
- Each brand fact stated, checked against your fact sheet.
Unsearched answers come from training data with a cutoff. OpenAI lists Feb 16, 2026 for the GPT-5.6 family and Aug 31, 2025 for the Instant path, as of October 2026. Anything you published later can't appear in those answers.
The free checker on this site runs up to three buyer questions as a snapshot. For a deeper read on errors, see whether ChatGPT is accurate about your company.
What is documented, what is hygiene, what is unsupported
| Item | Status |
|---|---|
| OAI-SearchBot allowed in robots.txt | Documented by OpenAI |
| Host or CDN lets OpenAI's IPs through | Documented by OpenAI |
| Key facts in raw HTML | Strong independent evidence |
| Consistent facts across pages | Hygiene, effect unmeasured |
| Allowing GPTBot for visibility | Unsupported: training only |
| Schema or FAQ schema | Unsupported: Ahrefs' matched test found no major uplift |
| llms.txt | Unsupported: no engine documents reading it |
Outside your control: whether ChatGPT searches for a given question, which retrieved pages it cites, and how it ranks them. OpenAI's full disclosure is that it uses "multiple factors" and "placement is not guaranteed."
The same order applies elsewhere with different agents. Compare the Perplexity audit checklist, the Claude checklist, or the cross-engine AI SEO checklist.
Frequently asked questions
Does blocking GPTBot remove me from ChatGPT search?
No. OpenAI states that each crawler setting is independent. GPTBot governs training use only. OAI-SearchBot controls whether your pages can appear in ChatGPT search answers. You can disallow GPTBot to opt out of training and still allow OAI-SearchBot. The reverse is also true: allowing GPTBot does nothing for search visibility, and OpenAI makes no claim that it does.
Will adding schema or an llms.txt file help ChatGPT cite my site?
The evidence doesn't support it. Ahrefs' matched-control study of 1,885 pages found adding schema produced no major uplift in citations on any platform, including ChatGPT. No engine documents reading llms.txt. Existing markup does no harm, so there's no reason to remove it. It just isn't a lever for AI answers. Spend the time on access and rendering instead.
How can I tell whether ChatGPT searched the web for an answer?
Look for visible sources or citations in the answer. If they appear, retrieval ran. If they don't, you can't know for sure, because ChatGPT decides per question whether to search. An answer without sources may come from training data with a fixed cutoff. Record this for every test so you don't compare searched and unsearched answers as if they were the same thing.
Can I track my ranking or position inside ChatGPT?
No reliable number exists. OpenAI says only that ChatGPT ranks results using multiple factors and that placement isn't guaranteed. It publishes no position data to check a rank against. What you can track is presence, which facts ChatGPT states, and whether they're right. Our guide to [measuring AI share of voice](/playbooks/measure-ai-share-of-voice) explains how to do that without inventing a rank.
How often should I rerun this checklist?
Rerun the access steps after any deploy, CDN change or bot-management update, since a firewall rule can block OAI-SearchBot without anyone editing robots.txt. Rerun the rendering diff after front-end changes. Rerun the prompt check on a fixed schedule, such as quarterly, with the same questions and the same logged-out setup so results stay comparable over time.
Sources
This page is AI-assisted. It was written from a verified evidence base and checked against our editorial policy. Engine behaviour changes often; facts are as of October 21, 2026.