ModelRefs / How AI Search Engines Actually Cite Developer Content

How AI Search Engines Actually Cite Developer Content

What actually gets developer content cited by ChatGPT, Perplexity and Google AI Overviews: the one controlled study, vendor data, and our own crawler fixes.

Getting cited is not the same problem as ranking

Traditional search optimisation targets a ranked list that a human scans and chooses from. An AI answer engine works differently. It retrieves a handful of sources, synthesises an answer, and then decides which of those sources to name.

The two outcomes come apart in practice. A page can rank first on Google and still never appear in an AI Overview. A page buried in the organic results can be quoted directly, if it holds the one sentence the model needed.

The citation data below puts a number on that gap. Of the Google AI Overview citations tracked in one 2026 synthesis, 93.67 percent linked to at least one page-one organic result. Only 4.5 percent matched a page-one URL directly. Ranking and being cited overlap heavily by domain, and barely at all by URL.

This matters because most generative engine optimisation advice is recycled search advice with AI branding. It has not been tested against the actual mechanism. Some of it is probably right, but very little of it has been checked.

The one controlled study that exists on this

In 2023, researchers from Princeton, Georgia Tech and the Allen Institute for AI published GEO: Generative Engine Optimization, the paper that coined the term. It was accepted to KDD 2024. It is the only study we could find that measures cause and effect here, rather than reporting a correlation in existing citation logs.

The method is straightforward. The authors built GEO-bench, a set of 10,000 queries drawn from nine datasets and split 8,000 train, 1,000 validation and 1,000 test. Each query was paired with the top five Google results. They then rewrote those source pages under nine different content strategies.

The headline metric is Position-Adjusted Word Count, which weights a citation by how early and prominently it appears in the answer. A second metric, Subjective Impression, scores relevance, influence and uniqueness. Here is Table 1 of the paper, where an unoptimised page scores 19.5.

Content strategyPosition-Adjusted Word CountChange vs. baseline (computed)
Quotation Addition27.8+42.6%
Statistics Addition25.9+32.8%
Fluency Optimization25.1+28.7%
Cite Sources24.9+27.7%
Technical Terms23.1+18.5%
Easy-to-Understand22.2+13.8%
Authoritative21.8+11.8%
Unique Words20.7+6.2%
Keyword Stuffing17.8−8.7%
Unoptimised baseline19.5n/a

The percentage column is computed, not quoted. The paper reports up to 40 percent in its abstract and 41 percent for its best methods in the text. It does not publish a per-strategy percentage table anywhere.

So the scores are the paper's, and the percentages are arithmetic against its stated baseline. They are labelled that way here for a reason. A number that looks quoted but is not is the exact failure this article is about.

On Perplexity the paper reports two separate figures. Position-Adjusted Word Count improved by up to 22 percent, and Subjective Impression by up to 37 percent. Those are different metrics, and the larger figure belongs to the softer one. A bare claim of 37 percent more visibility on Perplexity therefore overstates what was measured.

Four stated constraints travel with these numbers. GPT-3.5-turbo was both the engine under test and the judge scoring the subjective sub-metrics, so no human raters were involved in that half. The source material was the top five Google results per query and nothing deeper. One of the nine query sets was generated by GPT-4 rather than drawn from real users.

The fourth constraint is the largest of them. The engine tested is a 2023 system, not ChatGPT, Perplexity or AI Overviews as they run in 2026.

The practical takeaway: concrete, quotable, well-sourced writing is the one tactic with a controlled measurement behind it. Keyword stuffing is not merely old-fashioned here. It is the single strategy that scored below doing nothing at all.

Jakob Nielsen's widely read GEO guidelines survey a much longer list of tactics, and are refreshingly direct about their status. The piece calls them "only speculative strategies". That is the honest division of this field: one controlled study, and a great deal of reasonable conjecture.

What real citation data shows, and how to read it responsibly

Beyond that study, what exists is citation tracking published by GEO vendors who also sell AI-visibility monitoring. That is not disqualifying, but it does mean the data should be read as directional rather than precise.

One widely cited synthesis is 5W Public Relations, State of AI Citations 2026, published in May 2026. It compiles several vendors' tracked data and is unusually candid about its own limits.

