Your site ranks on Google. Traffic looks fine. But ask ChatGPT about your product category, and you’re nowhere. That gap (solid Google visibility, zero AI visibility) is common, and it’s easy to miss until a competitor starts showing up in answers you don’t.
ChatGPT visibility comes down to whether AI crawlers can reach your site, read it, and trust it fast enough to bother. Here are the five most common reasons a website disappears from ChatGPT, Perplexity, and Google AI Overviews. Below is how to fix each one.
1. Your robots.txt Is Blocking AI Bots (and You Probably Don’t Know It)
The single biggest cause of AI invisibility is a robots.txt file that blocks AI crawlers, often without the site owner realizing it. Many WordPress themes and “block bad bots” plugins ship with AI crawlers pre-blocked by default.
OpenAI, Anthropic, and Perplexity each run multiple crawlers with different jobs, and blocking the wrong one backfires:
- Training crawlers (GPTBot, ClaudeBot, Google-Extended, CCBot) improve the underlying models. Blocking these protects IP but doesn’t affect today’s ChatGPT answers.
- Retrieval/search crawlers (OAI-SearchBot, Claude-SearchBot, PerplexityBot) fetch live pages for real-time answers and citations. Block these and you vanish from AI search results immediately.
- User-triggered fetchers (ChatGPT-User, Claude-User) load a page when someone asks the AI to visit it. Block these and the AI can’t open your link even on direct request.
A blanket Disallow: / under User-agent: *, or a security plugin that lumps every “AI” string into one blocked category, quietly kills all three at once. Some sites also still block deprecated tokens like Claude-Web or anthropic-ai, which do nothing, while the active ClaudeBot and Claude-SearchBot go unnoticed.
The Fix
Audit your live robots.txt at yourdomain.com/robots.txt against the current crawler list. Don’t rely on a bookmarked version from last year; new bots appear several times a year.
| Crawler | Owner | Purpose | Recommended for AI visibility |
|---|---|---|---|
| OAI-SearchBot | OpenAI | Live retrieval for ChatGPT Search | Allow |
| ChatGPT-User | OpenAI | User-triggered page fetch | Allow |
| GPTBot | OpenAI | Model training | Decision call (allow for max visibility) |
| Claude-SearchBot | Anthropic | Live retrieval for Claude | Allow |
| Claude-User | Anthropic | User-triggered page fetch | Allow |
| ClaudeBot | Anthropic | Model training | Decision call |
| PerplexityBot | Perplexity | Answer engine indexing | Allow |
| Google-Extended | Gemini/AI Overviews training | Allow (separate from core Googlebot) |
Never touch standard Googlebot. That’s organic search visibility, not AI (Google-Extended is the separate token for Gemini/AI Overviews training). Blocking OAI-SearchBot while allowing GPTBot is the most common mistake: it hands OpenAI your content for training while erasing you from ChatGPT Search results. And check whether a CDN-level “manage robots.txt” toggle is silently overriding your origin server’s file.
Once your robots.txt is clean, run it through ICODA’s AI Visibility checker to confirm which crawlers can reach your pages right now.
2. No Structured Data Means AI Can’t Understand Your Content
Structured data (schema markup) tells AI systems what your content means, not just what it says. AI answer engines parse pages for entities and facts they can extract with confidence. Plain paragraphs force the model to infer structure it might get wrong, and uncertain content loses out to a competitor’s pre-labeled page.
This matters most for:
- Product pages. Product, Offer, and AggregateRating schema make price, availability, and review data machine-readable, and still produce rich results in Google Search.
- FAQ and guide content. FAQPage and HowTo schema still help AI systems parse Q&A and step structure, but treat them as comprehension aids now, not SERP-display tactics: Google retired HowTo rich results in 2023 and FAQ rich results in Google Search as of May 7, 2026. Both remain valid Schema.org types, still crawled by AI systems. They just don’t produce a Google dropdown anymore.
- Organization and author data. Organization and Person schema, tied to a real bio and credentials, feed directly into E-E-A-T signals.
Schema’s correlation with AI citation isn’t uniform across platforms, either: some evidence points to a stronger link on Perplexity than on ChatGPT. Either way, schema alone won’t compensate for weak authority.
The Fix
Start with the schema types that map to how people ask questions in ChatGPT: FAQPage, Product/Offer, Article, and Organization. Validate with Schema.org’s own validator (Google’s Rich Results Test no longer checks FAQ markup); broken JSON-LD creates contradictory signals. Don’t rip out existing FAQPage or HowTo markup just because the rich result is gone; the markup still feeds AI parsing. Prioritize pages most likely to answer a real query. Run a quick AI Visibility audit on icoda.io/ai-visibility/ to see which pages are missing schema entirely.
3. A Slow Page Means AI Crawlers Skip You
AI crawlers, like search engines, operate on a limited crawl budget per site, and slow-loading pages get less of it, sometimes abandoned before content ever loads. A crawler evaluating thousands of domains won’t wait around the way a human visitor might.
Core Web Vitals (Largest Contentful Paint, Interaction to Next Paint, and Cumulative Layout Shift) aren’t just a Google ranking input anymore. They’re a proxy every crawler uses for whether a page is worth the cost of retrieving and parsing.
Common culprits behind slow AI crawlability:
- Unoptimized hero images and above-the-fold media
- Render-blocking JavaScript that delays content from appearing in the raw HTML
- Server response times that lag under bot traffic spikes
- Heavy third-party scripts loaded before core content
The Fix
Run key pages through PageSpeed Insights and target sub-2.5-second Largest Contentful Paint as a baseline. Move to server-side rendering or static generation for content-heavy pages if you rely on client-side JavaScript. Major AI crawlers don’t execute JavaScript at all. Crawler-log studies from Vercel and MERJ found GPTBot fetches JS files in about 11.5% of requests and ClaudeBot in about 24%, but neither ever runs them; they read the raw HTML and move on. If your main content only appears after a script runs, it’s invisible to ChatGPT, Claude, and Perplexity even if Google indexes it fine. Defer non-critical scripts, compress images, and cut third-party widgets you don’t need.
4. No Sitemap Means AI Can’t Discover Your Pages
Without an updated XML sitemap, AI crawlers can only find your pages through internal links. On large or poorly linked sites, they may never find entire sections. A sitemap is the most direct map you can hand a crawler: here are all my pages, here’s when they last changed, here’s what matters.
The impact compounds on sites with:
- Deep page hierarchies (products buried four clicks from the homepage)
- Orphaned pages with no internal links pointing to them
- Frequently updated content that a stale sitemap never signals as “changed”
- New sections launched without a sitemap resubmission
The Fix
Generate or refresh your XML sitemap and reference it in robots.txt with a Sitemap: directive; most crawlers check that line first. Submit it through Google Search Console and Bing Webmaster Tools, since several AI systems draw on both indexes. Keep it current automatically, and exclude thin or duplicate pages so you’re not wasting crawl budget.
ChatGPT’s web-search feature leans heavily on Bing’s index, too: studies estimate ChatGPT citations overlap with Bing’s top results in the 70β87% range. A page invisible to Bing risks being invisible to ChatGPT regardless of Google ranking. IndexNow (supported by Bing and Yandex, not Google) lets you push a URL the moment it changes, complementing your sitemap rather than replacing it.
5. Your Content Has No Extractable Answer (and No Reason to Trust It)
AI systems retrieve far more pages than they cite. The deciding factor at that final step is usually whether a page hands over a clean, self-contained answer, with visible signs of who wrote it and why they’re credible. An AirOps study tracking over 500,000 retrieved pages found ChatGPT cites only about 15% of what it pulls into consideration; it discards the rest. That gap is where most sites lose, even after solving discoverability.

