SEO, AEO, GEO: one discipline, four consumers
The acronyms fight over which reader you optimize for. Roughly 70% of the work is shared — and the fourth reader, the one that acts rather than ranks or quotes, has no acronym yet.
Definition: Search optimization is a single discipline — make meaning machine-legible at every layer — consumed by four readers: the indexer (ranks), the extractor (quotes), the synthesizer (associates), and the operator (acts). The acronyms fight over the consumer; most of the work is shared.
The take
SEO, AEO and GEO aren't different disciplines. They're one discipline with different consumers.
Traditional SEO optimizes for an indexer that ranks, and a human who clicks.
AEO optimizes for an extractor — being the self-contained,
provenance-carrying block worth quoting. And here's the part teams usually miss:
if you have ever shipped an API response carrying source, observedAt and
retrievedAt fields, you already shipped AEO. That provenance is exactly
what makes an answer machine-citable rather than machine-plausible.
GEO optimizes for a synthesizer — consistent entity naming across the corpus so the model's associations stay unambiguous. One glyph with three names in three places is three entities as far as the synthesizer is concerned.
And then there's the consumer nobody's acronym covers yet: the operator —
an agent that neither ranks nor quotes but acts. For it, a page is an API
whose schema is the accessibility tree, and "optimization" means operability:
forms with real labels, buttons whose names reveal intent, aria-current and
disabled states that are machine-checkable, landmark structure that makes the
page cheap to parse.
The overlap across all four is maybe 70% — make meaning machine-legible at every layer. The fights are about the remaining 30%.
The four consumers
| Consumer | Wants | Optimize by |
|---|---|---|
| Indexer (SEO) | rank + click | crawlability, titles, links, speed |
| Extractor (AEO) | a quotable answer | self-contained blocks, provenance fields, machine-checkable freshness |
| Synthesizer (GEO) | unambiguous associations | consistent entity naming, corpus-wide terminology discipline |
| Operator (agents) | to act | accessible names, labeled forms, machine-readable states, cheap-to-parse structure |
One example per consumer
Indexer — the title is the indexable unit. The soft-navigation trap is the
one to watch: client-side route changes that update the view but not
document.title silently desync the single most important indexable string on
the page.
Extractor — provenance makes an answer citable. source / observedAt / retrievedAt on a data payload is the difference between an answer a model can
attribute and one it can only paraphrase. Ship provenance in anything
data-like.
Synthesizer — name things once, the same way, everywhere. I once had a single UI glyph carrying three different names across the codebase, the docs and the interface. Sweeping them to one name and verifying with a grep that returned zero is unglamorous work with compounding returns.
Operator — a headless agent driving real UI. The clearest demonstration is watching a worker read a sidebar's accessibility tree, pick a target, drive the interface and return findings. Everything it needed was a role and a name.
What to do with this
Sell the overlap. One machine-legibility pass covers all four consumers. Position it as a single service line, not four trends — the client is otherwise being asked to buy the same work four times under different acronyms.
Ship provenance in anything data-like. It's cheap at write time and impossible to retrofit convincingly.
Score pages per consumer: rankable, quotable, associable, operable. The operable verdict is the one most teams have never measured, and it's already runnable today — see The accessibility tree is the agent-web's SERP.
The framing this sits inside is Machine legibility: one discipline, four readers.