"How do we show up in ChatGPT?" is now a normal question in marketing meetings. It deserves a better answer than "post more content". Here is the checklist we actually use, roughly in order of leverage.
1. Let the crawlers in
The most common cause of AI invisibility is the least glamorous: you are blocking the crawlers. Generative engines use their own user agents, and plenty of sites block them by accident: an over-broad robots.txt rule, a bot-protection product, or a WAF default.
Check that your robots.txt allows the agents you want, at minimum:
- GPTBot and OAI-SearchBot, from OpenAI
- ClaudeBot, from Anthropic
- PerplexityBot, from Perplexity
- Google-Extended, which controls Gemini and AI Overviews grounding
This is a genuine strategic decision, not a default to sleepwalk through. Blocking them protects your content from training; it also removes you from the answers. Decide deliberately.
The JavaScript trap
Most AI crawlers do not execute JavaScript. If your content only exists after React hydrates, a fetch returns an empty shell and you are simply not in the corpus, even though the page looks perfect to you and renders fine for Googlebot, which does render JS. Test the way a crawler sees it:
curl -s https://example.com/your-page | grep "a sentence from your article"
If that returns nothing, nothing else on this list matters yet.
2. Make passages liftable
Generative engines extract passages, not pages. Optimise for the extract:
- One idea per section, introduced by a heading that reads like a question someone would ask.
- Answer immediately under the heading: first sentence, not paragraph four.
- Avoid pronoun chains across sections. "It does this" is useless when lifted out of context; name the subject again.
- Prefer lists and tables for comparisons. They survive summarisation almost intact.
3. Give the model something to cite
Models are drawn to specificity because specificity is what makes an answer defensible. Marketing adjectives are not quotable; facts are.
- Numbers with units and dates: "cut p95 latency from 840ms to 210ms in March 2026".
- Named constraints: "the free tier caps at 3 projects".
- Explicit trade-offs: "slower to set up than X, but no per-seat cost".
A page that states real limits reads as trustworthy to a summariser, and it is the only kind of page that wins "X vs Y" and "alternatives to X" prompts, which are disproportionately commercial.
4. Be corroborated elsewhere
Engines cross-check. A claim that exists only on your own domain is a claim with one witness. Third-party corroboration from documentation, comparison sites, community threads and credible reviews raises the odds your version of the facts is the one that survives into the answer.
This is why the old-fashioned work still pays: being genuinely discussed in the places your buyers already read.
5. Keep it current
Freshness is a stronger signal here than in classic SEO, because assistants are actively trying not to state stale facts. Dated pricing or a superseded feature list is a fast route out of the answer set. Put a visible last-updated date on anything factual, and actually update it.
6. Measure, do not assume
You cannot improve what you are guessing at. Track the prompts your buyers actually use, check whether you are cited, and, importantly, check how. A mention inside "unlike Visibilitas, which doesn't…" is not a win, and any tool that counts it as one is lying to you.
That distinction between a recommendation, a neutral mention, and a mention-in-denial is the difference between a vanity metric and something you can act on.


