When ChatGPT, Gemini or Perplexity names three competitors and skips you, the instinct is to assume the model "doesn't like" your brand. Models don't have preferences. They assemble an answer from what they can retrieve and what they can read. Something in that chain is failing, and there are only a handful of realistic failure points.
This is a diagnostic. Work through the five causes below in order. Each one has a cheap test and a distinct fix, and the order matters: fixing a description problem while your pages are uncrawlable wastes weeks.
Cause 1: The page isn't crawlable by the right bot
This is the most common cause and the easiest to rule out.
AI search does not run on a single crawler. Each vendor separates search from training, and the robots.txt rules are different for each:
- OpenAI: OAI-SearchBot surfaces sites in ChatGPT search. Sites that opt out of OAI-SearchBot are not shown in ChatGPT search answers. Blocking GPTBot (the training crawler) does not affect search visibility. ChatGPT-User handles user-initiated actions and, because the user triggered it, robots.txt rules may not apply to it at all.
- Anthropic: Claude-SearchBot indexes content for search. Claude-User fetches pages when a user asks Claude a question, and blocking it prevents retrieval for those queries. ClaudeBot is the training crawler.
- Perplexity: PerplexityBot surfaces and links sites in search results. Perplexity-User fetches pages for user questions and generally ignores robots.txt because the user requested the fetch.
- Google: AI Overviews are part of Google Search, so they run on normal Googlebot crawling and indexing. Google-Extended controls Gemini training and grounding, not Search inclusion.
How to tell
Open your robots.txt and search for each bot name. Then check the logic, because robots.txt has rules that trip people up. Per RFC 9309, a crawler follows the most specific group that names it and ignores the * group entirely in that case. Within a group, the longest matching rule wins.
A file like this blocks search visibility for two vendors while looking harmless:
User-agent: *
Disallow: /blog/
User-agent: ClaudeBot
Disallow: /
The second block doesn't just stop training. It tells Anthropic's crawler to stay out, and Claude-SearchBot operates under the same vendor's published bot policy. Meanwhile the * block still applies to OAI-SearchBot and PerplexityBot.
One more thing to check: some CMS plugins and CDNs ship default robots.txt templates that disallow AI bots wholesale. If your file was generated by a tool, read it rather than assume.
Fix
Allow the search bots you want. If you have a genuine reason to block training crawlers, block GPTBot and ClaudeBot specifically and leave OAI-SearchBot, Claude-SearchBot and PerplexityBot alone. Vendor documentation says changes can take up to about 24 hours to take effect, so re-test the next day, not the next hour.
Cause 2: Your pages don't say what you sell
Once a crawler can reach you, the next question is whether a model can extract a usable description. Models work from retrieved text. If your homepage says "Reimagine how teams work together" and your pricing page says "Flexible plans for every stage," there is nothing to retrieve that distinguishes you from the four competitors using the same sentences.
How to tell
Take your homepage, your main product page and your pricing page. Paste the first two paragraphs of each into a blank document. Cover your logo. Can a stranger tell what you sell, who buys it and what it replaces? If not, a model can't either.
A second test: ask a model to describe your company with no other context. If it produces something vague or wrong, that's the retrieval result, not a model quirk.
Fix
Write a plain, literal sentence on the main product page: what it is, who it's for, what it does, and what it's commonly compared to. Category language matters more than brand language here. "Project management software for construction subcontractors" is retrievable. "The operating system for modern work" is not.
Put the definition high on the page, not buried under three sections of benefits. Models often work from partial page text.
Cause 3: Nobody else describes you
This is the cause people skip, and it's frequently the real one.
AI answers lean on third-party sources: review sites, comparison articles, directories, forum threads, analyst write-ups. When a model is asked for the best tools in a category, it often retrieves a listicle or a review roundup and names whatever appears there. If those sources don't mention you, you don't appear.
How to tell
Search your category plus "best" or "alternatives" and read the top results. Count how many name you. Then check the sources the AI itself cites: run a relevant query in Perplexity and look at the numbered citations. If the cited pages are third-party lists you're absent from, you've found the cause.
A useful shortcut: our free AI visibility check generates three buyer questions for your brand and category, asks Perplexity with web search, and shows whether your brand is named, which competitors are named and which sources are cited. It runs three free checks per day and does not track over time, so treat it as a snapshot of which sources are doing the work in your category.
Fix
Get into the sources that already get cited. That usually means category pages on review platforms, comparison articles, and directory listings. This is slow, relationship-driven work, and there is no shortcut. Prioritize the specific sources you saw cited, not a generic list of directories.
Cause 4: You're associated with the wrong category
Sometimes you're mentioned, but in the wrong context. A model might file you under "enterprise security" when you sell to small teams, or treat you as a feature of a larger platform. When the buyer's question is framed around your actual category, you never come up.
How to tell
Ask a model "what is [your brand]?" and "what category is [your brand] in?" Compare the answer to how you'd describe yourself. Then ask the buyer question you care about and see whether you appear. Mismatch between the two answers points here.
Another signal: you show up for your brand name but never for category queries, even though competitors show up for both.
Fix
Category association is built from repetition across sources, not from a single page. Make sure your own site uses the category term consistently, then make sure the third-party sources you're pursuing use it too. If partners, integrations or review listings describe you as something else, correct those descriptions.
Cause 5: No page answers the actual question
Buyers ask AI tools comparison and decision questions: pricing differences, migration paths, whether something works for a specific team size or industry. If no page on your site addresses that question directly, a model has to infer, and inference usually resolves in favor of whoever wrote the page that answers it.
How to tell
Write down ten questions a buyer would ask before choosing you. Search each one on your own site. If the answer requires assembling three pages, that's a gap. If a competitor has a dedicated page and you don't, that's the gap.
Fix
Build the pages. One question per page, answered directly in the first paragraph, with the specifics a model can quote: numbers, constraints, supported cases, and what doesn't work. Comparison pages that name real alternatives honestly tend to get retrieved for exactly those queries.
Running the diagnostic in order
| Check | If it fails | Time to fix |
|---|---|---|
| robots.txt allows search bots | Unblock OAI-SearchBot, Claude-SearchBot, PerplexityBot | Hours to a day |
| Pages state what you sell | Rewrite the top of key pages | Days |
| Third-party sources name you | Pursue listings and comparison coverage | Weeks to months |
| Category association is correct | Align your site and third parties on one term | Weeks |
| A page answers the buyer question | Publish dedicated answer pages | Days to weeks |
The order is not arbitrary. Crawlability gates everything. Description quality gates retrieval. Third-party mentions and category association gate whether you're in the candidate set at all. Answer pages determine whether you win the specific query.
Most brands that are "not mentioned in ChatGPT" fail at causes 3 and 5, not at the technical layer. But you can't know which without checking, and the technical check takes five minutes.
Start there: open your robots.txt, confirm OAI-SearchBot, Claude-SearchBot and PerplexityBot aren't blocked, then run one check on a buyer question you actually care about and note which sources get cited. That gives you a concrete list of pages to pursue this week instead of a vague sense that AI doesn't like you.