Skip to content

← Writing

engineering

SEO, AEO, and GEO: Optimizing for Search, Answers, and Generative Engines

· Jerwin Arnado ·

For two decades “getting found” meant one thing: rank on Google’s blue links. That single funnel is now three. People still type queries into a search box (SEO), but they also ask a question and expect the answer — a snippet, a voice reply, a knowledge panel (AEO) — and increasingly they never visit a search engine at all, because they asked ChatGPT, Claude, Perplexity, or Google’s AI Overview, and the model answered from its own synthesis (GEO).

These aren’t three names for the same thing. They optimize for different machines, reward different signals, and fail in different ways. This post is how I think about all three, where they overlap, and how I’d actually build a page that wins across the board.

The one-line definitions

SEO — Search Engine Optimization
      Goal: rank a URL in the traditional results list.
      Audience: a crawler + ranking algorithm. Currency: clicks.

AEO — Answer Engine Optimization
      Goal: BE the answer — featured snippet, voice reply, knowledge panel, "People also ask".
      Audience: an answer extractor. Currency: the zero-click answer.

GEO — Generative Engine Optimization
      Goal: get cited/synthesized inside an LLM's generated reply.
      Audience: a language model + its retrieval layer. Currency: a mention or citation.

The shift in one sentence: SEO competes for a link, AEO competes for the box above the links, GEO competes to exist inside an answer that has no links at all.

SEO — the foundation that still pays the bills

Traditional search optimization hasn’t gone anywhere. It’s the substrate the other two build on — an LLM that retrieves sources, and an answer engine that extracts a snippet, are both pulling from pages that got crawled and indexed in the first place. Lose here and you’re invisible everywhere.

SEO splits into three classic buckets:

Technical SEO — can the crawler reach, render, and index you?

  • Clean, crawlable HTML; a valid sitemap.xml and sane robots.txt.
  • Fast loads and good Core Web Vitals (LCP, INP, CLS). Speed is a ranking input and a prerequisite for everything else.
  • Server-rendered or pre-rendered content. If your content only appears after a client-side JS fetch, assume some crawlers and most extractors never see it. (This is exactly why this site is static Jekyll — the HTML is the content, no hydration step required.)
  • Canonical URLs, no duplicate-content sprawl, HTTPS, mobile-first layout.

On-page SEO — does the page match intent?

  • One clear <h1>, an ordered heading outline, descriptive <title> and meta description.
  • Keywords used naturally, in the language your audience actually searches with.
  • Internal links that pass context between related pages.
  • Meaningful alt text — it’s accessibility and image-search signal at once.

Off-page SEO — does the rest of the web vouch for you?

  • Backlinks from credible sites, brand mentions, citations. This is the trust layer, and it’s the one you can’t fake your way through cheaply.

SEO’s currency is the click: you win when someone chooses your link out of ten. That’s also its vulnerability — the click is exactly what AEO and GEO are quietly removing.

AEO — winning the answer, not the click

Answer Engine Optimization targets the surfaces that answer a question without sending the user to a page: Google’s featured snippet, the “People also ask” accordion, voice assistants (Siri, Alexa, Google Assistant), and knowledge panels. The user gets their answer in place. This is the zero-click search — and by various estimates more than half of Google searches now end without a click at all.

AEO is less about ranking and more about being cleanly extractable. The machine wants to lift a self-contained answer off your page and present it as authoritative. So you write for extraction:

  • Lead with the answer. Pose the question as a heading, then answer it in the first sentence or two — direct, complete, no throat-clearing. A 40–60 word answer paragraph is the sweet spot for snippet extraction.
  • Structure for machines. Use real headings, lists, tables, and step-by-step ordered lists. A “how to reset X” query loves a numbered list; a “X vs Y” query loves a comparison table; a “what is X” query loves a tight definition paragraph.
  • Mirror natural-language questions. Voice queries are full sentences — “how do I sync a fork” not “git fork sync”. A FAQ section with genuine question-shaped headings maps directly onto these.
  • Add structured data. FAQPage, HowTo, Article, and Breadcrumb JSON-LD schema tell the extractor exactly what each block is, removing guesswork.

Here’s the kind of schema that turns a prose FAQ into a machine-readable answer source:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "What is the difference between SEO and AEO?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "SEO optimizes a page to rank in the list of search results and earn a
               click. AEO optimizes the same content to be extracted as the direct answer —
               a featured snippet, voice reply, or knowledge panel — often without any click
               at all."
    }
  }]
}
</script>

The trade-off AEO forces you to accept: you may win the answer and lose the visit. That’s fine when your goal is authority, brand recall, or being the source a voice assistant credits. It’s a problem if your whole model depends on pageviews. Decide which you’re playing for.

GEO — getting cited inside the machine’s answer

Generative Engine Optimization is the newest and strangest of the three. The “engine” is a large language model — ChatGPT, Claude, Perplexity, Gemini, Google’s AI Overviews — that generates an answer by synthesizing many sources rather than returning a list. Your goal is no longer to rank or even to be the single extracted snippet; it’s to be part of what the model says, ideally with a citation back to you.

