· via dev.to (home feed)
Perplexity averages 16.7 citations per answer; ChatGPT 1.6, study finds
A dev.to study asked ChatGPT, Perplexity and Google AI Mode the same 47 buying questions and counted every citation; the three engines treat publisher sites very differently.

The experiment
A study published on dev.to asked the same 47 buying questions to ChatGPT, Perplexity and Google AI Mode on a single day, then classified every citation across the resulting 141 answers. Rather than ranking the assistants on answer quality, the author focused on how each behaves as a client of a website: how many sources it pulls in, what kind of sites it prefers, and what a publisher has to do to show up in its output.
The citation gap
The headline numbers diverge sharply. According to the post, Perplexity averaged 16.7 citations per answer, Google AI Mode 3.7 and ChatGPT 1.6. Counting only links to provider websites, Perplexity produced 667 across its 47 answers, while ChatGPT produced 47 — almost exactly one per answer.
The author frames that gap as the practical takeaway. With Perplexity, a page is genuinely in contention, because the engine reads widely and cites much of what it read. With ChatGPT, at roughly one cited site per answer, selection appears to happen before the page is ever fetched, and on-page improvements cannot change a shortlist the page was never on. Google AI Mode falls between the two.
A misleading signal from Google Maps
ChatGPT linked to Google Maps in 23 of its 47 answers, which could be read as an argument for maintaining a verified business listing. The author checked the actual URLs and found otherwise: all 507 Maps links were constructed search queries of the form google.com/maps/search/ followed by a business name and city, and none pointed to a real /maps/place/ listing. The pattern suggests the model finds the business through ordinary web search and then renders a map link as a convenience for the user. The broader lesson is methodological: inspect the shape of a link before drawing conclusions from its hostname.
Structured data that never reaches the crawler
While verifying the author's own site, the study hit on an implementation detail with wide relevance. JSON-LD rendered through Next.js's next/script component does not appear in the server-delivered HTML at all, even with strategy="beforeInteractive"; the content is queued into self.__next_s and injected after hydration. Google's crawler executes JavaScript and picks the data up eventually, but most fetchers behind assistant answers do not. On one page, a FAQPage block emitted through a plain script tag was visible in curl output, while a BlogPosting block emitted through next/script on the same page was absent.
The fix is small: emit structured data with a plain script type="application/ld+" tag plus suppressHydrationWarning. Whether structured data exists for non-JavaScript readers hinges on that one-line difference, according to the post.
Search results and assistant answers disagree
The channel mix also splits. Google's results pages for these commercial queries were roughly half listicles and half agency landing pages, while assistant answers on the same questions leaned on video, professional networks, forums and established publishers. Work that improves visibility in one channel does not necessarily move the other. The post is candid about its limits — 47 questions on one day is a small sample — and points to a separate write-up on the author's own site for the full methodology, tables and caveats.
Why it matters
If assistants become a meaningful discovery channel, publishers cannot treat AI visibility as a single target. Perplexity rewards sites that can be read and compared across many sources; ChatGPT's bottleneck sits upstream of any page fetch; Google AI Mode sits in between. Two concrete actions follow from the study. First, structured data and other crawlable content must live in the server HTML rather than behind client-side hydration, or most assistant fetchers will never see it. Second, teams analysing citation and referral patterns should verify what the links actually are — as the Google Maps case shows, a plausible-looking signal can point optimisation effort in exactly the wrong direction.
- #ai-search
- #citations
- #seo
- #chatgpt
- #perplexity
- #structured-data