Two problems compound here:
- The answer isn’t extractable. If a paragraph pulled out of your page wouldn’t make sense on its own, an AI system can’t cite it cleanly. AI systems extract content that opens with a direct answer and skip content that builds up to it over several paragraphs.
- There’s no visible trust signal. No named author, no credentials, no dates, no external references, just unattributed prose. A Loamly analysis of AI Overview citations found roughly 85% of cited sources show at least three of four strong E-E-A-T markers. Pages that rank fine on Google but read like they were written by no one in particular are exactly the ones AI systems learn to skip.
The two reinforce each other: a well-attributed page with a buried answer still won’t get quoted, and an extractable paragraph with zero credibility signal loses out the moment a more trustworthy alternative exists.
The Fix
Rewrite each section so the opening sentence directly answers the question implied by its heading; support and nuance come after. Add named author bylines with real credentials on any content meant to inform a purchase or professional decision, and back claims with specific numbers and named sources instead of vague generalities (“used by 12,000 people in 40 countries” beats “trusted by thousands”). Make sure Article schema carries a real author and publisher Organization, not just a string. Run icoda.io/ai-visibility/ against a few priority pages to see whether AI systems are citing them.
A Quick Note on llms.txt
llms.txt (the proposed Markdown file listing your key pages for AI systems) isn’t a ChatGPT visibility fix. Google’s John Mueller has compared it to the old keywords meta tag, noting server logs show major AI services barely check for it. An OtterlyAI 90-day analysis found llms.txt received a fraction of a percent of total AI bot requests on the domains it tracked. Where it does earn its keep: developer tooling. Anthropic, Stripe, and similar documentation sites use it so AI coding assistants like Cursor or GitHub Copilot can fetch clean technical docs without parsing full HTML pages. If you’re not running a docs site, treat it as a low-priority afterthought, not a ChatGPT lever.
Turning Fixes Into Visibility
Each of these five problems is about whether AI systems can reach, parse, and trust your content before deciding it’s worth citing. The best paragraph in the world doesn’t matter if a blocked crawler never sees it, a slow server times out first, or the answer inside it is never clean enough to lift out.
Quick self-check:
- β robots.txt allows the correct AI search and retrieval crawlers
- β Core page types carry valid, current schema markup
- β Core Web Vitals pass on your highest-priority pages
- β Sitemap is current, submitted, and referenced in robots.txt
- β Each section opens with a direct, extractable answer, backed by a visible author and real sourcing

