Generative Engine Optimization

Answer engines retrieve before they write.
Optimize the retrieval.

Generative engine optimization makes a page retrievable and quotable by AI answer engines such as ChatGPT, Perplexity and Google AI Overviews. Five things happen before your name reaches a generated answer. The engine fetches, chunks, embeds, ranks, and only then cites. Most GEO advice jumps to the last step and sells markup. This page walks the whole pipeline, names the on-page decision that moves each stage, and states plainly what none of it can do.

The five stages of a retrieval pipeline

Every answer engine runs some version of this sequence. Each stage can drop your page, and each one responds to a different decision in the source.

Fetch

An engine can only reason about bytes it received. That puts the answer in server-rendered HTML rather than in a payload a browser assembles after paint, and it means robots.txt names GPTBot, ClaudeBot, PerplexityBot and OAI-SearchBot by hand instead of trusting a wildcard to cover agents that read the file literally.

Chunk

Retrievers split a document from the top into passages of a few hundred tokens. A paragraph that opens with “he” or “this approach” reaches the index carrying no subject at all. Every load-bearing passage has to name its own subject and survive being lifted away from everything around it.

Embed

Each surviving passage becomes a vector. Hedges and synonyms smear that vector across meanings, while named entities, figures, dates and product names sharpen it. A sentence carrying a number retrieves better than the same sentence carrying the word “significantly”.

Rank

The engine scores passages against a query it wrote for itself, not the phrasing a person typed. One question arrives as four or five reformulations. A page that answers one wording and ignores the neighbouring four loses on the four it ignored.

Cite

A citation is a link the engine is willing to show its user, so it goes to pages whose claims resolve, whose author is identifiable, and whose entity markup agrees with itself from one URL to the next. Retrieval gets you read. Only credibility gets you named.

Four artefacts that move the pipeline

These are files and paragraphs, not tactics. Each one attaches to a stage above, and each one is checkable by opening the served HTML.

llms.txt and llms-full.txt

An agent-readable index of the site, one short file of labelled URLs and one long file carrying the writing itself. No engine has publicly confirmed it reads either, so treat them as cheap insurance rather than a ranking factor. The real return is internal, because a corpus you can regenerate is a corpus whose gaps you can see.

One unambiguous entity graph

Every page publishes the same Person under the same @id, with the identifying fields written inline instead of pointed at. A bare pointer resolves to nothing for a crawler that lands on a single URL and never reads the homepage, and a site that describes its author twice, slightly differently, hands the engine two rival entities to choose between.

Self-contained passages, placed high

The first screen of a page is the part most likely to be chunked, so the definition belongs there, written in the third person, naming the subject rather than referring back to a heading. Prose that reads slightly formal to a human reads unambiguously to a retriever, and that trade is worth making on the two or three passages you actually want quoted.

Outbound citations that resolve

Link the source, then check the link still answers. A dead citation reads as fabrication to a careful human and provides nothing to a model verifying a claim. Auditing this site turned up 29 posts making numeric claims with no source attached, and one figure that traced back to nothing at all.

What the measurement says on this site

Every number below came off pooyagolchian.com, from Search Console and from a citation harness that queries live engines. Pooya Golchian runs the measurement on his own site first, so nothing here is a projection.

The engines cite more often than Google ranks

Running a fixed query set through live ChatGPT and Perplexity engines shows this site named in answers more frequently than its Google positions would predict. Retrieval is not the bottleneck here. Off-site entity density is, which is a very different fix from anything you can do inside a template.

Measured movement on flat impressions

Across the August 2026 work, sitewide click-through rate moved from 0.32 percent to 0.86 percent and average position from 11.9 to 8.7 while impressions stayed flat. Same demand, better answers, and the split matters because a 90-day average that straddles the deploy reads as a broken site.

A brand entity thin enough to count

The query “pooya golchian” returns pooyagolchian.com at position one with zero sitelinks and no knowledge panel, and Google reports 16 total results for the phrase. Sixteen. That is the entire off-site footprint an engine has to reason from, and it is the number GEO work on this site is aimed at.

The instrument, not the anecdote

Citation rate is measured with a harness in packages/tooling that queries real ChatGPT and Perplexity engines through searchapi.io and records whether the site appears. Before and after, same queries, same engines. Anything reported without an instrument behind it is a story about GEO rather than a result.

What GEO cannot do for you

The category attracts confident promises. Here is the part of the pitch that gets left out, stated before you spend anything.

