1. AI crawlers are blocked at the edge
This is the single most common cause and almost nobody knows it is happening. Cloudflare, and several security plugins, now block AI training crawlers by default. Your site loads perfectly for humans and is completely invisible to GPTBot, ClaudeBot and PerplexityBot.
How to check: open yourdomain.com/robots.txt. If you see Disallow: / under GPTBot, or no AI bots mentioned at all alongside a restrictive wildcard rule, that is your answer. Then check your CDN, Cloudflare’s AI Crawl Control and "Block AI bots" settings override robots.txt entirely.
2. Your content has no machine-readable structure
Language models parse structure. A page of beautifully written prose with no headings, no schema markup and no clear question-and-answer shape is far harder to quote than one that states a question and answers it directly.
How to check: paste a page URL into Google’s Rich Results Test. If it finds no structured data, models are working with raw text and guessing at meaning.
3. You are not a recognised entity
Models need to resolve "Smith Plumbing" to a specific business. If your name, address and phone number differ across your website, Google Business Profile, Yelp and directory listings, there is no single entity to recognise, just scattered mentions that may or may not be the same company.
How to check: search your business name and compare the phone number and address everywhere it appears. Any inconsistency, including formatting, weakens the signal.
4. You describe services instead of answering questions
Most business sites are written as brochures, what we offer, why choose us, our values. AI assistants are answering questions. If no page on your site directly answers the question a customer asked, there is nothing to quote, however good your services are.
How to check: list the ten questions customers ask before buying. Now find the page on your site that answers each one in its first paragraph. Most businesses find they have zero.
5. Your content is too new, or your site just moved
Models need time. Retrieval-based answers can surface new content within days, but training-based knowledge lags by months. If you launched or migrated recently, some of this is simply waiting.
How to check: if your site changed URLs in the last 90 days, check Search Console for indexing errors and confirm your redirects resolve in a single hop.
6. Competitors have simply answered better
Sometimes nothing is broken. A competitor has published the clearer, more complete, better-structured answer, and the model is citing them because they earned it.
How to check: ask ChatGPT or Perplexity your category question directly. Look at who gets named, then read their page. Usually the difference is obvious and fixable.
7. Nobody is asking AI about your category
The uncomfortable possibility. Some purchases are still made by walking in, calling, or asking a neighbour. If nobody asks an assistant to recommend your kind of business, AI visibility is not your bottleneck and your money is better spent elsewhere.
How to check: ask the assistant the way a customer would. If it gives a vague non-answer with no businesses named, the query pattern may not exist yet in your category.
AI visibility problems, frequently asked questions
How do I check whether AI crawlers can reach my site?
Open your robots.txt and look for GPTBot, ClaudeBot, PerplexityBot and CCBot. Then check your CDN separately, Cloudflare has its own AI bot controls that override robots.txt. Server logs showing crawler user-agents are the definitive proof.
Does blocking AI crawlers protect my content?
It prevents your content being used for training, but it also removes you from AI answers entirely. That is the trade. For a local business competing for customers, the visibility is almost always worth more than the content protection.
If I fix these, how fast will I appear?
Crawler access is the fastest fix, days to weeks once bots can reach you. Structure and schema follow within weeks. Entity recognition and authority take months. Fix them in that order, because the later items do nothing while the crawlers are still blocked.