AI answer engines — Google's AI Overviews, ChatGPT Search, Perplexity, Gemini — increasingly answer users without a click. For developers, that shifts the goal: it's no longer only "rank the page," it's "be the source the model quotes." The good news is that a lot of what makes a site citable is squarely front-end and infra work. Here's the checklist my team actually uses.
1. Server-render anything you want cited
LLM crawlers are far better at parsing HTML that exists before JavaScript runs. If your key content only appears after client-side hydration, assume it won't be reliably read.
- Prefer SSR or static generation (Next.js, Astro, Nuxt, etc.) for content pages.
- Verify what the bot actually sees:
curl -sL https://example.com/page | grep -i "your answer text"
If your content isn't in that output, a crawler probably can't see it either.
2. Ship structured data (JSON-LD)
Schema doesn't guarantee a citation, but it makes your page cheaper for a machine to parse and reuse. Add Article, FAQPage, HowTo, Organization, and BreadcrumbList where relevant:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [{
"@type": "Question",
"name": "What is answer-engine optimization?",
"acceptedAnswer": { "@type": "Answer", "text": "..." }
}]
}
</script>
Validate with Google's Rich Results Test before shipping.
3. Write answer-first, chunk-friendly HTML
Models extract self-contained passages. Structure content so each section stands alone:
- Put the direct answer in the first one or two sentences of a section, then expand.
- Use real semantic headings (
<h2>/<h3>) phrased as questions. - Short paragraphs, genuine lists, and tables beat walls of text.
4. Actually let the AI crawlers in
You can't be cited if you block the bots. Check your robots.txt — plenty of teams block these without realizing:
User-agent: GPTBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Google-Extended
Allow: /
(Google-Extended governs Gemini/Vertex grounding and training — decide deliberately rather than by accident.)
5. Consider an llms.txt
An emerging convention: a root-level /llms.txt that points models at your cleanest, most important content:
# Example Co
> One-line description of what we do.
## Docs
- [Getting started](https://example.com/docs): setup guide
- [API reference](https://example.com/docs/api): endpoints
It isn't universally consumed yet, but it's cheap to add and forward-looking.
6. Keep it fast and stable
Core Web Vitals still matter — for users, for classic SEO, and because slow, unstable pages get crawled less. Aim for LCP < 2.5s, INP < 200ms, CLS < 0.1.
7. Measure citations, not just clicks
This is the hard part: an AI citation often produces no referral in analytics. Track it directly — run your target prompts across ChatGPT, Perplexity, and Google's AI Mode on a schedule and log whether (and how) you appear. Then watch the small-but-high-intent referral traffic that AI does send.
Where this nets out
None of this replaces fundamentals — crawlability, real authority, and genuinely useful content still underpin everything. But the front end is where a surprising amount of "AI visibility" is won or lost. If you want a second pair of eyes on the technical and content side, this is the kind of answer-engine optimization work we do day to day, and a quick free SEO audit tends to surface the crawlability and schema gaps fastest.
What are you doing to make your sites citable? Curious what's working for others.
Top comments (1)
do you think structured data is still the main way to get picked up or are these models just scraping the raw text now?