# AEO & GEO Glossary

> Plain definitions for the AEO and GEO terms that actually change what you build: llms.txt, JSON-LD, embeddings, chunking, grounding, RAG and more.

**Canonical:** https://alexturik.com/aeo/glossary

Every term here is one I had to pin down to finish a piece of work. Definitions are short, and each links to the article where the idea does something.

## The disciplines

### AEO — Answer Engine Optimization

Making a page readable, parseable and quotable by systems that answer a question
directly instead of returning links. The success condition is being the source a
generated answer is built from. See the [pillar page](/aeo) for the four
preconditions.

### GEO — Generative Engine Optimization

The same work, framed around how you are represented inside generated text
rather than whether you are cited. In practice the techniques are identical; the
distinction is emphasis. Compared properly in [GEO vs SEO vs
AEO](/blog/geo-vs-seo-vs-aeo).

### LLMO — Large Language Model Optimization

A third label for the same territory, framed model-first. Useful mainly as a
search term.

### SEO — Search Engine Optimization

Optimising for a ranking that produces a click. Shares its entire technical
foundation with AEO — crawlability, speed, structure — and diverges on what
counts as success.

## Machine-readable surfaces

### llms.txt

A Markdown file at `/llms.txt` that gives an AI crawler a curated map of a site:
what it is, which pages matter, and where the machine-readable version of each
one lives. It is a proposed convention, not a standard, and it is cheap enough
that the argument about adoption is beside the point. Implementation walkthrough:
[How I added llms.txt in 15 minutes](/blog/how-i-added-llms-txt-to-my-nextjs-blog-in-15-minutes).

### Markdown mirror (`.md` variant)

A plain-Markdown twin of an HTML page, served at the same URL with `.md`
appended — [this page has one](/aeo/glossary.md). No navigation, no scripts, no
cookie banner: just the content. AI crawlers parse it far more reliably than a
rendered React page, and it costs nothing to serve both. The HTML stays
canonical for search; the mirror is `noindex` so Google does not see a
duplicate.

### AGENTS.md

A file describing a repository or site to coding agents — conventions, commands,
constraints. Adjacent to `llms.txt` but aimed at agents that will *write* code
against you, not summarise you.

### robots.txt

