Skip to content

Generative Engine Optimisation: What Is Real and What Is Sold

10 min read · updated August 4, 2026

Most of what is sold as generative engine optimisation is a claim about the inside of a system whose operator has documented nothing and whose output is non-deterministic. Some of it is not. This page gives the test that separates them, and applies it to the tactics you will be quoted a price for.

Where the term came from

The phrase comes from an academic paper. Aggarwal and colleagues published GEO: Generative Engine Optimization in 2023 and presented it at KDD in 2024. It proposed the framing and a benchmark, and reported that certain edits — adding quotations, citations and statistics to a source document — raised that document’s visibility in generated answers.

The caveat is in the paper and is almost never carried over into the marketing built on it: the evaluation ran against a generative engine the authors constructed and a benchmark they assembled, not against a production assistant whose retrieval stack they controlled or could see. That is a legitimate way to study the question and it is not evidence about what any shipped product does. The gap between those two statements is the entire subject of this page.

A three-tier test for any claim in this field

Before evaluating a tactic, ask what kind of thing its central claim is. There are only three answers.

TierDescription
1 — specifiedThe mechanism is written down in a public specification or in the operator's own documentation. You can read the syntax, the status codes and the stated behaviour. Disagreements are settled by reading.
2 — observableYou can watch it happen on infrastructure you control, in one command or one log query. Which agent fetched what, what bytes it received, what a text extractor recovers, which referrers arrive.
3 — unverifiedThe claim is about ranking or selection inside a system nobody outside the operator can inspect, whose output varies between identical runs. No experiment at your scale can isolate it.

The tiers are not a quality ranking. A tier-3 claim can be true. The point is that tier 1 and tier 2 claims can be settled, cheaply and by you, and tier-3 claims cannot be settled by anybody who is selling you something. Work that trades in tier 1 and 2 is work whose delivery you can check.

Tier 1: written down somewhere public

More of this field is specified than the marketing suggests. The following are documents you can read, and disagreements about them are resolved by reading rather than by testimony:

  • RFC 9309, the Robots Exclusion Protocol, published as a proposed standard in 2022. It defines group matching, the Allow and Disallow directives, the longest-match rule, and what a crawler should do with a 4xx or a 5xx on the file itself. See robots.txt for AI crawlers.
  • The sitemaps protocol and the lastmod semantics that go with it.
  • schema.org — every type and property, with its expected values, plus the validators that tell you whether a parser extracted what you meant.
  • IndexNow — a one-endpoint protocol with a documented request body and a documented status-code table, covered in sitemaps, IndexNow and getting crawled sooner.
  • Operator crawler documentation — the agent tokens, and in several cases the published IP address ranges that let you confirm a request is genuine.
  • The llms.txt proposal, which is a real specification with a real format, and is separately a question about adoption. See the honest status of llms.txt.

Tier 2: visible on your own server

The observable tier is larger than people expect, and it is where the genuinely useful work in this field lives. All of the following are answerable today, by you, without a vendor:

  • Which AI agents fetch you, how often, and what they get. One log query, plus verification.
  • Whether your text is in the first HTTP response or arrives only after JavaScript runs. One curl and a word count.
  • What a text extractor recovers from your page. Run the same conversion the fetch stage runs and read the output.
  • Whether your structured data parses and whether every value in it is also visible to a human.
  • Whether assistant referrers appear in your access log, and against which URLs.
  • Whether an assistant mentions you under stated conditions, at a stated sample size, with an error bar. That is a measurement rather than a rank, and the sampling protocol explains why it can never be more than that.

A GEO engagement whose deliverables are drawn from this list is checkable. You can ask for the command, run it, and see whether the number changed.

Tier 3: claims about the inside of a system

A claim is tier 3 when confirming it would require seeing the retrieval ranking, the chunker, the selection score or the context budget — the stages listed as unobservable in how assistants choose what to cite. Two properties make these claims resistant to the obvious rebuttal.

First, the output is sampled. Ask the same question twice and you may get different sources, so a before-and-after comparison of one query is not evidence of anything. Second, you cannot hold the world still. Between your change and your re-test, the backend index recrawled, the model may have been updated, and the prompt template certainly may have. There is no control group.

That is not a reason to do nothing. It is a reason to be honest about what class of thing you are doing, and to prefer changes that are also good for a human reader — because those have a payoff that does not depend on the tier-3 claim being true.

The common tactics, sorted

The tier below is the tier of the tactic’s central claim, not of whether the work is worth doing.

TacticDescription
Serve text in the initial HTMLTier 2. You can prove your server does it and prove what a non-rendering fetcher receives. Worth doing regardless of any assistant.
Allow or block AI agents in robots.txtTier 1 for the syntax and the stated behaviour of compliant crawlers. Tier 3 for any claim about the consequences for citation frequency.
Publish accurate JSON-LDTier 1 that it parses, tier 2 that the values match the page. Tier 3 that it changes an assistant's choice of source — no operator documents using it for that.
One canonical page per questionTier 2 in its mechanism: it changes what a chunker produces and what a search backend can rank. The benefit to a reader is immediate and independent.
Self-contained paragraphsTier 2. You can extract a chunk and read whether it stands alone. Whether that raises citations is tier 3.
Add statistics, quotations and named sourcesThe GEO paper's own finding, on its own benchmark. Tier 3 as a claim about production assistants; tier 2 as a claim about whether a passage is quotable at all.
Publish /llms.txtTier 1 that the format is specified. Tier 2 that you can see whether anything ever requests the file. Tier 3, and currently unsupported, that any major assistant uses it.
Get mentioned on third-party sitesTier 3 as a citation claim. But it is tier 2 that those pages exist and are themselves retrievable, and they are what a parametric answer about you is made of.
Keyword density for the assistantTier 3, and it imports an assumption from a system that abandoned term-frequency ranking long ago. Nothing public supports it.
Submitting your site to an assistantNot a tier at all. No general submission endpoint is documented by the major assistant operators. IndexNow submits to participating search engines, which is a different thing.

What would actually settle a tier-3 claim

It is worth stating the design, because it makes clear why nobody has run it and why you should not believe anybody who says they have.

  1. A large set of matched page pairs. Not one site. Hundreds of pages across many domains, matched on topic, authority and existing search position.
  2. Random assignment. The treatment applied to a random half, so that the sites choosing to be treated are not also the sites that were going to improve anyway.
  3. A fixed prompt set and fixed conditions. Logged out, no memory, stated region, stated model version, stated date.
  4. Repetition sufficient for the effect size. Detecting a five-point change in mention rate needs several hundred samples per arm; the arithmetic is worked in measuring whether assistants mention you.
  5. A pre-registered outcome. Declared before the data is collected, so the analysis is not chosen after seeing it.
  6. Published method and raw data, so the result can be re-analysed by somebody who wants it to be false.

That is an expensive study and its conclusion would have a short shelf life, because the systems change underneath it. Both facts are reasons it has not been done. Neither is a reason to accept a case study of one site instead.

How to read a GEO proposal

Take the deliverables list and mark each item with a tier. Then ask two questions about the tier-3 items: what would the vendor accept as disproof, and what happens to the recommendation if the claim is false?

A tactic that is worth doing anyway — because it makes the page work for a reader, or because it is required by a specification you can read — survives a no answer. A tactic that only makes sense if an unverifiable mechanism is real does not, and that is the part you are being asked to pay for. The rest of this cluster is built to be mostly tier 1 and tier 2 for exactly that reason.