Skip to content

Answer Engine Optimisation: What Changed in the Results Page

9 min read · updated August 4, 2026

The interesting quantity is not whether the results page changed but by how much, on your queries, today. That is measurable — it is pixels above the first organic link — and measuring it yourself is more reliable than any screenshot in any vendor deck, including the screenshots in the ones citing real numbers.

There were never ten blue links

The phrase describes a results page that stopped existing long before generative answers. Universal results mixed images, video and news into the list in the mid-2000s; the knowledge panel arrived in 2012; featured snippets began extracting an answer above the results in the mid-2010s; “people also ask” followed. Zero-click behaviour was a subject of complaint for a decade before an assistant wrote a paragraph on the page.

This is worth being precise about because it changes the analysis. If you attribute a long-running trend to a change made in 2024, you will expect the trend to reverse when it does not, and you will misattribute your own results. The generative answer block is the latest step in a direction the page had been moving for fifteen years.

AEO, GEO, SEO: which of these is a different thing

Three acronyms are in circulation and they are mostly the same practice under different sales copy. It is worth saying which distinction is real, because one of them is.

TermDescription
SEOSearch engine optimisation. Being retrievable, being indexed, and ranking in a list of links. All of it is upstream of the other two, because an assistant's retrieval stage queries a search index.
AEOAnswer engine optimisation. Used to mean optimising to be the extracted answer — the featured snippet, the answer box. It predates generative answers and describes a real, older surface.
GEOGenerative engine optimisation. Named in a 2023 academic paper and since applied to anything involving an assistant. In practice most GEO deliverables are SEO deliverables plus claims nobody can check.

The distinction that actually matters cuts across all three, and it is about the surface rather than the technique: does the surface summarise, or does it cite and link? A summarising surface takes your content and returns no visitor, so the only question is whether it can substitute for your page. A citing surface returns visitors, so the ordinary logic of being findable applies and there is nothing exotic to do.

That is why a proposal offering three separate services under three acronyms is worth reading carefully. If the deliverables under GEO are “improve site structure, write self-contained sections, publish accurate structured data”, they are the deliverables under SEO with a new invoice line. Which is not to say they are worthless — they are largely what the tier-1 and tier-2 half of this field consists of — only that you are buying one thing rather than three.

What changed, with dates

These are announcements by the operators, which is the only part of this subject that is verifiable without measurement.

WhenDescription
2012Google's knowledge panel: an entity summary occupying the right rail, assembled from a knowledge graph rather than from one page.
mid-2010sFeatured snippets extract an answer from a page and place it above the results, with attribution. The original zero-click mechanism.
February 2023Microsoft launched a conversational answer experience in Bing, later folded into Copilot.
May 2023Google announced the Search Generative Experience at I/O as an opt-in Search Labs experiment in the United States.
May 2024AI Overviews launched to general users in the United States, expanding to further countries through 2024 and 2025.
2025Google introduced AI Mode, a conversational surface alongside the classic results page rather than a block within it.
Aggregate claims about what proportion of queries now show a generative block come from third-party crawls of results pages. Those crawls sample a surface that is personalised, geographically varied and changing weekly, from an automated client the operator does not treat like a user. Treat the direction as informative and the specific percentage as an estimate with unstated error.

The quantity worth measuring

One number, and it is more honest than a percentage of queries because it is continuous rather than binary: the vertical distance from the top of the results page to the top of the first organic result, at a stated viewport.

It captures everything at once — ads, the answer block, the panel, related questions, video carousels — without needing to classify any of them, and it converts directly into the thing that matters, which is how many screens a reader scrolls before they reach a link to anybody. Divide by viewport height and you have it in screens:

first organic result at   1,850 px
viewport height             800 px
                            ----------
screens before an organic link:  2.3

A harness for your own queries

Playwright, one query per line, reporting pixels and screens. It measures what a browser at a stated size actually renders, which is the only version of this number that means anything.

#!/usr/bin/env node
// serp-depth.mjs — how far down is the first organic link?
//   node serp-depth.mjs queries.txt
//
// Selectors for a results page are not a public API and they change.
// Treat ORGANIC_SELECTORS as configuration to be re-checked, and read
// the "hits" column: a query where the selector matched nothing is a
// selector problem, not a finding.

import { readFileSync } from "node:fs";
import { chromium } from "playwright";

