Your page never competed for the query you think it did
Your page ranks. Top of the results, right where you worked to put it.
And the AI answer sitting above it never mentions you.
Someone else got quoted. Maybe a page below yours, maybe one that does not rank at all. You did the work and you are still not in the room where the answer gets written.
Ranked fine, not cited. It is the most common thing I hear from practitioners right now, and on Reddit it repeats without end: a page that ranks number one and never shows up in the AI answer for the same query.
The reflex is to assume you are missing some sort of new AI-era signal. I do not think that is it.
The gap opens earlier than any signal, at a step most SEO advice skips over (understandably today): the moment the engine takes your one query and quietly turns it into many.
That step is query fan-out.
What query fan-out actually is
When you ask an AI engine a question, it does not take your query and go looking for it. It rewrites your one question into several related ones, runs them all at the same time, and pulls the results back into a single answer.
That step is called query fan-out, and it is the reason a page can rank perfectly well and still never appear in the answer.
Here is how Google defines it:
Query fan-out: “A set of concurrent, related queries generated by the model to request more information and fetch additional relevant search results to address the user’s query.”
Take a simple case. You ask about a weed-filled lawn. Instead of running that one search, the engine fans it out into separate searches for herbicides and for weed prevention, then writes a single answer from both. You asked one question. It asked several on your behalf, and you never saw them.
If you read how AI search works, this is the planner step I flagged there and said deserved its own piece. I called those smaller questions sub-questions; from here I will call them sub-queries, the same thing in sharper words.
How one query becomes many
So your one question becomes several.
Which several, and where do they come from?
They are not random, and they are not yours to pick. The model generates them, and they fall into a handful of recognizable kinds. This is not speculation, Google holds a patent on the model that generates these variants. What matters for you is not the taxonomy, it is seeing what your one question actually turns into.
So let me show it.
Take a page built to rank for “is term life insurance worth it.” Here is the kind of fan-out that one head question can produce:
-
The same question, reworded: “is term life insurance a good idea.” Same intent, different words, so a page that used the second phrasing can still match
-
The next question you would ask anyway: “how much coverage do I actually need”
-
A narrower cut: “is term life worth it for a 30-year-old with kids”
-
A broader one: “do I even need life insurance”
-
The bare concept: “term life insurance,” so the engine can pull a clean definition of the thing
One page, written for one of those, is now in a room with all of them.
How many are fired at once depends on the engine. iPullRank puts Google’s AI Mode at five to twenty sub-queries per question; AirOps, with Kevin Indig, measured ChatGPT closer to two. The exact count moves, but the shape does not. It is always more than one, and you (as the searcher) wrote none of them.
Now look back at your page. You answered “is term life insurance worth it.” The engine is also hunting for
-
a coverage figure,
-
a monthly cost,
-
a single-versus-married breakdown, and
-
a plain definition
Each of those is answered on its own, pulled from whatever document is most retrievable for it, which might be another page of yours or a competitor’s. Hold only the head question, and you surface for one search out of several. That is how a page ranks and still never gets cited.
You do not have to take my word for the decomposition. Your own query fans out the same way, and you can watch it happen. Mike King’s Qforia runs the same Gemini model behind AI Mode and lays out the sub-queries a query fans into. Run yours through it and the abstraction turns concrete.
What this means for your content
The first instinct is usually to turn the sub-queries into headings. Make each fanned-out question an H2, answer it on the page, and call the fan-out covered.
I understand the appeal, and it does not work.
That instinct is pure lexical thinking, the BM25 reflex of putting the exact words on the page so the exact query matches. It made sense when retrieval only counted terms. But the model now projects your query into a space of meaning and pulls in neighboring concepts, not synonyms, the same move from matching words to matching meaning the last piece walks through.
Stuffing the literal sub-queries optimizes for the engine we left behind.
You cannot target the sub-queries. The model writes them, they are synthetic, and they come out slightly different every time the same prompt runs. Practitioners who pulled the fan-out out of browser devtools report the same: refresh one prompt and the expanded queries come back slightly changed. They are generated on the fly, not read from a fixed list.
There is no stable list to optimize against. Build your page around this week’s version and you are chasing something that moves before you hit publish.
The mechanism already showed you where the work actually is.
Each sub-query is answered from whatever document is most retrievable for it, so the goal is not one page that holds every sub-query. It is making sure something of yours is retrievable for the sub-queries that lead back toward what you actually offer, which usually means more than one page, each clear about its own piece.
That word, clear, is carrying weight.
The engine has to understand what a page is about and how its parts relate, and any passage you want used has to survive being lifted out on its own. That is the same extractability test: a paragraph that needs the three above it to make sense is one the engine cannot quote. It is also why a long page is better built as a set of self-contained modules, each able to stand alone if lifted into an answer, than as one argument that only works read top to bottom.
It changes what you measure, too. Rank is no longer the whole story.
The question is how many of the sub-queries that assemble an answer you show up in, your subquery recall, and how much of your content is liftable enough to use, your atomic coverage, not where one page sits in one list. And you will undercount yourself badly if you only track citations, because getting named reports a fraction of how often you were actually used.
So is this a new discipline that retires everything you know? I do not think so, and the reason is in the mechanism, not in a new name.
Everything the fan-out rewards, being reachable, being clear, being liftable, is what good SEO was already building toward.
The engine reading your content changed. The ground it reads did not.
There is a longer version of that argument, and I make the full case for GEO versus SEO in its own teardown. The smaller and more useful takeaway is that once you can see the fan-out, being retrievable for it stops being guesswork and starts being an audit. You take a query you care about, watch where it fans, and check which sub-queries pull something of yours and which pull a competitor. That map is the work.
If you want a second set of eyes on it, that is what an exploratory call is for.