GEO Checklist: 15 AI Visibility Fixes, Access First
A GEO checklist is the list of fixes that decide whether AI platforms such as ChatGPT, Perplexity, Gemini, Google AI Overviews and Claude can read your site and describe your brand correctly. Work through it in this order: crawler access first, then accidental suppression, then your facts, then measurement, because the fixes with documented cause and effect are the ones that remove a barrier.
Each of the 15 fixes below has the reason, the source and the exact check to run.
The 15 fixes at a glance
| # | Fix | Part | Time | Done when |
|---|---|---|---|---|
| 1 | Allow AI search bots in robots.txt | Access | 15 min | Each search bot has an explicit Allow |
| 2 | Decide training bots separately | Access | 10 min | GPTBot, ClaudeBot, Google-Extended set on purpose |
| 3 | Confirm your CDN lets the bots through | Access | 30 min | Each bot gets a 200 in your logs |
| 4 | Check your CDN's AI crawler settings | Access | 10 min | No "block" setting catches search crawlers |
| 5 | Put key facts in server-rendered HTML | Access | Developer time | Prices visible in the page source |
| 6 | Remove accidental noindex | Suppression | 15 min | No noindex on pages you want cited |
| 7 | Remove accidental snippet blocks | Suppression | 15 min | No nosnippet, max-snippet:0 or data-nosnippet on facts |
| 8 | Check Search Console's generative AI control | Suppression | 5 min | Set to include, on every property |
| 9 | Get indexed in Google and Bing | Suppression | 30 min | Key pages show as indexed in both |
| 10 | Write a fact sheet | Facts | 30 min | One owner, one current version |
| 11 | Make every price and plan agree | Facts | 1 hour | One price per plan, everywhere |
| 12 | Make schema match the visible page | Facts | 30 min | Every schema fact also in the page text |
| 13 | Correct third-party pages AI cites | Facts | Ongoing | Profiles you control match the fact sheet |
| 14 | Baseline what AI says about you | Measure | 1 hour | A dated log per platform and mode |
| 15 | Turn on first-party reporting and a weekly review | Measure | 30 min | Search Console, Bing and GA4 checked weekly |
Part 1: Access (the technical GEO checklist)
If a crawler cannot fetch your page, nothing else on this list matters for that platform. These five fixes are binary, checkable, and documented by the AI vendors themselves.
1. Allow the AI search bots in robots.txt
OpenAI states that sites opted out of OAI-SearchBot will not be shown in ChatGPT search answers. Meta goes further than any other vendor: allowing Meta-WebIndexer "helps us cite and link to your content in Meta AI's responses". For Google there is no AI-specific token: Google says Googlebot's robots.txt rules are the control for AI Overviews and AI Mode too.
User-agent: OAI-SearchBot
User-agent: PerplexityBot
User-agent: Claude-SearchBot
User-agent: Meta-WebIndexer
Allow: /
If your file already has a User-agent: * group with Disallow lines, copy those lines into this group too, because a bot follows only its most specific group and ignores the rest. If nothing blocks these bots now, you do not need this group at all. Googlebot and Bingbot need no group of their own; make sure nothing blocks them.
Check: open yoursite.com/robots.txt. A named group overrides the catch-all User-agent: * group for that bot, so look for both. robots.txt is necessary, not sufficient: Perplexity says its user-triggered fetcher generally ignores robots.txt rules, and OpenAI says the same rules "may not apply" to ChatGPT-User.
2. Decide training bots separately
Training crawlers and search crawlers are different bots with different consequences. OpenAI states that each of its settings is independent of the others: blocking GPTBot keeps you out of training but does not remove you from ChatGPT search, and allowing it does not get you cited. Google says Google-Extended does not impact a site's inclusion in Google Search, though it does cover Gemini Apps grounding.
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Meta-ExternalAgent
Disallow: /
# Blocks Gemini training AND Gemini Apps grounding: only if you accept leaving Gemini answers
User-agent: Google-Extended
Disallow: /
Check: every training bot in your file is there because someone decided it, not because a plugin added it. No vendor documents whether opting out of training changes what its models later say about you, so make this a rights decision, not a visibility one.
3. Confirm your CDN and firewall let the bots through
This is the half of the gate most sites never test. OpenAI's help center makes ChatGPT search eligibility conditional on allowing OAI-SearchBot and confirming your host or CDN allows traffic from OpenAI's published searchbot IP addresses. A firewall that returns 403 to the bot removes you while robots.txt still says allow.
curl -sIL -A "Mozilla/5.0 (compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)" https://www.yoursite.com/pricing
Check: run the request for each search bot from a terminal (on Windows, open PowerShell and type curl.exe instead of curl). If you see a 301 or 308 first, the last status code is the one that counts. A 403, 429 or challenge page is a lead, not proof, because some firewalls block faked bots by design.
Confirm in your CDN logs, filtered to the IP ranges each vendor publishes (OpenAI's are at openai.com/searchbot.json). Do not block the bots by IP either: Anthropic warns that doing so impedes its ability to read your robots.txt file.
4. Check your CDN's AI crawler settings
CDNs now ship AI bot controls, and defaults change. On Cloudflare, since September 15, 2026, the "Block" and "Block on pages with ads" settings apply to mixed-use crawlers, including Applebot, Bingbot and Googlebot, so a setting chosen to stop training can now cost you search. Cloudflare's "Disallow AI Training" option keeps search crawlers allowed.
Check: in Cloudflare, open Security Settings, then Configure AI bot policies, and confirm nothing blocks the search crawlers you allowed in fix 1. Our guide on whether you should block AI crawlers on Cloudflare compares each option.
5. Put load-bearing facts in server-rendered HTML
Vercel's crawler study found that ChatGPT's and Claude's crawlers fetch JavaScript files but don't execute them; Googlebot and Applebot do render. A price that loads by script is invisible to most AI crawlers and visible to Google, which is why the problem hides so well.
Check: open your pricing page, press Ctrl+U (Cmd+Option+U on Mac) to view the source, and search for a price. If it is missing, ask your developer to render prices, plan names and key claims on the server. Do the same for product, About and comparison pages.
Part 2: Suppression (are you hiding from AI yourself?)
These settings are legitimate tools that get applied by accident: a template copied across the site, a plugin default, a staging rule that reached production.
6. Remove accidental noindex
Google's rule for AI Overviews and AI Mode is that a page must be indexed and eligible to be shown in Google Search with a snippet. A noindex fails the first half.
Check: view the source of your key pages and search for noindex. Then check the HTTP headers, because the same rule can arrive as an X-Robots-Tag header: run curl.exe -sIL https://www.yoursite.com/pricing (plain curl -sIL on Mac or Linux) and read the response.
7. Remove accidental snippet blocks
Google states that nosnippet and max-snippet also limit what can be used as input for AI Overviews and AI Mode, and that max-snippet:0 equals nosnippet. Bing says content marked data-nosnippet is still indexed normally but excluded from snippets and AI summaries.
Check: search the page source for nosnippet, max-snippet and data-nosnippet. The common accident is a data-nosnippet wrapper meant for a cookie banner that ends up around the main content.
8. Check Search Console's generative AI control
Search Console has a control for whether your site appears in AI Overviews, AI Mode and generative AI features in Discover. Inclusion is the default for all properties, and Google says it has rolled out to all websites as of August 31, 2026. A child property inherits from its parent unless someone overrides it.
Check: open the setting on your domain property and on every child property, such as a subfolder or subdomain. One exclusion at the top removes everything below it, and nothing outside Search Console shows it.
9. Get indexed in Google and Bing
Google AI features need an indexed page. On the Microsoft side, Bing Webmaster Tools reports citations of your pages in Microsoft Copilot and Bing's AI-generated summaries, which draw on pages Bing has crawled.
Check: run your pricing, product and About pages through URL Inspection in Search Console, verify the site in Bing Webmaster Tools, and submit a sitemap to both.
Part 3: Facts (is what you publish consistent?)
When an AI states your price wrong and cites your own site, the cause is usually your site. These fixes remove the contradictions an engine cannot resolve for you.
10. Write a fact sheet
One document, one owner: founding year, headquarters, CEO and start year, ownership and acquisitions, headcount range, every plan and price with the date it changed, main features, and what you no longer offer. Every other fix in this part checks your site against it.
11. Make every price and plan agree
Prices drift: the pricing page changes, and the FAQ, footer, old blog posts, help articles and PDFs do not. A retrieval-on answer can cite any of them.
Check: search your site for each price and plan name, using your CMS search or a Google query such as site:yoursite.com "$49". Fix or retire every page that states an old value.
12. Make your schema match the visible page
Schema is not an AI lever. Google says structured data isn't required for generative AI search, and Ahrefs' matched-control test of 1,885 pages found adding it produced no major uplift, and a 4.6% drop in AI Overview citations. It still feeds Google rich results, so if you have it, keep it correct.
Check: every fact in your JSON-LD, especially prices, must also appear in the visible text. The schema generator runs that parity check for you.
13. Correct the third-party pages AI cites
When a wrong answer cites a directory, review profile or old article, that page is the source of the error. Update the profiles you control (LinkedIn, Crunchbase, G2, app stores, industry directories) to match the fact sheet, and ask other site owners for corrections.
Part 4: Measure (know when something breaks)
14. Baseline what AI says about you
Ask a fixed set of prompts on each platform, logged out, and record whether you are named, whether the facts are right and which sources are cited. Log the mode, because an answer from memory and an answer after a web search have different causes. The step-by-step method is in what does ChatGPT say about my brand, and the free AI visibility checker gives you a first read on ChatGPT and Google AI Overviews.
15. Turn on first-party reporting and a weekly review
Three reports matter. Search Console's Generative AI performance report shows impressions in AI Overviews and AI Mode, with no clicks or position, and Bing's AI Performance report shows citations and grounding queries.
GA4's AI Assistant channel counts visits from assistants such as ChatGPT, but files AI Overviews and AI Mode under Organic Search, so treat it as a floor.
Then check them on a schedule. Our AI visibility monitoring routine covers access, answers and these reports in 15 minutes a week.
What is not on this checklist, and why
Most GEO checklists lead with additive tactics. The evidence does not support them as AI levers, so they are left off.
| Popular item | Why it is left off |
|---|---|
| FAQPage schema for AI answers | Google stopped showing FAQ rich results on May 7, 2026 and removed the documentation on June 15, 2026. FAQ content can still help readers; see FAQ page SEO. |
| Schema "for AI" | Not required for generative AI search, and the one matched-control test found a small drop in AI Overview citations (fix 12). |
| An llms.txt file | Google Search ignores AI text files, and no other engine documents reading one. See what llms.txt is. |
| Chunking or rewriting "for AI" | Google says there is no requirement to break content into tiny pieces and you don't need to write in a specific way for generative AI search. |
| Bumping "last updated" dates | The date is self-declared, and no study with a control group shows it earns citations. Keep dates honest; see how often to update content for AI. |
| Raising an E-E-A-T score | Google says E-E-A-T itself isn't a specific ranking factor, and there is no score to raise. More in E-E-A-T for AI search. |
| Allowing GPTBot to get cited | GPTBot is OpenAI's training crawler; ChatGPT search inclusion depends on OAI-SearchBot (fixes 1 and 2). |
After the checklist: answer the question on a page bots can read
Once access, suppression and facts are clean, the one content factor the research agrees on is topical relevance. A critical survey of 45 GEO studies found that topical relevance and context position are the most reproducible levers, and that citation-oriented rewrites can impair retrieval. Position is set by the engine, not you.
So the remaining work is plain: for each question your buyers ask, make sure one page on your site answers it directly, with your current facts, in server-rendered HTML. That is not a formatting trick, and no checklist can automate it.
Frequently asked questions
What is a GEO checklist?
A GEO checklist is a prioritized list of fixes that determine whether AI platforms can reach your site and describe your brand correctly. A good one starts with crawler access and accidental suppression, which have documented effects, then fixes factual contradictions, then sets up measurement.
What should a technical GEO checklist include?
Per-bot robots.txt rules for the AI search crawlers, a test that your CDN or firewall returns 200 to those crawlers, your CDN's AI bot settings, server-rendered prices and key facts, and a scan for noindex, nosnippet, max-snippet:0, data-nosnippet and X-Robots-Tag headers. Add Search Console's generative AI control and Google and Bing index status.
Which GEO fix should I do first?
Fixes 1 and 3: allow the AI search bots in robots.txt, then confirm your CDN actually lets them through. Together they decide whether ChatGPT search, Perplexity and Claude's search can read your site at all, and a block in either one makes every later fix invisible to that platform.
How long until GEO fixes show up in AI answers?
Access and fact fixes reach search-based answers after the crawler fetches your pages again, which you can confirm in your server logs. Answers a model gives from memory change only when a new model with a later knowledge cutoff ships. Nobody can promise a date for either.
Is GEO part of SEO?
They overlap. For AI Overviews and AI Mode, Google says there are no additional requirements beyond being indexed and snippet-eligible, so SEO hygiene covers Google; ChatGPT, Perplexity, Claude and Meta AI run their own crawlers with their own gates, which classic SEO never checks. Our guide to GEO vs SEO covers the differences.
To get a prioritized list of the access, suppression and accuracy problems on your own site, run a 99Visibility audit.
Get the fix list for your site
Every finding comes with what to change, where, and how long it takes, ranked by priority. Run your first audit free.
Start for Free- Critical·Accuracy~30 min
AI quotes the wrong price for Acme
- High·Platform~30 min
Your firewall blocks OpenAI even though robots.txt allows it
- High·Visibility Gap1-2 hours
Absent on Google AI Overviews for “best crm for agencies”
Related Articles
Brand Visibility in AI Search: 5 Signs You're Invisible
Five signs AI search is skipping or misdescribing your brand, the check behind each one, and the three mistakes that cause most of them.
Should I Block AI Crawlers on Cloudflare? A Per-Bot Decision Guide
Block training crawlers if you object to training; keep search and agent crawlers open to stay in AI answers. What Cloudflare changed on September 15, 2026, per crawler, and how to check yours.
AI Visibility Monitoring: A 15-Minute Weekly GEO Review
A fixed 15-minute weekly routine for AI visibility monitoring: crawler access, answers, first-party data, and a triage table for when something changes.


