· 23 min read · Geoptimizer Team
How AI Engines Chunk Your Page for Passage Retrieval
- generative-engine-optimization
- content-shape
- ai-citations
- passage-retrieval
- b2b-saas
AI engines don't retrieve pages. They retrieve passages — chunks of a few hundred tokens or fewer, embedded and scored independently against sub-queries you never chose — which is why a page can rank third, get crawled, get read, and still never be the thing quoted. Ahrefs matched 4 million AI Overview URLs against the SERPs they came from and found that only 37.9% of cited URLs also ranked in the top 10 for that query, while 31.0% didn't rank in the top 100 at all (Ahrefs, March 2026, 863K keyword SERPs). The ranking unit and the retrieval unit have quietly become different objects.
That single fact breaks an assumption most content roadmaps are still built on, so it's worth sitting with.
The gap that doesn't make sense
You know the scenario. You rank third for a commercial head term you've owned for two years, and the AI Overview for that same term quotes a post from a domain nobody on your team has heard of, plus a Reddit thread, plus a competitor's comparison page that ranks on page two. Nothing is broken. Your page is indexed, snippet-eligible, fast and schema'd. It just isn't the thing being quoted.
The Ahrefs number is the cleanest evidence that this isn't bad luck. In their July 2025 run of the same study (~1.9 million citations), roughly 76% of cited pages came from the query's own SERP; by March 2026 that had fallen to about 38%. Ahrefs is careful to note — and so should you be — that part of the drop is better citation parsing rather than a real-world collapse of that size. Even the conservative reading is stark: the overlap between "ranks top 10" and "gets cited" is now well under half (also reported by Search Engine Journal).
The B2B SaaS version is less comfortable still. Citera analysed roughly 350,000 articles competing for 10,382 B2B SaaS keywords across 52 categories, pooling Google's top 20 with citations from four AI engines, and found that only 14% of AI-cited URLs also appeared in Google's top 20, while about 30% of Google top-20 articles picked up at least one AI citation (Citera, May 2026). Two overlapping but largely separate source pools. Your rankings buy a lottery ticket in the second pool; they don't buy a seat.
So what decides that pool? Not page-level quality in any sense you can point at — it's what happens to your HTML between the crawl and the answer.
What actually happens between crawl and citation
Four things happen to your page, in order, and each is a place where a well-ranking page can quietly lose.
One query becomes a dozen
Google says it plainly: "Both AI Overviews and AI Mode may use a 'query fan-out' technique — issuing multiple related searches across subtopics and data sources — to develop a response" (Google Search Central). Ahrefs points at the same mechanic to explain their own findings — the pages appearing most often across those sub-query SERPs are the ones that get cited. Working from Google patent US11663201B2, iPullRank describes a system generating eight variant query types (equivalent, follow-up, specification and others) and estimates 5–20 internal sub-retrievals per user query (iPullRank on agentic RAG).
You are therefore not competing against your target keyword. You're competing against a dozen machine-written questions you never saw, and the winner is whichever passage happens to be a tight, complete answer to one of them. A page engineered end-to-end for "best X software" may contain nothing that answers "does X support SAML SSO on the mid tier."
Your page is stored as dozens of separately scored vectors
Nobody outside Google and OpenAI knows the exact chunk boundaries used on the live web index — any post quoting a precise number is inferring it from citation outcomes. But the adjacent systems that do publish their configs agree on the order of magnitude.
Google's Gemini API File Search docs ship an example configuring max_tokens_per_chunk: 200 with max_overlap_tokens: 20, converting files into embeddings and retrieving "the most similar and relevant document chunks" (Gemini API docs). Anthropic describes splitting documents into segments "no more than a few hundred tokens" (Anthropic). And Vespa — the engine underneath Perplexity's index — describes Perplexity indexing hundreds of millions to billions of documents "with tens of vector embeddings each," retrieved by hybrid lexical-plus-vector matching and pushed through "multiple stages of progressively advanced ranking" ending in cross-encoders (Vespa).
Tens of vectors per document is the sentence to hold onto. Your 2,000-word guide is not one object in the index with one relevance score. It's thirty-odd objects competing individually, most of which have nothing to do with each other.
This is production reality, not a lab curiosity. Google Research's MUVERA (June 2025) made multi-vector, passage-level retrieval about as cheap as single-vector search — 10% higher recall with a 90% latency reduction versus PLAID (Google Research). And in February 2026 Perplexity shipped pplx-embed-context-v1, trained specifically to embed "passages with respect to surrounding document-level context" (Perplexity Research). When an answer engine spends training budget on chunks that remember which document they came from, the debate is over.
Passages fight each other head-to-head
Retrieval narrows the field; re-ranking picks the winner. Google's patent application US20250124067A1, "Method for text ranking with pairwise ranking prompting" (filed October 2024, published April 2025), describes a system that receives "a plurality of sets of text (e.g., passage 1 through passage N)" and prompts a generative model to compare each pair — then prompts it again with the order swapped (US20250124067A1).
One correction, because this audience checks primary sources: several practitioner write-ups, iPullRank's included, read this patent as evidence that shorter, single-subject passages beat longer multi-subject ones. The patent text makes no claim about passage length or subject count at all. The mechanism it does describe — your paragraph must beat a competitor's in a direct LLM comparison, twice, in both orders — is real and is plenty. The length claim is an inference bolted on afterwards.
ChatGPT runs a Ctrl+F on your page
This is the most under-reported mechanic and the most immediately actionable. OpenAI's web search documentation shows that reasoning models can open_page on a URL and then find_in_page to search within it. Citations return as url_citation annotations carrying start_index and end_index offsets, and a separate sources field lists every URL consulted — which OpenAI notes is "often more comprehensive than the citations shown in final responses" (OpenAI).
Two things follow. There's a documented, first-party gap between pages read and pages cited, so crawler logs will always flatter you. And if a model runs a literal in-page search, the exact strings buyers use have to exist as text: if they search "SOC 2 Type II" and your security section says "enterprise-grade compliance," the find-in-page returns nothing and the model moves on to a vendor who wrote the string.
Fan-out, chunking, pairwise re-ranking and in-page search together explain why page-level quality predicts so little. Which raises the obvious question: if passages get picked, which passages?
Where citations actually come from on the page
They come from the top, overwhelmingly, and increasingly so.
The most methodologically explicit dataset is Surfer's, because it doesn't guess which passage was used — it reads Google's #:~:text= scroll-to-text fragments, which carry the cited passage in the URL. Across 100,000 citation placements from 10,000 AI Overviews responses collected on 2 June 2026, spanning ChatGPT, AI Overviews, AI Mode and Perplexity, 38% of citations fell in the first 100 words of the source page — up from 20% in Surfer's June 2025 study (a much smaller base of 1,237 placements). Citation frequency peaks in that opening 100 words and drops steeply through 500; in their words, "by the time you're past the halfway point of a typical article, AI models were barely citing anything" (Surfer).
The behavioural half of that study is the part you can act on: pages that confirm the query and answer it early were cited about 45% of the time versus 23% for pages that don't. Nearly double, from an edit most teams could ship across their top 50 pages in a fortnight.
A separate analysis of ChatGPT points the same way. Kevin Indig's work with Gauge data began with 3 million responses and 30 million citations, narrowed to 18,012 verified citations matched back to source sentences, and found a "ski ramp": 44.2% of citations from the first 30% of a page, 31.1% from the middle, 24.7% from the final third (write-up). Carry the caveat with the number — that match used a loose 0.55 cosine threshold. The refinement matters more than the headline: extraction is densest around the 10–20% mark, not the literal top, because the first 10% is usually navigation and throat-clearing.
Name the confound too, because a sceptical reader will: the first third of a page is where the direct answer usually already lives, so "early text gets cited" may partly be "answers get cited." That doesn't change the action, only how hard you push the mechanism. It rhymes with a familiar finding on the assembly side, where model performance peaks when relevant information sits at the start or end of the context window and sags in the middle (Liu et al., "Lost in the Middle").
The cited unit is shorter than you think
Visibility Stack ran 100 LLM calls across 20 B2B SaaS prompts (US/English, May 2026, across AI Overviews, ChatGPT, Perplexity, Claude and Gemini), chunked each source page into overlapping 25–500 token segments, and scored every AI sentence against every chunk at a 0.80 cosine threshold. The median quoted chunk was 25 tokens — about 19 words — and 97% of traceable citations came in under 200 tokens (Visibility Stack). Small, observational sample; treat it as directional. It is also one of very few studies scoped to this exact segment.
Nineteen words is one sentence. You aren't writing pages for AI answers, and you're not really writing paragraphs either — you're writing individual sentences that have to survive with nothing around them.
The same study's most deflating result keeps this honest: 76% of AI-cited sentences could not be traced back to any single source passage. The page shaped the answer; nothing was lifted. So "make this paragraph quotable" is a partial theory at best — three-quarters of the time the engine is synthesising, and what your page contributed was a fact, a framing or a number that survived the blender. All the more reason those three things should be unambiguous inside the chunk they live in.
Why more sections beats longer sections
Here's the structural finding that converts most directly into an editorial standard. In Citera's ~350,000-article study, AI-cited articles averaged 12 sections; non-cited articles averaged 8. Google's top-5 results averaged 11, positions 16–20 averaged 8. And the detail that makes it usable: average section length was essentially identical across every group — 141 words for AI-cited pages versus 139 for non-cited. Total word count barely differed either (1,690 vs 1,642).
The winners didn't write longer sections. They wrote more of them, at the same length, inside a page of the same size. That's a subdivision effect, and it's exactly what the architecture predicts: each H2 block is a separate retrieval surface with its own embedding, so twelve sections gives the fan-out twelve chances to find a tight match where eight gives it eight. A single 900-word "everything about X" block, by contrast, produces one embedding averaged across four unrelated topics — semantically mushy, and it will lose every pairwise comparison to a competitor's 130-word block about one thing.
SE Ranking's model agrees, at scale and with a curve. Across 2,328,533 pages from 295,485 domains in 20 niches, using AI Mode citations from 500,000+ prompts modelled with XGBoost and SHAP, sections of 100–150 words averaged 4.7 citations, versus 4.3 under 35 words and 4.6 over 150 (SE Ranking). Be honest about what that is: roughly a 9% swing, real and directionally consistent, but nowhere near the lever implied by agency posts circulating an "optimal 134–167 words" figure with no study behind it. Section length is a nudge. Section count is the lever.
The same dataset found pages with an FAQ averaged 4.9 citations versus 4.4 without — modest, and consistent with the mechanism, since an FAQ is the cheapest way to manufacture six more self-contained retrieval surfaces. That's the theory. Here's where it breaks on real SaaS pages.
Four SaaS page types that fail chunking — and the fix for each
1. The pricing or comparison table
Tables get chunked by row, not as a unit. Ragie's published approach is representative: render the table as markdown, keep it whole if it fits the chunk budget, otherwise add rows until the limit and start a new chunk — with headers re-attached to every chunk, because the design goal is that "table data is never disassociated from its table headers" (Ragie).
That makes your header row chunk metadata. A row reading Pro | $179 | 100 | 4 is worthless standing alone. Rewrite the headers and first cell so the row survives extraction — Plan (Acme) | Monthly price (USD) | Tracked prompts | Engines included turns the same row into a complete, quotable fact. One editorial pass, and the row means something to a retriever.
It's a high-value fix. In Delta V's analysis of 21,075 AI engine responses across 8 client brands (April–July 2026, five surfaces), comparison pages had the highest citation rate per retrieval at 1.87 versus a 1.29 portfolio average, despite being only 4.1% of citation share (Delta V Digital). Retrieved rarely, cited hard — so a comparison table that chunks badly is an asset failing at the last step.
2. Anything rendered by JavaScript
If the chunker never sees the text, none of the above applies. Vercel and MERJ instrumented nextjs.org and the Vercel network and found zero evidence of JavaScript execution across 500M+ GPTBot fetches; GPTBot requested JS files in about 11.5% of requests and ClaudeBot in 23.84%, and neither executed them. AppleBot and Gemini, on Google infrastructure, do render. The same study clocked ChatGPT spending 34.82% of fetches on 404s versus Googlebot's 8.22% (Vercel + MERJ).
Date that honestly: it's from December 2024 and still the most-cited primary measurement in mid-2026, which says more about the gap in public research than about its currency. Don't run a 2026 strategy off an 18-month-old benchmark — test your own site. Geoptimizer's free GEO Site Audit and AI Crawler Checker report crawler access, llms.txt, structured data and content shape for a given page without a signup. For the full sequence, our 20-minute crawler access and llms.txt checklist is blunt about which parts have evidence behind them and which don't.
The failure modes to hunt for: specs behind tabs, FAQ answers in accordions injected on click, pricing tables built as JS widgets, comparison matrices shipped as images. All four pass an SEO audit; all four are invisible to most of the retrieval stack. While you're in there, convert the page to markdown and read the output — HtmlRAG's authors note that plain-text conversion "leads to the loss of structural and semantic information," with tables becoming disordered (arXiv 2411.02959). If your feature matrix arrives as a run-on line of pipes, that run-on is the chunk.
3. Docs and feature pages written in pronoun chains
Anthropic's canonical orphaned chunk is a line from an SEC filing: "the company's revenue grew by 3% over the previous quarter." Retrievable, embeddable, useless — neither the company nor the quarter is inside the chunk. Their fix was to generate 50–100 tokens of context per chunk before embedding, cutting top-20 retrieval failure by 35% (5.7% → 3.7%); adding contextual BM25 took it to 49% and reranking to 67% (Anthropic).
Your version is a feature-page H2 reading "It supports SSO, SCIM and audit logs" with the product name three headings up, or a docs section opening "As we saw above, this endpoint..." The retrieval side has engineered around orphaned chunks, but only inside corpora it controls end to end. On the open web the context must come from your own prose, and every "it," "the platform" and "as described earlier" is a bet that the engine re-attaches the antecedent for you.
The fix isn't clever: name the subject in the first sentence of every section. "Acme supports SAML SSO, SCIM provisioning and exported audit logs on the Business plan and above." Product, capability, scope condition — one sentence a stranger could quote.
4. The H2 that matches no query anyone types
"Why teams love us." "Built different." "The Acme difference." These are page-level headings in a passage-level world: they name your positioning rather than the question, so no sub-query in the fan-out will land on them. Rewriting them into query-shaped headings is the cheapest structural change available — though the direct evidence is modest, with SE Ranking measuring question-formatted headings at 4.6 citations versus 4.5. Do it because the heading is the strongest context signal inside the chunk, not because 0.1 will reshape your quarter.
The underlying effect is demonstrable. Using their BubbaChunk tool, iPullRank showed that splitting one paragraph covering multiple topics raised the machine-learning passage's cosine similarity from 0.541 to 0.645 (+19.24%), with headers adding a further 17.54% to a data-privacy passage (iPullRank). Same words, different boundaries, measurably different retrieval score — and their line is the best summary of this whole post: "You cannot compress a mess without losing the message. Each chunk must stand as a standalone signal."
Test it on your own page this afternoon
None of this needs a purchase order. Roughly in order of insight per minute:
Disable JavaScript and reload. If the pricing table, feature matrix or FAQ disappears, stop — nothing else matters until that's fixed. Check tabs and accordions specifically, then convert the page to markdown and read it cold, watching for tables that collapse into noise.
Copy one H2 block into a blank document. Does it name the product, the category, the scope condition and the number without any of them living elsewhere on the page? If you have to scroll up to understand it, so does the engine — and it can't.
Count sections, then words per section. Aim for 100–150 words and add sections rather than lengthening them; twelve is where the Citera data points for B2B SaaS. Front-load the answer inside each one, not just at the top of the page.
Search your page for the literal strings buyers type — certifications, integration names, plan-gating language, competitor names. If the concept is there but the string isn't, find_in_page fails.
Harvest the passages Google already picked. AI Overview referral URLs often carry a #:~:text= fragment naming the exact sentence used. GA4 can't see it (it's client-side), so you need custom GTM JavaScript to capture it into a custom dimension, and Featured Snippet and PAA clicks get bundled in (Ahrefs). Those strings are Google telling you which of your sentences it considered an answer.
Score passages against sub-queries, not your head term, using an embeddings API or a free cosine-similarity tool such as iPullRank's Orbitwise. Measure before and after — boundary changes alone moved similarity ~19% in the BubbaChunk test.
What this doesn't fix
A post that stopped there would be selling a partial theory as a complete one. Five objections a sceptical reader should raise, and the honest answers.
Google says explicitly not to do this. On the Search Off the Record episode of 8 January 2026, Danny Sullivan said of breaking content into bite-sized chunks for LLMs: "So we don't want you to do that," adding "We don't want people to have to be crafting anything for Search specifically" and warning that "all that stuff that you did to please this LLM system... may not carry through" (reported by PPC Land). The documentation agrees in flatter language: "There are no additional requirements to appear in AI Overviews or AI Mode, nor other special optimizations necessary."
The fair reading is that Google is arguing against fragmentation — shredding a coherent document into disconnected snippets — not against clear headings, direct answers and paragraphs that stand on their own, which are also just good editing. Both can be true. Don't fragment; do make each section self-sufficient. If your restructure makes the page worse to read, you've built the thing Sullivan is warning about.
Cleverer chunking isn't reliably better chunking. The peer-reviewed answer to "is semantic chunking worth it?" is roughly no — its costs are "not justified by consistent performance gains" (arXiv 2410.13070). Chroma's evaluation across 5 corpora and 472 queries found strategy choice moves recall by up to 9%, with simple 200-token recursive splitting competitive with sophisticated methods (Chroma). The retrieval side isn't doing anything mystical to your page; neither should you.
Off-page may simply dominate. In a study of ChatGPT software-recommendation prompts (40 B2B SaaS categories, 233 recommendations — small and single-engine, so read it as shape rather than rate), when ChatGPT recommended a tool it cited that tool's own site only 11.6% of the time, and 62.5% of categories produced zero own-site citations for any vendor (Derivatex). Across nine pooled US datasets, Wikipedia (13.15%) and Reddit (11.97%) together account for about a quarter of ChatGPT citations (5W). No amount of passage engineering on your own domain wins a citation that was always going to a third-party listicle — which is why getting into the "best tools" lists engines actually cite is a parallel workstream, not an alternative. Instructive detail: of 143 cited pages in that sample, 100% used a numbered or bulleted list, 68% included a comparison table and 56% an FAQ.
If you already rank #1, some of this can cost you. From the only controlled, causal study in the space — the GEO paper (Princeton, Georgia Tech, IIT Delhi and AI2, KDD 2024) — rewriting identical source content produced Quotation Addition +41%, Fluency Optimization +29%, Statistics Addition around +31%, Cite Sources +28%, and Keyword Stuffing −8.8% (arXiv 2311.09735). But the benefit runs inversely to how well you already rank: adding source citations gave rank-5 sites +115.1% visibility and rank-1 sites −30.3%. For a brand that already ranks well, expect these tactics to do more for your page-two content than your page-one content.
Attribution itself is unreliable. The Tow Center tested 1,600 queries across 8 engines and found incorrect citations in over 60% of tests — 37% for the best performer, 94% for the worst — with engines inventing headlines and citing syndicated copies (Nieman Lab, March 2025). Some share of "we weren't cited" is an attribution failure, not a retrieval failure.
Two popular levers also still have nothing behind them. llms.txt appears on 10.13% of ~300K domains with no correlation to citations — removing the variable actually improved the model (SE Ranking via SEJ). Schema showed no gradient across position buckets in the 350,000-article study, sitting at 69–72% everywhere. Treat circulating claims like "FAQ schema increases citation likelihood by 78%" accordingly: no traceable method, and contradicted by the largest datasets available.
How to know whether your restructure worked
Which brings us to the step that decides whether any of this was worth doing — and where most passage-level experiments quietly fall apart.
Ahrefs tracked 43,000+ keywords with at least 16 observations each over a month and found a 70% chance the AI Overview text changes between consecutive observations, with 45.5% of cited sources entirely new each time, while semantic similarity between versions held at 0.95 cosine (Ahrefs). Surface churn, stable meaning. The citation you "lost" on Tuesday is usually noise, and a single before-and-after check on a rewritten section proves nothing at all.
It also needs the right metric. "Are we mentioned?" and "is our passage cited?" are different questions with different fixes, and a blended number hides which one moved. Geoptimizer's published AI Visibility Score formula splits them deliberately — mention rate 35%, citation rate 25%, prominence 20%, sentiment 20%, computed per engine across ChatGPT, Gemini, Claude and Grok, then averaged — with the headline reported as a 7-day rolling window plus a confidence band, because AI answers are nondeterministic. If a restructure lifts mention rate but leaves citation rate flat, that's a passage problem, and you can see it in the component breakdown instead of guessing.
That distinction matters most immediately after a rewrite, when you want to re-run every tracked prompt across all four engines rather than spot-check one; the plan tiers and check allowances cover both patterns. And before you commit to a restructure, our engine-by-engine citation evidence for 2026 is the companion piece — the short version being that cross-engine transfer is unproven, and a passage tuned for ChatGPT may not move Claude at all.
FAQ
How long should a section be for AI citations?
Roughly 100–150 words is the best-supported target: SE Ranking's model, built on 2,328,533 pages across 20 niches, found sections in that band averaged 4.7 citations versus 4.3 under 35 words and 4.6 over 150. Treat it as a nudge — about a 9% swing. The larger effect is section count: AI-cited B2B SaaS articles averaged 12 sections versus 8, at identical section length. Be sceptical of anyone quoting a precise "optimal 134–167 words" — that figure circulates with no published study behind it.
Does adding an FAQ section increase AI citations?
Modestly, and for a mechanical reason. SE Ranking measured pages with an FAQ at 4.9 citations versus 4.4 without. An FAQ is the cheapest way to add several short, self-contained, query-shaped retrieval surfaces to a page. FAQ schema is a separate question with weaker evidence: Citera found schema prevalence flat at 69–72% across all ranking buckets, and Google's documentation states no special structured data is required.
Why does my page rank well in Google but never get cited by AI?
Because ranking is scored at page level against one query, while AI answers are assembled from passages scored against many machine-generated sub-queries. Ahrefs found only 37.9% of AI Overview citations came from top-10 ranking pages, and 31.0% ranked outside the top 100 entirely; in B2B SaaS, only 14% of AI-cited URLs appeared in Google's top 20. Your page can win the page-level contest and lose every passage-level contest inside it.
Is chunking content for AI the same as writing for humans?
Largely, yes — which is the honest resolution of Google's warning against "breaking content into chunks." The objection is to fragmenting a coherent document into disconnected snippets, not to clear headings, direct answers and paragraphs that stand alone, which are marks of a well-edited page anyway. If a restructure makes your page harder for a person to read, you've optimised for the wrong reader.
How do I find out which passage of my page an AI engine used?
For Google, capture the #:~:text= scroll-to-text fragment on AI Overview referral URLs — it contains the exact passage highlighted. GA4 won't record it by default because the fragment is client-side, so you'll need custom GTM JavaScript to write it into a custom dimension, and Featured Snippet and PAA clicks will be mixed in. Other engines expose no equivalent signal, so you're left tracking whether your domain appears as a citation across a repeated prompt set over time.
The short version
The unit changed. Retrieval works on passages of a few hundred tokens or fewer, scored independently, compared head-to-head and pruned to a context budget — and the median thing an engine lifts is about nineteen words. Your citation odds are set section by section: whether the opening 100 words answer the question, whether each H2 block names its own subject, whether a table row survives separation from its headers, and whether the strings your buyers type exist on the page at all. None of that requires writing worse. Subdivide more, front-load harder, name the subject in every section — and stop assuming your rankings will carry you into the answer.
Then measure it properly, over a window and per engine, because the passage that wins on ChatGPT may do nothing on Claude. Run a free AI visibility check on your domain — no signup — and find out whether your problem is mention rate or citation rate before you rewrite a single page.