Anonymized at the client's request. Category, engine mix, and fix types are real; brand names replaced. This is the exact one-page format every CiteDo report ships in.
The matrix — 12 buyer questions × 3 engines
We ran 12 questions real buyers would ask an AI when shopping for this category (e.g. "best durable sofa for small apartments?", "affordable alternatives to [incumbent]?"). Each question was run 3× per engine; we kept majority-vote citations.
| buyer question | ChatGPT | Perplexity | Gemini |
|---|---|---|---|
| best sofa for small apartments? | MISS | MISS | #7/9 |
| top alternatives to IKEA? | MISS | #5/8 | MISS |
| affordable modular sofa? | MISS | MISS | MISS |
| is [brand] any good? | — never asked, because AI never mentions the brand — | ||
$ who_gets_cited --instead
A large review directory appeared in 11/12 answers; a niche blogger in 7. Competitors aren't luckier — they're listed where AI looks.
$ root_cause --trace ✓ found
robots.txt:14 disallows GPTBot & PerplexityBot. Every MISS above traces to this line. Fix: 2 min.
Who got cited instead
Across 36 answers, the top cited domains were a review aggregator (11 hits), a home-decor listicle (7), and two incumbent brands' own buying-guide pages (5 each). The client's own domain appeared twice, both low-ranked (#5 and #7). This is the leverage point: the work isn't writing more blog posts — it's getting onto the list where AI already looks.
Why AI couldn't read the site
robots.txt:14blocked GPTBot and PerplexityBot site-wide (`Disallow: /`). The fix was deleting two lines.- Product pages required JavaScript to render the price/availability block — GPTBot saw an empty shell. SSR for the top 20 URLs fixed the second half.
- No
llms.txt(minor, added after the two must-fixes).
The ranked fix list (what we shipped)
- Fix robots.txt (2 min): remove the two disallow lines, add
Allow: /for the 8 AI bots. Expected: unblock all future crawls. - SSR price block for top 20 URLs (1–2 days dev): move price, availability, and 40-word summary into initial HTML. Expected: GPTBot content jumps from 3KB to ~90KB.
- Add FAQ answering “best sofa for small apartments?” (30 min): a 45-word quotable block that AI can lift verbatim. Expected: +1 citation class per run.
This is the exact “do this, expect that” format every report uses. The client did #1 same day; #2 is queued with their dev.
Want the same matrix for your site — 12 questions your buyers actually ask, across ChatGPT / Perplexity / Gemini?
Get my diagnosis — $49 →One page · ≤7 fixes ranked by impact · human-reviewed in 72h
FAQ
Is this a real client?
Yes — anonymized. Category and fix types are unchanged; brand names and exact questions are paraphrased.
What was the score?
31/100 (M1 40, M2 12, M3 45, M4 60 weighted to 31). Visibility was the drag — 2 citations out of 36.