You cannot buy a citation

There is no placement, no bid, no publisher deal that inserts a domain into an organic AI answer. What the retrieval layer selects is a passage that matched, from a source it trusted. Anyone selling guaranteed AI mentions is selling either an ad product or a fiction.

An engine that never searches never finds you

Assistants answer plenty of questions straight from weights without issuing a single retrieval call. Bare-name queries on this site trigger a search roughly a quarter of the time, and any qualifier added to the name pushes that far higher. Perfect markup changes nothing on the queries where no fetch happens.

Markup cannot invent authority

Schema describes what already exists. It does not create a track record, a conference talk, a package other people install, or a third party willing to write your name down. When the off-site footprint is 16 results wide, the fix is publishing and being cited elsewhere, not another JSON-LD block.

The results are unstable by construction

Answer engines rerank continuously, swap retrieval models without notice, and give different answers to the same question an hour apart. Measure against a fixed query set on a schedule and read the trend. Reading a single run tells you about the run.

How an engagement runs

Six to ten weeks, measured at both ends, with the instrument left behind so you can check the work after I am gone.

Week one. Measure and map

Baseline citation rate against a fixed query set on live engines, audit the entity graph for contradictions across every URL, and check what the crawlers actually receive rather than what the browser renders. The output is a ranked fix list with file-level locations.

Weeks two to six. Rebuild for retrieval

Collapse the identity nodes into one graph, rewrite the load-bearing passages so each stands alone, place definitions above the fold, repair or remove every citation that no longer resolves, and ship the agent-readable index. Work happens inside your codebase, in reviewable commits.

Weeks six to ten. Re-measure and hand over

Run the same queries through the same engines and report the delta honestly, including the queries that did not move. You keep the harness, the query set, and the runbook, so the next measurement does not need me.

Generative engine optimization, answered

What GEO is, how it differs from SEO, whether llms.txt matters, and how citation rate gets measured.

  • Generative engine optimization, usually shortened to GEO, is the practice of making a page retrievable and quotable by AI answer engines such as ChatGPT, Perplexity and Google AI Overviews. It works on the five stages those systems run, which are fetch, chunk, embed, rank and cite. In practice that means server-rendered HTML, self-contained third-person passages placed high in the document, one unambiguous entity graph, and outbound citations that still resolve.

  • Traditional SEO competes for a ranked list of ten blue links, so the unit of value is the page and the payoff is a click. GEO competes to be the passage an engine lifts into a synthesized answer, so the unit of value is a few hundred tokens and the payoff is a named citation. The technical foundations overlap almost completely. What changes is that a passage must make sense alone, because the retriever will separate it from the page that gave it context.

  • No engine has publicly confirmed that it reads llms.txt, so nobody honest will promise you a ranking effect from shipping one. Pooya Golchian treats llms.txt and llms-full.txt as a cheap agent-readable index rather than a ranking lever. The measurable benefit is internal, because generating the file forces every important URL into one list and makes the gaps in a site's own corpus visible.

  • With a harness that queries real ChatGPT and Perplexity engines through searchapi.io against a fixed set of buyer questions and records whether the site is named or linked in the answer. Running that before and after a change produces a citation rate you can compare. On pooyagolchian.com the measurement showed the AI engines citing the site more often than Google ranked it, which pointed the work at off-site entity density instead of on-page retrieval.

  • Generative engine optimization engagements with Pooya Golchian start at $14,000 and most run 6 to 10 weeks. That covers the baseline measurement, the entity graph rebuild, passage-level rewrites, the agent-readable index, and a re-measure against the same query set on the same engines. A smaller fixed-scope SEO and AEO audit starts at $6,000 and delivers a findings document with a ranked fix list in 2 to 3 weeks.

Engagement

Find out whether the engines cite you.

Book an embedded engagement to rebuild the entity graph and the passages, or start with a fixed-scope audit that baselines your citation rate first.

Generative Engine Optimization engagements start at $14k.

Entity graph, agent-readable index, and passage-level rewrites aimed at retrieval and citation. Citation rate is measured before and after against a fixed query set on live ChatGPT and Perplexity engines. Most engagements run 6 to 10 weeks.

Get practical AI and engineering playbooks

Weekly field notes on private AI, automation, and high-performance Next.js builds. Each edition is concise, implementation-ready, and tested in production work.

Open full subscription page

Get the latest insights on AI and full-stack development.