Traditional SEO optimizes for clicks. AEO optimizes for citations — being the source that AI answer engines quote when users ask questions in ChatGPT, Perplexity, Claude, Google AI Overviews, and Bing Copilot.
The web is shifting from a link-click model to an answer-synthesis model. LLMs don't send users to ten blue links — they read, extract, and synthesize. If your content isn't structured for extraction, you don't exist in the answer layer.
↗ Context
As of 2025, over 40% of search queries for informational intent return zero-click AI answers. For technical and product queries, that number is higher. Your content may rank #1 on Google and still never be cited in an LLM response.
The Answer Layer Stack
🌐
Crawl
Bot fetches your pages
⚙️
Parse
Extracts structured signal
🧠
Index
Embeds semantic content
🔍
Retrieve
RAG pulls your chunk
💬
Cite
Answer surfaces your brand
Why This Matters Now
⚡
Zero-click answers
LLMs answer before users ever visit a site. Your content must win at the extraction layer.
🔗
Citation = traffic
Being cited in AI Overviews or Perplexity drives high-intent referral traffic and brand impressions.
Conversational query patterns differ from keyword queries. Content must match natural language intent.
🔐
E-E-A-T signals
Experience, Expertise, Authoritativeness, Trust. These are now cross-referenced across the web graph.
📡
Real-time RAG
Perplexity and Bing do live crawls. Fresh, accurate content outcompetes stale high-DA pages.
01 · Foundation
SEO vs AEO
AEO doesn't replace SEO — it extends it into the AI answer layer. Many AEO signals reinforce classic SEO, but the optimization target is fundamentally different.
Traditional SEO
Optimize for keyword density
Target PageRank / backlinks
Blue link click-throughs
10-blue-links SERP placement
Meta description for humans
Long-form content for dwell time
Title tags for ranking signals
AEO
Optimize for answer extractability
Build entity authority and citations
AI citations and brand mentions
AI Overview / featured snippet wins
Structured data for LLM parsing
Concise, quotable answer blocks
Schema markup for entity context
Key insight
The most impactful AEO move isn't rewriting your content — it's restructuring it. Add direct answer blocks, FAQ sections, and schema markup to content that already ranks. This layered approach wins both channels.
The Answer Block Pattern
The single highest-leverage AEO tactic: every major section should open with a direct answer in 2–3 sentences before elaborating. LLMs extract the first clear, complete answer they encounter for a query match.
content-structure.md
// ❌ SEO-optimized (for dwell time)In this comprehensive guide, we'll explore the many facets ofNext.js middleware, including its history, use cases, and howit compares to other approaches in the ecosystem...// ✓ AEO-optimized (direct answer first)Next.js middleware runs on the Edge before a request completes,enabling auth checks, redirects, and header rewrites withsub-millisecond latency. It uses the Web Request/Response API.## Use CasesMiddleware is best used for...
Shared Signal Overlap
These classic SEO signals also improve AEO performance — doing them well benefits both channels:
Fast TTFBClean HTML semanticsCanonical URLsInternal linkingMobile-friendlyAuthor attributionUpdated timestampsSchema.org markupFAQ structured data
01 · Foundation
How LLMs Index Your Site
Different AI systems ingest your content in different ways. Understanding each pipeline helps you prioritize what to fix first.
Perplexity
Live RAG crawler — fetches pages in real-time per query. Sonar model does live web search before answering. Being crawlable and fast matters enormously. Prioritizes pages with direct answers near the top of the document. Respects X-Robots-Tag and robots.txt for its bot PerplexityBot.
Uses GPTBot for web crawling (opt-in via robots.txt) and Bing index for web-enabled queries. Training data has a cutoff, but GPT-4o with browsing pulls live results. Site content is also embedded into OpenAI's training corpus from Common Crawl. Being in Bing's index with high authority is a strong signal.
Google AI Overviews
Pulls from the existing Google Search index. Standard Googlebot crawl + indexed = eligible. Google prioritizes pages with structured data (FAQ, HowTo, Article schema), E-E-A-T signals, and content matching conversational search intent. Featured snippet wins strongly correlate with AIO inclusion.
Claude / Anthropic
Training data from Common Crawl, licensed data sets. ClaudeBot crawls for future training updates. When using web search in Claude.ai (claude-sonnet-4-20250514), it indexes live via search providers. Respects anthropic-ai and ClaudeBot user-agents in robots.txt. llms.txt protocol is directly useful for structured context delivery.
The Extraction Heuristic
Every major LLM answer engine uses some variant of this pipeline when generating citations:
Content structure is the highest-leverage AEO investment. LLMs extract meaning from document hierarchy, proximity of claims to headings, and the presence of direct answer patterns.
Answer — Lead with the direct answer (2-3 sentences max)Reason — Explain why / how it worksExample — Concrete code or real-world exampleAlternate — Caveats, edge cases, related topics// Example## What is React Server Components?// Answer block (gets extracted by LLMs)React Server Components (RSC) are components that render exclusivelyon the server and never ship JavaScript to the browser. They enabledirect database/filesystem access without client bundle impact.// ReasonRSC works by separating the component tree into server and clientboundaries at build time. The server renders to a special RSC payload...
HTML Semantic Hierarchy
LLM parsers weight content based on its position in the semantic document tree. Proper use of HTML elements directly improves extraction quality.
semantic-html.html
<!-- ✓ High LLM extraction value --><articleitemscope itemtype="https://schema.org/TechArticle"><header><h1>How to implement JWT auth in Next.js App Router</h1><timedatetime="2025-06-01">June 2025</time><addressrel="author">Tyler Hughes</address></header><!-- Direct answer block — extracted first --><sectionaria-label="summary"><p>JWT auth in Next.js App Router uses...</p></section><section><h2>Step 1: Install dependencies</h2><pre><code>npm install jose</code></pre></section></article>
FAQ Blocks
Explicit Q&A blocks are the most reliable AEO extraction pattern. Every informational page should end with 4–6 FAQ items in both visible HTML and FAQ schema.
Tactic
Use keyword research tools to find People Also Ask questions for your topic. Model your FAQ blocks directly on those — they represent the actual conversational queries LLMs are trained on.
02 · Signals
Schema Markup
Schema.org structured data is machine-readable context that tells LLMs exactly what your content represents, who wrote it, and how to categorize it. It's the most direct signal you can send to the answer layer.
The llms.txt convention (proposed by Jeremy Howard of fast.ai) is a Markdown file at your domain root that gives LLMs a curated map of your most important content — analogous to robots.txt for crawlers, but for AI agents doing research.
Status
llms.txt is not a W3C standard — it's a community convention gaining rapid adoption. Perplexity, some ChatGPT plugins, and developer-focused tools actively read it. Implement it, but don't rely on it exclusively.
File Structure
https://yourdomain.com/llms.txt
# Your Company / Product Name> One-paragraph description of what this site is, who it's for,> and what an AI agent should understand about the context.> Be specific and factual — this is consumed by machines.## Docs- [Getting Started](https://yourdomain.com/docs/start): Installation and setup- [API Reference](https://yourdomain.com/docs/api): Full API documentation- [Configuration](https://yourdomain.com/docs/config): Config options reference## Blog- [Recent Posts Index](https://yourdomain.com/blog): Latest articles## Optional: llms-full.txtFor tools that support it, link to a full text dump of docs content:- [Full Text](https://yourdomain.com/llms-full.txt): Complete documentation
Next.js Route Handler
app/llms.txt/route.ts
import { NextResponse } from'next/server';
export async functionGET() {
const content = `# YourSite
> YourSite is a [describe product]. It helps [audience]
> achieve [goal] by [mechanism]. Built with Next.js App Router.
## Documentation
- [Overview](/docs): Product overview and quick start
- [API Reference](/docs/api): REST API endpoints
- [Guides](/docs/guides): Step-by-step tutorials
## Blog
- [Blog Index](/blog): Technical articles and product updates
## About
- [About Us](/about): Team, mission, company background
`;
return newNextResponse(content, {
headers: {
'Content-Type': 'text/plain; charset=utf-8',
'Cache-Control': 'public, max-age=86400',
},
});
}
02 · Signals
Authority Signals
LLMs don't just extract content — they weight it by trust. Authority signals are the cross-domain evidence that your content comes from a credible, expert source.
E-E-A-T in the LLM Context
Google's E-E-A-T (Experience, Expertise, Authoritativeness, Trust) framework was designed for human raters, but LLMs have internalized similar patterns from training data. Sites with strong E-E-A-T signals appear more frequently in cited sources.
🧪
Experience
First-hand accounts, case studies, screenshots, real metrics. "We tested X and found Y" outperforms third-hand summaries.
🎓
Expertise
Author bio with credentials, bylines on technical content, consistent subject focus, schema Person markup with sameAs links.
🔗
Authoritativeness
Inbound links from high-authority domains, citations by other sources, presence in Wikipedia, consistent brand mentions across the web.
🛡️
Trust
HTTPS, privacy policy, contact page, accurate "About" page, no factual errors, transparent correction policy.
📅
Freshness
dateModified in schema, visible "last updated" dates in content. Real-time RAG systems strongly favor recent content over stale high-DA pages.
🌐
Entity Presence
Your brand existing as a recognized entity in Wikidata, Crunchbase, industry directories. The more entity nodes, the higher the trust graph score.
The Entity Graph Strategy
LLMs build a knowledge graph of entities (people, companies, products, concepts). Being a well-connected node in that graph dramatically increases citation likelihood.
High-ROI Actions
1. Create and maintain a Wikidata entry for your company/product 2. Add your organization to Google's Knowledge Panel via structured data 3. Get cited/linked from .edu, .gov, and industry authority sites 4. Ensure your LinkedIn, GitHub, Twitter/X profiles link back to your site 5. Guest post on high-DA publications with byline links to your author page
03 · Technical
Entity Architecture
Entity pages are dedicated pages whose sole purpose is to establish a canonical, authoritative definition of a specific topic, person, product, or concept — and to become the go-to citation source for that entity.
Entity Page Anatomy
entity-page-structure.md
URL:/glossary/react-server-componentsH1:React Server Components (RSC)1. Definition block← direct answer, 2-3 sentences2. At a glance table← key/value facts (released, version, etc.)3. How it works← mechanism explanation4. Code example← concrete implementation5. Use cases← when to use / not use6. Related entities← internal links to related glossary pages7. External references← link to official docs, RFC, spec8. FAQ section← 4-6 Q&A with FAQPage schemaSchema:TechArticle + FAQPage + BreadcrumbList
Glossary / Knowledge Hub Strategy
A glossary section (e.g., /glossary or /docs/concepts) is one of the highest-ROI AEO investments. Each page targets a specific entity or term, builds internal link equity, and creates hundreds of citable definition pages.
Grafana-style example
Grafana Labs runs extensive glossary and entity pages for observability terms (metrics, traces, logs, LGTM stack). These pages consistently get cited in LLM responses about monitoring and observability — driving qualified developer traffic that converts for their cloud product.
Internal Linking Graph
LLMs read your internal link structure as a relevance signal. Pages that are heavily interlinked around a topic cluster appear more authoritative for that cluster's queries.
topic-cluster-model.md
// Pillar → Cluster modelPillar page:/docs/observability← comprehensive overview, links to all clustersCluster pages:/glossary/metrics← links back to pillar/glossary/distributed-tracing/glossary/structured-logs/blog/metrics-vs-logs← comparison content/blog/open-telemetry-guide// Every cluster page links to: 1. The pillar page 2. 2-3 sibling cluster pages 3. External authoritative source (RFC, official docs)
03 · Technical
Performance Signals
Core Web Vitals and TTFB (Time to First Byte) are direct inputs into both Google's ranking algorithm and Perplexity's real-time crawler scoring. Slow pages get deprioritized in the answer layer.
Key Targets
performance-targets.md
TTFB < 200ms← use SSG/ISR, edge cachingLCP < 2.5s← largest contentful paintFID/INP < 200ms← interaction responsivenessCLS < 0.1← no layout shiftHTML payload < 50KB← critical HTML, not 500KB SPA// Anti-patterns that kill AEO✗ Content in JS bundles (React CSR without SSR)✗ Text inside <canvas> or <svg> (not parseable)✗ Key answers behind modals/accordions (collapsed)✗ Dynamic content loaded after page load (bot sees empty)✗ Infinite scroll (bot can't paginate)
SSR / SSG is Non-Negotiable
A React SPA that renders entirely client-side delivers an empty HTML shell to crawlers. LLM bots have limited or no JavaScript execution — they see what's in the raw HTML response.
Critical
If your content lives in a client-side React component and isn't SSR'd, it is invisible to LLM crawlers. Next.js Server Components and SSG are not optional for AEO — they're the foundation.