Six causes explain nearly every case, and they're worth checking in this order: (1) OAI-SearchBot is blocked, (2) your content isn't in server-rendered HTML, (3) your pages don't directly answer the questions being asked, (4) your site lacks the authority to surface in ChatGPT's search, (5) your content looks stale, or (6) you're testing with queries where citation was never likely.
1. The crawler is blocked (check this first)
ChatGPT's citations come from an index built by OAI-SearchBot, plus live fetches by ChatGPT-User. If either is blocked — by robots.txt, or by a bot-protection layer throwing CAPTCHAs — you cannot be cited, full stop.
Diagnose in two minutes: run your domain through the AI Crawler Access Checker. Watch for the classic accidents: a blanket User-agent: * / Disallow: / left over from staging, or an overzealous "block AI bots" preset that swept up search bots along with training bots. (Blocking GPTBot alone does not affect citations — that's the training crawler.)
2. Your content is invisible to the crawler
Most AI crawlers don't execute JavaScript. If your site is client-side rendered and content only appears after hydration, the crawler fetches an empty shell.
Diagnose: curl -A "OAI-SearchBot" https://yoursite.com/your-page and read the HTML. If your actual text isn't in the response, this is your problem — server-render or statically generate the pages that matter (details in technical SEO for AI crawlers).
3. Your pages don't match how questions are asked
ChatGPT searches when users ask questions, and it cites pages that answer those questions. A beautifully-ranking page targeting "enterprise data solutions" never gets cited because nobody asks ChatGPT for "enterprise data solutions" — they ask "what's the best way to sync data between Salesforce and Postgres."
Diagnose: list the five questions your ideal user actually asks. Does any page on your site answer each one directly, in its first paragraph, under a matching heading? Score your candidates with the GEO Content Structure Analyzer and restructure with answer-first writing.
4. You lose the authority contest
For any given question, ChatGPT's search surfaces a handful of candidate sources and cites two or three. If established competitors answer the same questions, structure alone won't beat their authority. The plays: target narrower questions they haven't answered specifically (the long tail is much less contested), build genuine topical depth in one niche rather than thin coverage of many, and accumulate the mentions and links that authority always required. This is the slow lever — months, not days.
5. Your content looks stale
For time-sensitive topics, ChatGPT's search layer prefers fresher sources. A page with a 2023 date — or no visible date, or dateModified schema that contradicts the content — loses to a maintained equivalent.
Fix: genuinely update your key pages, show the date visibly, and keep Article schema honest.
6. You're testing with the wrong queries
Some queries were never going to cite you: questions the model answers from training knowledge without searching (definitions, stable facts), branded queries about other companies, or ultra-competitive head terms. And note that citation behavior varies run to run — a single test proves little.
Diagnose honestly: test with specific, current-information questions your content uniquely answers well, several times, and compare who does get cited. The gap between their pages and yours is your actual to-do list.
The systematic version
Work the full checklist — crawler access, llms.txt, schema, meta, structure — with the AI-Readiness Audit and the step-by-step audit guide. Fix in the order above: an unblocked crawler is worth nothing if content is invisible, and perfect structure is worth nothing if the crawler is blocked. Most sites find their blocker in the first two steps, and those are also the fastest to fix.