AI assistants don’t retrieve your page. They retrieve a passage of it. The page gets split into chunks, the chunks get compared against the question, and a handful of winners go to the model that writes the answer.
That one mechanical detail explains most of the confusing results people get from GEO work. A page that reads beautifully and ranks well can lose to a thinner competitor, because the competitor has one section that stands on its own and you have 2,000 words of continuous argument that can’t be cut anywhere without breaking.
How retrieval actually gets to a passage
The pipeline is roughly the same wherever you look, whether that’s a search engine’s grounding step or a retrieval-augmented system inside a product.
The question gets decomposed. Candidate documents get found. Those documents get split into chunks. The chunks get embedded as vectors and compared against the question for similarity. The best ones get ranked, and the survivors are handed to the model as the material it must answer from.
Your writing is competing at the chunk stage. Not at the page stage, and not at the domain stage.
A useful way to hold it: you aren’t publishing articles any more, you’re publishing a set of passages that happen to be stored together.
The chunk size advice is mostly noise
Here’s where I’d be careful, because this is the part the tooling industry has oversold.
You’ll find confident guidance on optimal chunk size. One body of advice says 256 to 512 tokens. Another says 50 to 150 words. Both are presented as established practice, and they don’t agree with each other.
They can’t both be right, and more to the point neither is actionable, because chunking happens inside systems you have no access to. ChatGPT, Gemini, Claude and Perplexity each make their own choices about how to split a document, and none of them publishes the parameters. Writing to a token count you guessed at, for a splitter you can’t see, is a waste of a good afternoon.
What survives whatever the real numbers are is simpler. Make each section complete, and make it make sense alone. A section that’s genuinely self-contained extracts well at almost any chunk boundary. A section that depends on the one above it extracts badly at all of them.
The cold-read test
This is the whole discipline, and it costs nothing.
Take any section of your page. Start at the heading. Read it as a stranger who has never seen the rest of the page.
Does it work?
Most sections fail on one of four things:
It opens with a pronoun. “This means that…” pointing at a paragraph that won’t travel with it.
It refers backwards explicitly. As mentioned above, as we saw earlier, building on the previous point. Every one of those is a dependency that breaks on extraction.
It assumes a definition given earlier. The term was explained in the introduction and used bare from then on. The chunk arrives at the model with an undefined term in it.
It answers at the end. The section builds its case across four paragraphs and resolves in the last line. The retrieved chunk may well be the first three paragraphs, which contain the reasoning and none of the answer.
Fix those four across your top ten commercial pages and you’ve done more for retrieval than most schema projects achieve.
Headings do more work than anything else
The heading usually stays attached to its passage through extraction, which makes it the single clearest signal of what that passage answers.
So headings should name the question, in the words a person would use.
“How long it takes” beats “Timeline”. “What it costs for a ten-person firm” beats “Pricing”. “Why ChatGPT ignores most local businesses” beats “Local considerations”.
Sentence case, plain words, no cleverness. A heading is a label for a machine as much as a signpost for a reader, and the two want the same thing here.
Answer first, reason after
In every section, the direct answer goes in the first sentence or two. The explanation follows.
This feels wrong if you were trained to build an argument. It’s correct for retrieval, and it’s also better for readers who are scanning, which is nearly all of them.
The test is whether the opening two sentences of a section would be a decent answer on their own. If they would, the section is doing its job. If they’re set-up and the answer comes later, the section is a gamble on where the chunk boundary lands.
What this doesn’t do
Chunking well makes you retrievable. Retrievable means eligible, and eligible is not cited.
Which of the eligible sources gets named, and whether it gets a link or a paraphrase with no attribution, depends on corroboration building up across sources the model already trusts. That’s slow, it happens off your site, and no amount of heading discipline changes it.
There’s also a known problem on the other side that’s worth understanding before you trust any citation data: models can attach a retrieved chunk to a claim that chunk doesn’t actually support. So a citation pointing at your page isn’t proof that your page said the thing being attributed to you. We check attributions by hand on the queries that matter, and I’d suggest anyone reporting citation share does the same.
Where to start
Take your highest-value commercial page. Read every section cold, from the heading, as a stranger. Count how many stand up alone.
Then rewrite the two worst. Don’t restructure the whole page and don’t write a new one. Two sections on a page you already own, done properly, is the right first move.