This breaks several SEO instincts:

  • There is often no link to click and no fixed position to “rank” in. The model blends sources into prose. You’re optimizing to be included and credited, not ranked #1.
  • Two retrieval paths matter. Some models answer from training data (you need to have been prominent and widely referenced before the cutoff); others retrieve live at query time via search or a tool (you need to be findable and quotable right now). You optimize for both by being genuinely authoritative and freshly crawlable.
  • Brand mentions count even without a hyperlink. LLMs build associations from co-occurring text across the web. Being talked about — named alongside your topic on forums, docs, articles, comparison posts — feeds the model’s sense of who’s relevant. Unlinked mentions, which classic SEO mostly ignores, become real signal here.

What actually helps you show up in generated answers:

  • Be quotable. Clear, factual, self-contained statements survive synthesis. A sentence that fully states a fact (“Laravel’s queue workers process jobs outside the request cycle”) is more liftable than one that depends on three prior paragraphs of context.
  • Demonstrate genuine expertise (E-E-A-T). Experience, Expertise, Authoritativeness, Trust. First-hand accounts, specific numbers, named tools, real results, a clear author identity. Models — and the search systems feeding them — increasingly weight this. Show the work, don’t just assert it.
  • Be consistent and well-structured. The same extractable structure that wins AEO (clear headings, definitions, lists, tables) also helps a retrieval layer find and quote the right chunk of your page.
  • Spread presence across sources. A single great page is weaker than being referenced across multiple credible places. Original data, useful answers people quote, repos, and docs all widen your surface area inside the model’s world.
  • Stay fresh and re-crawlable. For retrieval-augmented engines, “what’s true now” beats a stale page. Update dates, accurate facts, and a live sitemap.xml keep you in the running.

GEO is the hardest to measure — you can’t open a rank tracker and see “position 1 in ChatGPT.” You measure it by asking the engines themselves: pose your target questions to ChatGPT, Claude, and Perplexity and see whether you’re mentioned, cited, or absent. That manual audit is currently the honest metric.

Where they overlap, and where they diverge

Most of the foundational work serves all three at once. The differences are at the edges:

Dimension SEO AEO GEO
Optimizes for Ranking algorithm Answer extractor Generative LLM + retrieval
You win when Your link ranks You are the answer box You’re cited in the reply
Currency Clicks Zero-click answers Mentions / citations
Loves Keywords, links, speed Snippets, schema, Q&A structure Quotable facts, E-E-A-T, broad mentions
Killer trait Crawlable, fast HTML Self-contained answers Authority + freshness
How to measure Rank trackers, GSC Snippet/SERP-feature tracking Ask the engines directly

The reassuring part: you don’t optimize three times. A page that’s technically clean, intent-matched, cleanly structured into question→answer blocks, marked up with schema, and backed by real expertise is competitive in all three. The divergence is mostly emphasis and measurement, not three separate content piles.

How I’d build one page to win all three

Concrete recipe, single article, no wasted effort:

  1. Static, fast, server-rendered HTML. Content present on first byte — no JS gate. (SEO technical baseline; also what extractors and retrievers can actually read.)
  2. One <h1> stating the topic plainly, then an ordered outline of <h2>s that are real questions a person would ask.
  3. Answer-first paragraphs. Each section opens with a 40–60 word self-contained answer, then expands. Wins snippets (AEO) and gives LLMs a clean quotable chunk (GEO).
  4. Lists and comparison tables for “how” and “vs” intents — the formats answer engines and models both prefer to lift.
  5. A genuine FAQ section with FAQPage JSON-LD, plus Article and Breadcrumb schema.
  6. First-hand specifics: named tools, real numbers, what actually happened. E-E-A-T isn’t a checkbox, it’s the writing.
  7. Strong internal links to related posts (context for crawlers) and a few credible outbound references (signals you’re part of a real conversation).
  8. Accurate title/meta, meaningful alt text, a visible last-updated date, and a place in sitemap.xml.

Do that and the same article ranks (SEO), gets pulled into the answer box and voice results (AEO), and stands a real chance of being cited inside a generated answer (GEO).

Caveats and best practices

  • Don’t chase GEO at the expense of substance. The thing models reward — clear, accurate, first-hand expertise — is the same thing that’s always made good content. There’s no clever hack; “be genuinely worth citing” is the strategy.
  • Zero-click is a strategy decision, not just a tactic. Winning the answer box can mean winning the mindshare and losing the pageview. Know which one your business needs before you optimize for it.
  • GEO metrics are immature. Be skeptical of tools promising precise “LLM ranking.” Today the honest measure is querying the engines yourself and reading the answers.
  • Don’t keyword-stuff for machines. Both answer extractors and LLMs are tuned to penalize thin, manipulative text. Natural, well-structured language wins all three games.
  • SEO is still the floor. You can’t be extracted or retrieved if you were never crawled and indexed. Skip the fundamentals and the other two are moot.

Conclusion

SEO → rank the link        (crawlable, fast, on-intent)
AEO → be the answer        (answer-first, structured, schema)
GEO → be in the answer     (quotable, authoritative, broadly cited)

Search fractured into three audiences: a ranking algorithm, an answer extractor, and a generative model. The good news is that one disciplined page — fast static HTML, answer-first structure, honest schema, and real first-hand expertise — speaks to all three at once. Stop thinking “how do I rank” and start thinking “how do I become the trustworthy, extractable, citable source on this question.” Win that, and it almost doesn’t matter which box the user typed into.