const ENGINE = process.env.ENGINE ?? "https://www.bing.com/search?q=";
const ORGANIC_SELECTORS = process.env.ORGANIC ?? "#b_results > li.b_algo";
const VIEWPORT = { width: 1280, height: 800 };

const queries = readFileSync(process.argv[2], "utf8")
  .split("\n").map((s) => s.trim()).filter(Boolean);

const browser = await chromium.launch();
const ctx = await browser.newContext({ viewport: VIEWPORT, locale: "en-GB" });

console.log("px     screens  hits  query");
for (const q of queries) {
  const page = await ctx.newPage();
  await page.goto(ENGINE + encodeURIComponent(q), { waitUntil: "domcontentloaded" });
  await page.waitForTimeout(2500);       // late-inserted blocks shift the page

  const loc = page.locator(ORGANIC_SELECTORS);
  const hits = await loc.count();
  let top = null;
  if (hits > 0) {
    const box = await loc.first().boundingBox();
    top = box ? Math.round(box.y) : null;
  }

  console.log(
    String(top ?? "-").padStart(6),
    (top === null ? "-" : (top / VIEWPORT.height).toFixed(1)).padStart(8),
    String(hits).padStart(5),
    " " + q.slice(0, 50),
  );

  await page.screenshot({
    path: "serp-" + q.replace(/[^a-z0-9]+/gi, "-").slice(0, 40) + ".png",
    fullPage: false,
  });
  await page.close();
  await page.waitForTimeout?.(1000);
}

await browser.close();

Run it against your own top queries, segmented the way the traffic-impact page segments them — informational, navigational, transactional — and keep the screenshots. Re-run it quarterly. A series you produced with a documented method beats a headline figure whose method is not stated, and it is about an hour of work.

Counting what fills the space

Depth tells you how far the first organic link moved. The second question is what moved it, and that is answerable from the same screenshots the harness already saves — by hand, on twenty queries, in about half an hour.

For each query, record which blocks appear above the first organic result and roughly how much vertical space each takes. The categories worth separating:

  • Paid. Advertising above the results, which has grown for two decades and has nothing to do with generative answers. Attributing its space to AI is the most common error in this analysis.
  • Generative. The answer block, with or without citations. Note whether it links out at all, because a block that cites is a different commercial proposition from one that does not.
  • Extractive. Featured snippets and related questions: an answer taken from a page, with attribution, by the mechanism that has existed since the mid-2010s.
  • Entity. The knowledge panel and its relatives, drawn from a graph rather than from any one page.
  • Vertical. Images, video, news, maps, shopping — the universal-results carousels.

The output is a small table: for your top twenty queries, how many pixels each category occupies. It converts “the results page got worse” into a statement about which change did it, and that distinction decides what you should do. Ads above your listing are a bidding problem. A generative block that cites is a being-worth-quoting problem. A generative block that does not cite is a substitutability problem, and the only response is to publish things a paragraph cannot replace.

What the harness cannot tell you

Stated plainly, because a measurement whose limits are hidden is worse than no measurement.

  • An automated browser is not a user. Results pages differ by account, history, location and device, and a headless client may be served a different page or challenged outright.
  • Selectors are not an API. Class names change without notice. A zero in the hits column means your selector broke, and reporting that as “no organic results” would be a fabricated finding.
  • Automated querying may breach terms of service. Check before you schedule it, and prefer an official API where one exists.
  • Pixels are not clicks. Depth is a proxy for visibility, not a measure of behaviour. It tells you the layout changed; it does not tell you what people did.

What this changes about a page

If a summary of your page can substitute for your page, the layout change is expensive for you. If it cannot, it is largely not. That is the whole strategic content of this subject and it does not require any claim about ranking systems.

  • A page that states a fact is substitutable, because the fact is what the reader wanted and an answer block can carry it.
  • A page that shows working is less so: the derivation is the value, and a summary of a derivation is not one.
  • A page that runs something — a calculator, a harness, a script against the reader’s own inputs — cannot be summarised at all, because the output depends on what the reader brings.
  • A page whose value is current data keeps its click, because the answer block is frequently stale and readers who care about currency learn to check.

None of that is new advice and none of it is a tactic. It is the observation that the pages worth building are the ones a paragraph cannot replace, which was true before any of the dates in the table above and will outlast all of them.