AEO, GEO, LLMO — the four-layer framework for ranking in ChatGPT, Claude, Perplexity, and Google AI Overviews. Framework, channels, and how to measure.
AI search optimization is the practice of making your content discoverable, fetchable, and citable by AI assistants — ChatGPT, Claude, Perplexity, Gemini, Copilot, You.com, AI Overviews — instead of (or in addition to) traditional search engines.
You'll see the same idea called by different names depending on who's writing:
All four terms describe the same underlying problem: traditional SEO assumes a human types a query, sees ten links, picks one. AI search assumes a human asks a question and gets a synthesized answer with two or three citations. The optimization work is to be in the citation list.
Traditional search optimization (Google SEO) and AI search optimization overlap, but the inputs are different enough that you'd be wrong to treat them as the same job:
| Google SEO | AI Search Optimization | |
|---|---|---|
| Primary signal | Inbound links + on-page content | Content depth + citability + structured signals |
| Discovery surface | SERP — 10 blue links | Answer panel — 2-5 cited sources |
| Click incentive | "Learn more" — click to read | "Get the source" — click to verify or go deeper |
| Content format that wins | ~1,500-word topic-cluster posts optimized for keywords | Direct, factual, structured content that answers a specific question completely in 1-3 paragraphs |
| Crawler that matters | Googlebot | GPTBot, ClaudeBot, PerplexityBot, Google-Extended, and ~20 others |
| Metric to optimize | Organic clicks, ranking position | Citation share, AI referral traffic, mention frequency |
| Format AI prefers | HTML (with schema) | Markdown + llms.txt |
The good news: most AI-optimized content also performs well in traditional SEO. The bad news: most traditionally-optimized content does not perform well in AI search. You can do both, but you'll have to be deliberate.
AI search optimization breaks into four layers, in order of increasing impact:
Work them in order. Each layer compounds the value of the layers above.
If AI crawlers can't find your content, none of the rest matters. The checklist:
/llms.txt file the emerging standard for AI-readable site indexesQuick self-check: curl -A "GPTBot" -L https://yoursite.com/ should return your real homepage content, not a JavaScript stub or a 403.
AI crawlers can technically read HTML, but they spend most of their token budget on noise — nav, footer, cookie banner, JavaScript, ads. The amount of your actual content that survives parsing is small, and it's the part that determines whether you get cited.
Three approaches, increasing in technical effort:
Wrap your real content in <main> and <article> tags. Use proper heading hierarchy (one H1, then H2s, then H3s). Put nav and footer in <nav> and <footer> respectively. This gives AI parsers a clear signal of what to keep.
Publish your content as markdown at /llms.txt (curated index), /llms-full.txt (full bundle), and /md/<path> (per-page). AI crawlers fetch these directly and skip the HTML parsing problem entirely. This is what Crawlytics generates automatically from your sitemap.
Stable markdown URLs plus honoring Accept: text/markdown on canonical URLs (Cloudflare's pattern). Covers AI clients that fetch by convention and AI clients that fetch by Accept header.
This is the part where most teams underinvest. AI assistants cite a specific shape of content disproportionately:
The pattern is the same one good documentation writers know: be specific, be structured, be current.
If you can't see the resulting traffic, you can't optimize. This is the hardest layer because most attribution channels are broken for AI:
(direct). Why this happens and how to fix it.The realistic options:
utm_source=chatgpt (or claude, perplexity, etc.) to internal links. When the bot cites your URL, the UTM rides along. This is what Crawlytics ships.Once you have attribution working, focus on two metrics:
If you're starting from zero, here's a reasonable order of operations:
/llms.txt for your siteA couple of things AI search optimization is not:
AI search optimization is the practice of making your content discoverable, fetchable, and citable by AI assistants like ChatGPT, Claude, Perplexity, Gemini, Copilot, and Google AI Overviews. It is also called AEO (Answer Engine Optimization), GEO (Generative Engine Optimization), or LLMO. All four terms describe the same job: instead of competing for ten blue links, you compete for two or three citations inside an AI-generated answer.
Traditional SEO optimizes for Google's ten blue links and weighs inbound links plus on-page keywords. AEO (Answer Engine Optimization) optimizes for AI-generated answers and weighs content depth, structured signals, and citability. AEO-friendly content is direct, factual, structured, and current. Pages that do AEO well often also rank in traditional SEO, but the reverse is not always true.
Three things in priority order: (1) be readable, ship a clean /llms.txt and per-page markdown so GPTBot does not have to parse your HTML; (2) be citable, write direct factual answers with specific numbers, structured comparisons, and updated dates; (3) be discoverable, allow GPTBot in robots.txt, keep your sitemap current, avoid JavaScript-only rendering on key pages.
Google Analytics under-counts AI referral traffic because in-app browsers on ChatGPT, Claude, and Perplexity strip the Referer header. The fix is per-LLM UTM injection: when AI bots fetch your AI-Optimized HTML, append utm_source=chatgpt (or claude, perplexity, etc.) to internal links. The UTM travels with the citation and survives Referer-strip. Crawlytics handles this automatically.
Faster than traditional SEO. Most AI assistants re-crawl popular pages every few days, so changes to llms.txt or per-page markdown can show up in citations within 1-2 weeks. New content takes 2-4 weeks to be picked up consistently. Compare to traditional SEO where new pages can take 3-6 months to rank.
llms.txt is an emerging open standard for a plain-text file at the root of your domain that gives AI systems a curated, markdown-formatted summary of your site. AI assistants fetch it to understand what your site is about and which pages matter most. See the full llms.txt guide for the file format and generation options.
This page is part of Crawlytics.app. View all pages: llms.txt · llms-full.txt