Claude and ChatGPT Agree on Only 11% of the Domains They Cite for SEO Agency Queries
Across 208 citation probes, Claude and ChatGPT together cited 317 distinct domains for SEO agency questions, and only 36 of them (11.4%) appeared in both engines. Their top ten lists shared exactly one domain, firstpagesage.com.
If you have been treating "get cited by AI" as a single target, this is the number to sit with. A brand that shows up reliably in one engine can be close to invisible in the other, and the reasons look structural rather than random.
The headline numbers
OnyxRank runs a citation tracker that asks AI engines buyer style questions and logs every URL each answer names. This post uses the full log as it stands: 208 probes, 10 queries, 30 distinct prompts, run between May 7 and June 1, 2026 (26 days). Claude handled 150 probes and ChatGPT handled 58.
| Measure | Claude | ChatGPT |
|---|
|---|---|---|
| Probes | 150 | 58 |
|---|---|---|
| URLs cited | 868 | 340 |
| Distinct URLs | 429 | 218 |
| Distinct domains | 235 | 118 |
| Average URLs per answer | 5.79 | 5.86 |
| Domains cited only once | 123 (52.3%) | 69 (58.5%) |
| Probes citing firstpagesage.com | 40 (26.7%) | 8 (13.8%) |
| Most cited domain (share of probes) | firstpagesage.com, 26.7% | omnius.so, 22.4% |
The two engines behave alike in one respect: both name close to six URLs per answer. Everything after that diverges.
Two different citation habits
Claude's favorites are agency listicles. Its top four domains by share of probes were firstpagesage.com (26.7%), onely.com (23.3%), thriveagency.com (16.7%) and revvgrowth.com (14.7%). The single most cited URL in the whole Claude log, a "best AI SEO agencies" roundup on onely.com, appeared 28 times.
ChatGPT's favorites are agency homepages and service pages. Its leaders were omnius.so (22.4%), victorious.com (19.0%), terakeet.com (17.2%), then firstpagesage.com and bigeyeagency.com (13.8% each). Its most cited URLs were single service pages, such as terakeet.com/generative-ai-optimization, cited 9 times.
To put a rough number on that difference, I flagged URLs whose path contains listicle markers such as "best", "top", "vs", "alternatives" or "agencies". That heuristic caught 409 of Claude's 868 URLs (47.1%) but only 14 of ChatGPT's 340 (4.1%). The regex is crude and will misclassify some URLs, so read the gap as directional. It is large enough that a crude filter does not erase it.
There is also a split in reference material. ChatGPT cited developers.google.com 14 times against Claude's 1. Claude leaned on Semrush (12 URLs against 2) and Search Engine Land (7 against 3). Ahrefs was cited by both (7 and 10). If your content strategy leans on being quoted alongside primary documentation, such as [Google's own guidance on AI features in Search](https://developers.google.com/search/docs/appearance/ai-features), the ChatGPT numbers are the more encouraging ones.
Overlap, query by query
The overall 11.4% could be an artifact of pooling, so here is the same comparison per query. The last column counts domains that both engines cited for that query.
| Query | Claude probes | ChatGPT probes | Claude domains | ChatGPT domains | Shared |
|---|
|---|---|---|---|---|---|
| GEO optimization service | 15 | 15 | 49 | 48 | 9 |
|---|---|---|---|---|---|
| best AI SEO agency | 15 | 15 | 37 | 44 | 4 |
| LLM SEO services | 15 | 7 | 49 | 32 | 1 |
| best SEO agency 2026 | 15 | 3 | 48 | 10 | 4 |
| ecommerce SEO agency | 15 | 3 | 36 | 9 | 5 |
| SaaS SEO agency | 15 | 3 | 41 | 12 | 3 |
| SEO agency vs in house | 15 | 3 | 35 | 7 | 3 |
| programmatic SEO service | 15 | 3 | 33 | 10 | 2 |
| SEO agency pricing | 15 | 3 | 22 | 9 | 4 |
| what is an AI SEO service | 15 | 3 | 34 | 7 | 1 |
Only the two queries where both engines ran 15 probes are a fair like for like comparison. There, "GEO optimization service" produced 49 Claude domains and 48 ChatGPT domains with 9 shared, and "best AI SEO agency" produced 37 and 44 with 4 shared. Even with equal effort, the engines mostly named different sites. For the queries where ChatGPT ran only 3 probes, its domain counts are small partly because of the small sample, so I would not read much into those rows beyond the direction.
Of the 118 domains ChatGPT cited, 30.5% also appeared in Claude's list. Of Claude's 235, only 15.3% appeared in ChatGPT's. Claude simply names more sites, and most of them are ones ChatGPT never surfaced.
A long tail dominates
More than half of all domains in each engine appeared in exactly one probe: 123 of 235 for Claude and 69 of 118 for ChatGPT. Citation share in these answers is not a winner take all market. A few domains repeat, and a large tail of sites gets named once and disappears.
This fits what the academic literature on generative engines suggests. The [GEO paper by Aggarwal and colleagues](https://arxiv.org/abs/2311.09735) found that the effect of optimization methods varies by domain and query type, which is consistent with citation sets that shift from one prompt to the next. Our data cannot test their methods, but it does show the instability in the wild.
Where OnyxRank landed
This is our own tracker, so it is fair to report our own result. OnyxRank URLs appeared in 5 of 150 Claude probes (3.3%) and in 0 of 58 ChatGPT probes, for 10 cited onyxrank.com URLs in total. Being absent from the ChatGPT sample is consistent with the wider picture: winning citations in one engine did not transfer to the other for any domain we can see in the top lists. Semrush's research on [AI search visitors](https://www.semrush.com/blog/ai-search-seo-traffic-study/) argues that this channel is growing, which is a reason to measure per engine rather than assume one result covers all.
What this means for anyone tracking AI visibility
Three practical points follow directly from the numbers, and none of them requires believing anything beyond the log.
1. Track each engine separately. A blended "AI visibility" score would have hidden an 11.4% overlap.
2. Know the format each engine rewards. In this sample Claude favored roundup pages and ChatGPT favored vendor service pages. Being included in third party roundups is one route to Claude, and a strong service page is one route to ChatGPT.
3. Do not read one probe as a ranking. With half the domains appearing once, a single answer is closer to a draw from a distribution than a position on a list.
Methodology
- **Source:** OnyxRank's citation tracker log, `citation-log.jsonl`. Every probe the tracker has run is included. Nothing was filtered out or sampled.
- **Date range:** May 7 to June 1, 2026 (26 days). The log has no probes after June 1, so this is a snapshot from late spring, published later.
- **Probes:** 208 total. Claude 150, ChatGPT 58. Ten queries, 30 distinct prompts. Perplexity is supported by the tracker but has no entries in this log, so it is not part of the analysis.
- **How the probes ran:** the "claude" engine is the Claude Haiku model called through the Claude command line tool with only the WebFetch tool allowed. The "chatgpt" engine is OpenAI's Codex command line tool. Neither is the consumer chat product, and neither necessarily behaves like a user session with search switched on.
- **Prompting:** each engine received a buyer question plus an instruction to answer in 4 to 8 sentences, include full URLs inline, and end with a "Sources:" line.
- **Definition of "cited":** a URL that appears in the answer text, parsed with a regular expression. The engine may have recalled it from training data rather than retrieved it, and we did not check that each URL resolves. Domain names are lowercased with "www." removed. Subdomains were not merged.
- **Shares:** "share of probes" counts a domain once per probe, however many of its URLs were named.
- **Overlap:** the count of domains appearing in both engines' lists divided by the union (36 of 317).
Limitations: the engines have unequal sample sizes (150 against 58, and only 3 probes for seven of the ten queries on the ChatGPT side). The query set is narrow and specific to SEO agency buying. The 26 day window is short. Results describe these two command line configurations, not every product version. The listicle share uses a URL keyword heuristic. Small differences in the tables should not be over read.
Script output the numbers come from (abridged from the run):
```
probes 208 range 2026-05-07 2026-06-01
claude probes 150 urls 868 distinct urls 429 distinct domains 235
chatgpt probes 58 urls 340 distinct urls 218 distinct domains 118
listicle-style urls: claude 409 (47.1%), chatgpt 14 (4.1%)
union 317 shared 36 jaccard 0.114 claude-only 199 chatgpt-only 82
top10 overlap {'firstpagesage.com'}
onyxrank probes citing: claude 5, chatgpt 0
```
Data
This is OnyxRank's own tracking data, not a third party dataset. The per probe records (timestamp, engine, query, prompt, cited URLs) can be requested as a CSV by emailing [email protected].
If you want to run comparable checks on your own queries, the tools at [onyxrank.com/tools](https://onyxrank.com/tools) are a starting point.
Pro Intel subscribers get the full picture - proprietary analysis, keyword opportunities, tactical playbooks, and template downloads every week. $49/mo.
One email per week. Actionable, no fluff.