Concepts
What is AEO?
Answer Engine Optimization: making AI search systems cite your content. Why it’s different from classic SEO, what signals matter, and what to do.
The shift
For 20 years, search engines worked by ranking and listing. Google would crawl pages, score them on hundreds of signals, and return ten blue links. The user clicked through, you got the traffic.
Answer engines work differently. ChatGPT, Perplexity, Claude, Gemini, Grok — they don’t list, they answer. They read many sources, synthesise an answer, and surface a handful of citations. The user reads the answer; click-through happens far less often than with classic search.
This means the game has changed. The unit of success is no longer “rank #1 for a keyword”. It’s “be one of the sources the model chose to cite.”
Why classic SEO isn’t enough
SEO is still useful — many AI engines build on top of search indexes. But three new factors matter that didn’t before:
- Machine-friendly content — AI engines parse HTML, but content that’s structured (headings, lists, FAQ schemas, definitions) is more likely to be extracted cleanly into an answer.
- Explicit AI signals — files like
llms.txtandagent-skills.jsontell AI systems what your site is for. Most sites don’t have them. - Bot access — AI crawlers (GPTBot, ClaudeBot, PerplexityBot) need to be allowed in
robots.txt. Many sites accidentally block them.
The files that matter
llms.txt
Proposed by Jeremy Howard (answer.ai) in 2024, llms.txt is a markdown file at the root of your site that summarises what you offer in a format AI engines can read in one shot. Think of it as your site’s elevator pitch for machines.
# AcmeCorp > The simplest expense management for small teams. ## Products - [Expenses](https://acmecorp.com/expenses) — receipts, mileage, approvals. - [Cards](https://acmecorp.com/cards) — virtual cards with budget limits. ## Pricing - Starter — $0/month, 1 user. - Team — $12/user/month, unlimited users. ## Documentation - [Getting started](https://acmecorp.com/docs) - [API reference](https://acmecorp.com/docs/api)
AISEOLab dogfoods this
Schema.org JSON-LD
JSON-LD blocks describe what a page is in a structured way: Organization, Product, Article, FAQPage, BreadcrumbList. AI engines (and Google) extract these to power rich answers.
On AISEOLab, the home page emits Organization + SoftwareApplication + WebSite schemas; blog posts emit Article; the pricing page emits FAQ. View the page source on any of those and search for application/ld+json to see them.
OpenGraph + Twitter Card
AI engines often surface link previews. OpenGraph and Twitter Card tags tell them what title, description, and image to use. Missing OG = a model has to guess what your page is about.
robots.txt
AI crawlers respect robots.txt. If you’re blocking GPTBot or ClaudeBot by accident — for example, via a generic User-agent: * disallow — your content will not appear in those answer engines at all.
Common mistake
What AI engines actually use
Different engines use different signals, but in aggregate, the ones that consistently move the needle are:
- Clear page titles and headings (
h1,h2). - Definitions, FAQs, and lists — easily-extractable atoms of meaning.
- JSON-LD structured data (Organization, Article, Product, FAQ).
- Canonical URLs (so engines don’t fragment authority across duplicates).
- Mentioned-on-the-page authors with bios — for E-E-A-T.
- Inbound links from authoritative sources (still matters).
- An
llms.txtfile — currently a strong differentiator because uptake is low.
How AISEOLab helps
Our scanner runs all of these checks for you and tells you what’s missing. The generators produce the file content (llms.txt, JSON-LD blocks, robots fragments). Monitoring catches regressions when something breaks. Citation tracking shows whether you’re actually being cited for the queries that matter.