Ask ten people how to get an AI engine to cite your content and you'll get ten answers built on the same shaky foundation: publish more, add schema, ship an llms.txt file, hope. None of those are wrong exactly, they're just not what the evidence says matters. This generative engine optimization guide works through four separate bodies of 2026 research, on query fan-out, on per-engine source trust, on what schema and llms.txt actually do inside a language model, and on what content formats earn citations in practice, and turns them into one practical answer: what to build first.
Query fan-out: how one question becomes seven
Type a question into ChatGPT, Perplexity, or Grok and the query you typed is rarely the query the engine actually retrieves against. Before it fetches a single page, the model rewrites your prompt into several narrower sub-queries, runs retrieval on each one, and merges the results before it starts drafting an answer. This step is invisible from the chat window, which is exactly why most content teams have never accounted for it. They write a page to answer the literal question a buyer might type, check whether that page ranks for that literal query, and call the job done. The engine, meanwhile, already moved past the literal query and is retrieving against five or six variations of it. If your content only covers the headline question, you are only competing for a fraction of the retrieval the engine actually runs.
The clearest look at how this works in practice comes from a May 2026 analysis by Metehan Yesilyurt, a researcher at Peec AI, and Tomek Rudzki, published via ppc.land on May 5, 2026. The pair collected 5 million query fan-outs across ChatGPT, Perplexity, and Grok between April 1 and April 21, 2026, logging exactly which sub-queries each engine generated from a single original prompt. The scale of the dataset is what makes it useful. This is not a handful of test prompts run once, it is a large enough sample to show consistent, engine-specific patterns rather than noise.
ChatGPT's fan-out behavior follows a specific, repeatable pattern. When it expands a query, it tends to inject terms the user never typed. "Best" shows up in 15.33% of affected responses, "reviews" in 6.84%, and the current year in 5.44%. None of those terms came from the person asking the question, the model added them because it has learned that evaluative, current-year framing produces better retrieval. That alone tells you something concrete: a page that reads as a flat description, with no evaluative stance and no sense of currency, is missing the framing ChatGPT is already searching for on the user's behalf.
Terms ChatGPT injects into a query during fan-out that the user never typed
The three engines do not fan out at the same rate, either. ChatGPT averages 2.1 sub-queries per original prompt. Grok averages 6.8, more than three times ChatGPT's rate, generating a wide spread of angles before it ever starts retrieving. Perplexity runs the opposite strategy: instead of expanding, it tends to strip and narrow the original query down to its essential terms. Three engines, three different retrieval strategies, from the same starting prompt. A content strategy built for ChatGPT as a stand-in for AI search will under-cover a Grok fan-out by roughly three to one, and will look nothing like what Perplexity actually searches against.
| ENGINE | AVERAGE FAN-OUT SUB-QUERIES | RETRIEVAL STRATEGY |
|---|---|---|
| ChatGPT | 2.1 | Expands moderately; injects evaluative and temporal terms |
| Grok | 6.8 | Expands aggressively, more than 3x ChatGPT's rate |
| Perplexity | Narrows | Strips the query down instead of expanding it |
ChatGPT reportedly combines the relevance scores from its sub-queries using Reciprocal Rank Fusion, a method that rewards a page for scoring well across multiple sub-queries rather than dominating just one. That is a meaningful detail for anyone building content: RRF does not reward the page that answers the literal question perfectly and nothing else. It rewards the page that shows up as a strong candidate across several of the sub-questions the engine generated, the comparison angle, the pricing angle, the best-for-X angle, the current-year angle, even if it is not the single best answer to any one of them. Getting cited, in other words, is not about matching one query. It is about surviving an engine's internal fan-out, which means answering the three to seven adjacent questions an engine will actually generate around your topic, not just the one your buyer typed into the box. That is the standard our generative engine optimization services build content against, and it is the same principle behind GEO from scratch, our companion guide to setting up a program from zero.
There is a practical test you can run on any page you already have. Take the headline query it targets and write down the five to seven sub-questions an engine would plausibly generate around it: the comparison angle, the pricing angle, the best-for-a-specific-use-case angle, the current-year angle, the risk or compliance angle. Read the page again against that list. Most pages, even ones ranking well in classic search, answer one or two of those sub-questions and go silent on the rest. That gap is exactly what RRF penalizes: a page that dominates one narrow angle and says nothing about the others loses to a page that scores respectably across four or five of them. Closing that gap does not mean padding a page with filler. It means treating the fan-out list as a content brief and making sure each adjacent question gets a real, extractable answer somewhere on the page, not just the one the headline promised.
Fan-out explains how an engine decides what to retrieve. It says nothing about which of those retrieved candidates the engine actually trusts enough to name. That is a separate mechanism, and, as the next chapter shows, it is not shared across engines at all.
Trust doesn't transfer: OpenAI, Google, Anthropic, and Gemini each play by their own rules
Once an engine has a set of retrieved candidates, it has to decide which ones are trustworthy enough to name in the answer. The industry shorthand for this is "AI trusts X", AI trusts Reddit, AI trusts Wikipedia, AI trusts recent content. Two posts published by Dan Petrovic and the team at DEJAN in July 2026 show that shorthand is wrong in a specific, measurable way: each major engine independently learned its own trust behavior, and the differences between them are large enough that a strategy built for "AI" as a single target will misallocate effort against at least two of the four engines it is meant to cover.
The first post, published July 21, 2026 and titled "No, AI doesn't prefer Reddit. Search does," tracked how often OpenAI actually selected Reddit as a citation when Reddit was among the retrieved candidates. Across 491,024 retrieved pages, OpenAI selected Reddit as an actual citation in just 0.61% of cases, a 99.39% rejection rate. Google's behavior runs the opposite direction. DEJAN's inferred rate for Google selecting Reddit sits between 9% and 60% depending on the query category, at least 14 times more often than OpenAI. Anthropic's Claude went further still: across 139,601 sampled grounding sources collected between May and July 2026, Claude showed zero Reddit citations. For comparison, in that same OpenAI dataset, Wikipedia was selected 5.64% of the time and arXiv 0.77% of the time, both well above Reddit's 0.61%, which shows OpenAI's low Reddit number is not a general aversion to community or reference content. It is specific to Reddit.
| SOURCE | OPENAI SELECTION RATE | GOOGLE INFERRED SELECTION | ANTHROPIC CITATIONS (139,601 SAMPLED) |
|---|---|---|---|
| 0.61% | 9-60% | 0% | |
| Wikipedia | 5.64% | — | — |
| arXiv | 0.77% | — | — |
“"No, AI doesn't prefer Reddit. Search does." — Dan Petrovic, DEJAN, July 21, 2026”
A second DEJAN post, published July 26, 2026, found a different mechanism inside Gemini: a strong first-page-read bias. Gemini picks whichever web page it reads first 92% of the time, a pattern that looks less like a trust judgment and more like a recency-and-order effect baked into how Gemini's retrieval pipeline processes results. That is a structurally different signal than "does this domain have authority," it is closer to "were we lucky enough to be crawled and read early in the sequence for this query." None of the other engines DEJAN measured showed anything close to that order effect.
This matters for budget, not just accuracy. A team that reads "AI cites Reddit" as a single fact will spend the same hours seeding the same threads regardless of which engine it is trying to move, and will be surprised when a mention rate dashboard shows a lift on Google's AI Overviews and nothing on ChatGPT or Claude. The DEJAN numbers explain that outcome instead of leaving it as noise. If Google is the engine you are trying to influence, community platforms are a real, measurable lever. If OpenAI or Anthropic are the targets, that same hour is close to wasted, and the hour would have been better spent on the kind of earned, editorial coverage chapter four covers, which both engines treat far more consistently.
Put the two posts together and the shorthand collapses. OpenAI runs something closer to a strict, low-tolerance filter on user-generated content generally. Google inherited a broader tolerance for community content from a decade of classic search ranking Reddit threads. Anthropic appears to run the tightest filter of the three on Reddit specifically. And Gemini's citation behavior has as much to do with crawl order as it does with source authority. That is four different systems, not one, which is the same conclusion the 2026 AI citation study reached looking across a broader set of source types, and it is why the six link types AI engines trust breaks earned-media strategy down by engine instead of treating AI trust as one score. A GEO plan that says "get cited on Reddit" without naming which engine it is targeting is optimizing for Google's AI Overviews and actively wasting effort against OpenAI and Anthropic. Build per-engine plays, or do not bother measuring per-engine results.
What doesn't move the needle: a generative engine optimization guide myth check on schema and llms.txt
Two mechanics get recommended in nearly every GEO checklist published this year: add schema markup so engines understand your structured data, and publish an llms.txt file so crawlers know where your best content lives. Both are cheap, both are finishable in an afternoon, and both feel technical enough to satisfy a stakeholder who wants to see something shipped. Neither one is a citation lever. That is not a hedge, it is what happens when you trace how these mechanics actually interact with how language models are built and what the platforms that run them have said about their own products.
Start with schema. Mark Williams-Cook laid out the mechanical problem in a Substack post published May 28, 2026: most schema, including JSON-LD, lives inside a script tag, and the text-extraction tooling used to build large training datasets typically strips script tags out before the text ever reaches the model. The FineWeb dataset, one of the major open training corpora, uses a tool called trafilatura for exactly this extraction step, and trafilatura excludes script tags by design. Even in the cases where schema does survive into a training or retrieval pipeline, tokenization destroys the structural meaning that made it useful in the first place; the model sees a string of tokens, not a nested key-value object. Williams-Cook backed the claim with a direct experiment he called "DUCK YEA": he fed a model deliberately broken, nonsensical JSON-LD, and the model still returned the correct information, pulled from the plain visible text on the page. It was not reading the schema at all. Even Google's own AI Overviews sometimes contradict Google's own Business Profile data for the same business, despite Google owning both systems, which undercuts the idea that structured data reliably feeds an AI answer even inside the one stack built by the company that invented the format.
llms.txt fails for a different reason: the platform it was built for has said, on the record, that it does not use it. Per Search Engine Land's coverage on June 15, 2026, Google updated its own AI Search optimization guide to state plainly that Search "doesn't use" llms.txt, and that the file "won't harm (nor help)" rankings or AI Overviews visibility. That is not an independent researcher's inference, it is the platform saying so about its own system. It also lines up with what we found running our own numbers on the file, covered in whether llms.txt moves AI citations at all: no measurable citation lift across two independent studies covering a combined 337,894 domains.
“Google's AI Search optimization guide, per Search Engine Land, June 15, 2026: llms.txt "won't harm (nor help)" rankings or AI Overviews visibility.”
None of this means schema and llms.txt are harmful, or that you should rip them out. Valid schema still helps classic search understand entity relationships, and an llms.txt file costs nothing to leave in place. What changes is where they sit on your priority list. Treat them as hygiene, the kind of thing a competent technical audit checks off in an afternoon, not as the mechanism that gets you cited. The schema AI engines actually read goes deeper on which structured-data signals do survive into a model's view of a page, and the short version is the same one this chapter argues: it is the plain visible text, well-structured and clearly written, that does the work. Markup is not a shortcut around writing a page an engine can actually extract an answer from.
What to build instead: the generative engine optimization guide checklist
Three chapters in, the shape of the problem is clear. Engines retrieve against a fan-out of adjacent sub-questions, not your headline query. They apply their own, non-transferable trust filters to whatever they retrieve. And two of the mechanics most commonly sold as citation levers, schema and llms.txt, do not survive contact with how these models are actually built or what the platforms themselves say. None of that is a reason to give up on GEO. It is a reason to redirect the budget that was going toward markup and manifest files into the three things that show up, repeatedly, in the data on what actually earns a citation.
The first is comparison content. Our analysis of thousands of tracked AI citations found that comparison and alternatives content, head-to-head pages, best-of lists, alternatives roundups, earns 32.5% of AI citations, more than any other content format measured. The mechanism lines up cleanly with chapter one: a buyer's first real question is almost always some version of "what are my options," and a comparison page is naturally shaped to answer several of an engine's fan-out sub-queries at once, the best-for-X angle, the pricing angle, the alternatives angle, rather than just the single literal query a person typed. It is the same content format our content marketing service leads with for clients trying to move a mention-rate number, and it matters most in categories like B2B, where the buying group runs several separate evaluation questions before anyone signs.
The second is earned media. Muck Rack's data found that 82% of AI citations trace back to earned media placements rather than owned or paid content. That number should reset how a content team allocates its own time: publishing more owned pages is optimizing a channel that produces a minority of citations, while the coverage a PR function earns from journalists and reviewers an engine already trusts is doing most of the actual work. We saw exactly this pattern play out in our work with Zenity, where earned coverage on outlets an engine already trusted moved citation rate faster than any amount of additional owned content would have.
The third build is structural, and it is the connective tissue between the first two: content has to survive an engine's fan-out and its trust filter at the same time. The anatomy of an AI citation, referenced above, breaks that requirement into three buildable signals, and they hold up well against everything in chapters one through three.
Measure all three per engine, not as one blended number. Chapter two is the reason: a page can pick up citations on Google's AI Overviews from community corroboration while staying invisible to Anthropic, and a mention-rate dashboard that averages across engines will hide that split completely. Track mention rate and citation rank separately for OpenAI, Google, Anthropic, and Gemini on your priority query set, and the fan-out map from chapter one becomes the diagnostic tool: when a page underperforms on one engine specifically, check whether it is missing the sub-questions that engine's fan-out tends to generate, or whether it is a trust-filter problem specific to that platform. The two failure modes look identical on a blended chart and require completely different fixes.
None of this requires a rebuild. It requires redirecting effort that is currently going toward the two mechanics chapter three walked through. Here is where to start, in order.
Run the four moves in order and you will have covered the entire argument this guide makes: content built for the sub-questions an engine actually generates, not just the one it heard; effort spent on the trust filters and the media relationships that produce 82% of citations, not the markup that does not move any of them; and a measurement loop that tells you, engine by engine, whether it is working. That is the whole practice. Run it with discipline and it compounds the same way ranking always did, just against a different set of rules than the ones most teams are still optimizing for.
See where you are cited today
A free snapshot audit of your rankings and AI citations before we ever talk.
Tyler leads work at the intersection of SEO and generative engines at Something Inc., helping B2B brands get ranked and cited across every major AI engine.