The fetch-time control. Tells crawlers which paths they may request. It is a
request honoured by convention, not a fence — see [RFC
9309](https://www.rfc-editor.org/rfc/rfc9309.html). Distinct from `noindex`,
which governs *use* rather than fetching: a page blocked in robots.txt is never
fetched, so its `noindex` is never seen.

### `noindex`

A directive, in a `<meta name="robots">` tag or an `X-Robots-Tag` header,
excluding a page from an index. For AI crawlers it reads as a full exclusion
from answers and training. The header form is invisible in the HTML, which makes
it the harder half of [the 3-word
tag](/blog/the-3-word-tag-that-hides-your-best-pages-from-ai).

## Structure and meaning

### JSON-LD

Structured data as a JSON block in `<script type="application/ld+json">`,
decoupled from the markup — which is why it survives a redesign and Microdata
does not. The vehicle for saying who wrote a page, when, and what type of thing
it is. See [Help AI understand your content with
JSON-LD](/blog/help-ai-understand-your-content-with-json-ld).

### Schema.org

The shared vocabulary JSON-LD is written in: `Article`, `FAQPage`, `Person`,
`SoftwareApplication`, `BreadcrumbList`. A type is a claim about what the page
is; the properties are claims about its content.

### FAQPage

Schema.org markup declaring question-and-answer pairs on a page. The most
common way it goes wrong is being typed twice — once as visible prose, once in
the schema — after which the copies drift and the markup becomes misleading.
Derive it from the visible text instead.

### `dateModified`

When the content last meaningfully changed, as distinct from `datePublished`,
which never changes. Models weigh it heavily for anything time-sensitive.
Bumping it without editing the page is a claim the document contradicts. See
[Recency and
authority](/blog/recency-and-authority-two-schema-fields-that-decide-ai-trust).

### Canonical

The declared preferred URL for a piece of content. Google consolidates signals
onto it; several AI crawlers simply use whatever URL they fetched — which is
why a syndicated copy can be the version a model quotes. Covered in [The
invisible tags](/blog/the-invisible-tags-shaping-your-ai-citations).

### Semantic HTML

Markup whose elements state what the content *is* rather than how it looks. The
practical consequence for AEO is the heading outline: a styled `div` reads as a
heading to a person and as a paragraph to a parser. See [Semantic HTML for
machines](/blog/semantic-html-for-machines-heading-hierarchy).

## Retrieval

### Embedding

A list of numbers representing the meaning of a text as a direction in space —
384 of them for the model in the [playground](/tools/embedding-playground).
Texts that mean similar things point in similar directions, which is how a query
matches a page with no shared keyword. Explained in [How AI search turns your
page into numbers](/blog/embeddings-how-ai-search-turns-your-page-into-numbers).

### Vector / vector database

The embedding itself, and the store that indexes millions of them for
nearest-neighbour search. The retrieval half of RAG.

### Cosine similarity

The measure of the angle between two embeddings, from -1 to 1. It ignores
length, so a nine-word sentence and a long passage compete on equal terms.
Similarity is not relevance — it says two texts are *about* the same thing, not
that either is worth quoting.

### Chunking

Splitting a page into passages that get embedded and retrieved independently.
The single most under-appreciated fact in AEO: a retriever returns a chunk, not
a page, so any section that only makes sense after reading the intro will be
surfaced without it.

### RAG — Retrieval-Augmented Generation

Retrieve relevant chunks, then generate an answer from them. The architecture
behind most AI search products, and the reason chunk quality matters more than
page quality.

### Grounding

Constraining a model's answer to retrieved sources rather than its trained
weights. A grounded answer can cite; an ungrounded one can only assert. Being
citable is being useful to grounding.

### Hallucination

A confident, fluent, false statement. Grounding reduces it; clear, self-contained,
well-dated content reduces it further, because the model has something specific
to hold onto.

## Crawlers worth knowing

| Agent | Operator | Job |
|---|---|---|
| `GPTBot` | OpenAI | Training corpus |
| `OAI-SearchBot` | OpenAI | ChatGPT's search index |
| `ChatGPT-User` | OpenAI | Live fetch on a user's request |
| `ClaudeBot` | Anthropic | Training corpus |
| `PerplexityBot` | Perplexity | Perplexity's search index |
| `Google-Extended` | Google | Gemini / AI training opt-out |

The distinction that costs people visibility: blocking a *training* crawler is a
defensible editorial choice with no effect on today's answers. Blocking a
*search* crawler removes you from them. Most blanket rules do both. Sorted out in
[Why your site doesn't
show](/blog/why-your-site-doesnt-show-in-chatgpt-and-perplexity).

## Measurement

### AI Overviews

Google's generated answer above the organic results. Cites sources, and the
citation is often the only visibility a page gets for that query.

### Citation

A named, linked reference to your page inside a generated answer. The unit AEO
is actually optimising for.

### Zero-click

A query answered without any visit to a source. The reason impressions can climb
while sessions do not, and the reason click-through rate is the wrong success
metric for this work.

### AEO score

The 0–100 summary the [AEO Checker](/extensions/aeo-checker) extension computes
for the page you are on, from the parseability signals above. A score, like any
score, is a prompt to look — not a result.

## FAQ

### What is the difference between AEO, GEO and LLMO?

Emphasis, not technique. AEO stresses being the source of a direct answer, GEO
stresses how you are represented in generated text, LLMO frames the same work
model-first. Anyone claiming a methodology exclusive to one of the three is
selling a label.

### Is llms.txt an actual standard?

No. It is a proposed convention with real but partial adoption — under 10% of
the pages ranking for AEO queries publish one. That is an argument for shipping
it, not against: it is a fifteen-minute job, and it is currently the rarest
signal in the field.

### What is chunking, and why does it matter more than page length?

Retrieval operates on passages, not documents. Your page is split, each passage
is embedded separately, and one passage is matched against the question. A
brilliant page whose sections do not stand alone will be retrieved as a fragment
nobody can quote. Write each section as though it will be read alone, because it
will be.

### Does structured data guarantee a citation?

No. It removes ambiguity about who wrote a page, when, and what it is — which
gets you eligible. Whether you are quoted depends on whether the passage
retrieved actually answers the question. Structured data is necessary and
nowhere near sufficient.

### Which term should I use when writing about this?

Whichever your audience searches. AEO has the most traction among practitioners,
GEO among academics and in the papers, AI SEO among marketers. They point at the
same body of work, so pick one, define it once, and be consistent.