The report states that AI citation patterns are volatile and current values may differ. It says it has not independently verified the methodologies it compiles, and it is published by a firm that sells the services it recommends. With all of that up front, its reported patterns:

  • ChatGPT leans heavily on Wikipedia, at a reported 47.9 percent of its top-ten source share.
  • Perplexity leans heavily on Reddit, at a reported 46.7 percent of its top-ten share.
  • Google AI Overviews draw about 43 percent of citations from Google-owned properties, YouTube included.
  • About 11 percent of domains are cited by both ChatGPT and Perplexity.
  • For AI Overviews, 93.67 percent of citations link to at least one page-one organic result, while only 4.5 percent match a page-one URL directly.

The most useful number in that report is not any single share. It is how fast those shares move. The report records Reddit's share of ChatGPT citations falling from roughly 60 percent to about 10 percent during mid-September 2025.

Semrush data in the same report shows Wikipedia dropping from about 55 percent of responses to under 20 percent in that same window. A tactic built on last quarter's citation-share leader is built on sand, which is the report's own point about itself.

What ModelRefs got wrong, and fixed

Here is the part that is ours, including the detail that makes the story less tidy than it first looked.

Bing Webmaster Tools recorded roughly 10,000 Copilot citations of this site across three months. That is more than ten times its web impressions over the same period. Those citations landed on only 26 pages, and four of them produced 85 percent of the total.

On two queries our citation share ran between 36 and 45 percent. Everything cited was either a curated roundup or a foundational explainer.

The defect sat in the prerenderer. One lookup injects an article's full HTML body into its static output, and that lookup was gated on a route classifier whose article branch matched only paths containing the string /best-.

Every registry article outside that naming convention fell back to a flattened prose summary instead. Nine /learn-ai explainers had complete body HTML written and sitting unused. Fixing the gate took them from four headings to eleven.

The uncomfortable detail is the one worth publishing. The pages already earning citations were the roundups, whose /best- naming happened to satisfy the classifier. The pages being flattened were the explainers, which were the other half of what Copilot cited.

We did not find this by noticing a traffic drop, because nothing looked wrong from the outside. The half that worked was the half the dashboards showed us.

A second instance of the same class turned up separately. Benchmark evidence records emitted their sources and access dates into the prerendered page, but dropped each source's stated-limitations note, and the evidence-gaps field rendered only in React.

Most AI assistants read the prerendered copy rather than executing JavaScript. So the surface this site exists to serve was receiving the confident half of every evidence record and none of the caveats.

The fix in both cases had the same shape. Compile the full, final HTML for every article at build time, rather than serving a shell that waits on client-side JavaScript. Then inject the metadata and JSON-LD structured data directly into that static output.

The lesson generalises beyond this site. No amount of quotation-adding or statistic-citing matters if the crawler never receives the content. Discoverability is the precondition under everything else here, and it fails without a symptom.

Two instances of this defect were open when this article was first published. One is now fixed, and how it was fixed is the more useful half of the story.

The first was the quick answer itself. The shared article layout renders it in a highlighted box, client-side only, so none of that text reached the prerendered HTML.

Thirty-seven articles passed a non-empty quick answer, and not one of those sentences appeared in the page a crawler received. That is the concise, extractable statement the controlled study rewarded above everything else, invisible to the engines it was written for.

The first attempt at a fix was wrong, and it is worth saying why. We set the prop to an empty string and wrote the quick answer into the body HTML instead, which did put it in front of crawlers.

It also rendered an empty labelled box to every human reader, because the box was unconditional and nobody had looked at the page. We had verified the served bytes and never opened the article, which is the same failure as trusting the component, pointed the other way.

The quick answer now lives in the article registry instead. The prerenderer reads it when it builds the static body, and the component reads it when it renders the box. One string reaches both, and the box renders only when an article actually has a quick answer.

The second instance is larger and still open. The same layout takes an internal-links prop and renders it as a Keep exploring section, also client-side only.

Across 40 articles those props carry 310 internal links, yet the Keep exploring heading appears in exactly one of 1,816 prerendered pages. That one article hand-writes it into its body HTML. Sampling five articles, 0 of 43 prop links were present in the page a crawler receives.

So the site has been maintaining an internal link graph that non-JavaScript crawlers cannot see at all. That matters because link-based discovery is how a crawler finds anything. An earlier audit here traced 968 discovered-but-never-crawled pages to missing hub links rather than to crawl budget.

The links this article and its companion depend on were written into body HTML by hand. The other 310 are unfixed, and prerendering them needs each article's link data to move into the registry, the way the quick answer just did.