None of these require guesswork. They’re verifiable, one at a time. Run your domain through ICODA’s AI Visibility checker to see exactly which gaps apply before you spend time fixing the wrong one. For ongoing work across all five, ICODA’s AI SEO team can handle it end to end.
Frequently Asked Questions (FAQ)
Your robots.txt being clean doesn’t guarantee anything downstream is clean too. CDNs, firewalls, and rate limiters block bots at the infrastructure level regardless of what your robots.txt file says, so a “welcome” file can sit on top of an infrastructure layer that’s quietly rejecting every AI crawler request. Check your CDN’s bot-management settings and firewall rules, not just the robots.txt text. This is the single most common gap between “I allowed the crawler” and “the crawler actually got in.”
llms.txt does almost nothing for ChatGPT visibility right now. Google’s John Mueller has compared it to the old keywords meta tag β a file websites fill in hoping it matters, that server logs show major AI services barely check. One 90-day analysis found it received a fraction of a percent of total AI bot requests on the domains tracked. It’s worth having if you run developer docs that tools like Cursor need to fetch cleanly, but for general ChatGPT visibility, it’s not the lever people think it is.
No β and this is where most people get confused. GPTBot trains OpenAI’s models; it has nothing to do with whether ChatGPT can answer questions about your site today. The bot that matters for live visibility is OAI-SearchBot, which fetches pages for real-time answers and citations. Block GPTBot and you keep your content out of training data. Block OAI-SearchBot and you disappear from ChatGPT Search entirely β those are two different decisions, and a lot of “AI bot blocker” plugins lump them into one setting without telling you.
Yes, but for a different reason than before. Google retired FAQ rich results in search as of May 2026, so you won’t get the dropdown snippet anymore β that part’s gone for good. But FAQPage schema is still a valid Schema.org type, and AI systems still parse it to understand your Q&A structure when deciding what to extract and cite. Don’t rip it out because the visual reward disappeared; the machine-readability it provides didn’t.
Schema markup helps AI systems parse what your content means, but it’s not a guaranteed citation lever, and the effect isn’t the same everywhere. Structured data seems to correlate more strongly with citations on Perplexity than on ChatGPT, and no amount of clean JSON-LD compensates for a page that isn’t actually authoritative. Add it because it removes ambiguity for machine parsing, not because it’s a guaranteed ticket to getting quoted. Broken or missing schema is a real problem; perfect schema on a weak page is not a fix.
Ranking well and getting cited are two different filters, and most pages pass the first without passing the second. AI systems retrieve far more pages than they ever cite β one study tracking over 500,000 retrieved pages found ChatGPT cites only about 15% of what it pulls in, and discards the rest. The two things that separate cited pages from discarded ones are a clean, self-contained answer near the top of the section and visible trust signals like a named author and real sourcing. A page can rank fine on Google and still read like it was written by no one in particular, and that’s exactly the kind of page AI systems learn to skip.
If your main content only renders after JavaScript runs, yes β AI crawlers read raw HTML and never execute your scripts, full stop. Crawler-log studies found GPTBot fetches JS files in about 11.5% of requests and ClaudeBot in about 24%, but neither one ever runs them. Google can still index a client-rendered page fine through its own rendering pipeline, which is exactly why this gap gets missed β everything looks healthy in Search Console while ChatGPT sees a blank page. Server-side rendering or static generation for content-heavy pages closes this gap; there’s no clever robots.txt fix for it.
Some of it is repackaged nonsense, and some of it is checking real, verifiable things β the difference is whether the audit tells you which specific crawlers can reach your pages right now or just hands you a vague “AI score.” A legitimate check confirms concrete facts: is OAI-SearchBot actually allowed, is your schema valid, does your LCP pass, is your sitemap current. That’s not magic, it’s a checklist you could run yourself with enough patience. Be skeptical of anyone selling AI visibility as a black box instead of showing you the specific gap they found.
Rate the article