We report both rather than quietly fixing one. An article about citation visibility that concealed its own open visibility bugs would be a strange thing to publish. Both were found the same way, and it is the only method this page really recommends: read what the server actually sent, then look at what the reader actually sees.

What this means for developer content specifically

Here is what transfers to technical content, drawing on the controlled research, the directional citation data and our own experience:

  • A crawlable, fully rendered page is the precondition, not a tactic. Check what a non-JavaScript fetch returns before optimising anything else, and read the served bytes rather than the component meant to produce them.
  • Write the extractable claim, not just the supporting paragraph. The largest measured lever was adding genuine quotable statements. For developers that means a precise standalone claim, such as V-JEPA 2 reporting 65 to 80 percent pick-and-place success on unseen objects. See what world models are for where that figure comes from.
  • Cite your sources inside the content, not only at the bottom. The Cite Sources condition scored 24.9 against a 19.5 baseline on its own, independent of writing quality, so the citation itself appears to carry weight.
  • Treat structured data as hygiene, not a growth lever. Google states no special markup is needed for AI Overviews, and no source we reviewed shows schema increasing citations. The guide to structured data for technical content sets out what each engine actually says.
  • Technical precision outscored simplification. Technical Terms reached 23.1 and Easy-to-Understand reached 22.2, so using correct and specific terminology is not in tension with citation visibility.
  • Do not keyword-stuff, and do not treat vendor percentages as targets. Keyword stuffing is the one strategy measured below baseline, and the citation shares above moved by 40 percentage points in a single month.
  • Re-check your crawler visibility periodically, not once. Ours broke on pages that were already being cited, and it stayed broken because the pages that failed were not the pages anyone was watching.

Sources

Aggarwal, Murahari, Rajpurohit, Kalyan, Narasimhan and Deshpande, GEO: Generative Engine Optimization (arXiv, accepted to KDD 2024). This is the only controlled measurement we found of specific content changes and their effect on AI-answer citation visibility, accessed 17 Oct 2026.

5W Public Relations, The State of AI Citations 2026 (published May 2026). Vendor-synthesised citation-share data, used here for directional patterns and volatility only, and flagged as unverified per the report's own stated limitations, accessed 17 Oct 2026.

Jakob Nielsen, GEO Guidelines (July 2025). Surveyed for the range of GEO tactics in circulation, and for its own characterisation of them as speculative, accessed 17 Oct 2026.

Methodology: the only causal claims here are the Position-Adjusted Word Count scores from the single controlled study available, reported as the paper's own scores. Any percentage change is marked as computed against its stated baseline. All citation-share figures are attributed to vendor-synthesised research and flagged as directional and time-sensitive. The crawler-visibility account is our own first-hand finding, taken from the commit history and the built artifact rather than from a dashboard.

Frequently asked questions

Is there any real evidence for GEO tactics, or is it all speculation?

There is one controlled study: the 2023 Princeton, Georgia Tech and Allen Institute for AI paper that coined the term GEO, accepted to KDD 2024, which measured nine content-rewriting strategies against a 10,000-query benchmark. Beyond that, most circulating advice is pattern-matching against citation logs from GEO-monitoring vendors, which is directional rather than causal evidence.

What scored highest in the controlled study?

Adding direct, quotable statements. It reached 27.8 on the study's Position-Adjusted Word Count metric against an unoptimised baseline of 19.5, the highest of the nine strategies tested. The paper reports a headline improvement of up to 40 percent in its abstract and 41 percent for its best methods in the text; it does not publish a percentage for each individual strategy.

Does keyword stuffing help with AI search visibility?

No. It was the only strategy of the nine measured below the unoptimised baseline, scoring 17.8 against 19.5. It is not merely ineffective here; it scored worse than making no change at all.

Does structured data such as FAQPage markup guarantee AI citation?

No credible source we reviewed, including Google's own public documentation, states that structured data guarantees inclusion in an AI answer or AI Overview. It is widely recommended for making content machine-parseable, but the causal link to AI citation specifically is asserted far more often than it is demonstrated.

Why would a page that is already getting AI citations still have a visibility problem?

In our case the problem was the reverse of what we expected. The pages earning Copilot citations were the ones whose URL naming happened to satisfy a route classifier in our prerenderer, so they served their full body. The explainers, which were the other half of what Copilot cited, matched no such pattern and were served a flattened summary instead. Nothing looked wrong from outside, because the half that worked was the half the dashboards showed us.