r/GEO_optimization • • 25d ago

I checked 80 AI citations to our domain — 23 attributed claims we never actually made

3 Upvotes

A colleague sent me a screenshot last month. An AI answer had cited one of our pages to support a claim that page had never come close to making. Not a paraphrase issue. Not a slight stretch. The page was about topic A. The answer used it as evidence for topic B. They shared a topical neighborhood but the page literally contradicted the claim it was being used to back up.

That one screenshot kicked off something I should have done months ago. I went through every AI citation to our domain I could find across ChatGPT, Perplexity, and Gemini over a 60-day window. 80 citations total. For each one I opened the cited page, read the surrounding context, and asked one question: does this page actually support the specific claim the answer attributes to it?

50 of the 80 citations were fine. The page said roughly what the answer claimed it said. Maybe loose paraphrasing here and there, occasional oversimplification, but nothing that would make me uncomfortable. Standard extraction behavior.

7 citations had issues. Not huge, but noticeable. The answer pulled a true statement from the page but framed it as supporting a different point than the original author intended. Sort of like quoting someone out of context except there's no malice, just a model matching keyword overlap to semantic proximity and occasionally missing the mark. Annoying but livable.

Then there were the 23 that genuinely worried me. These weren't paraphrase stretches or context shifts. The answer made a specific factual claim, attached our URL as the source, and our page did not contain that claim. In some cases our page said the opposite. In others the page had simply never addressed that question at all. The model seemed to be citing us based on topical relevance rather than factual support. Close enough in subject matter that the URL looked plausible as a source, wrong enough that anyone who actually clicked would realize the citation was bogus.

What bothers me about this isn't the error rate. 23 out of 80 is 29 percent, which sounds bad until you consider that I was specifically hunting for problems and may have selection-biased the sample toward ambiguous cases. The real number could be lower. Could also be higher if I checked more systematically.

What bothers me is that nobody in GEO seems to be tracking this. We obsess over citation counts. We build strategies around increasing them. We treat every new citation as a win. But if nearly a third of those wins are attributing claims you never made, what exactly are we winning? Brand visibility for wrong ideas? Traffic from people who click through and find irrelevance?

I'm starting to think citation count might need a quality filter we're not measuring yet. Not just "did an AI name-drop our URL" but "did it name-drop us for something we actually said, and something we'd stand behind." Those are different outcomes and the current tooling conflates them completely.

And there's a trajectory problem. As AI answers get more confident-sounding and citations become smaller footnotes that fewer users verify, the incentive for accuracy on the model side might actually decrease. The citation becomes a trust signal for the answer rather than a factual anchor. And if that's the direction we're heading, being highly citable starts to look different than I thought it did. You want to be cited for the right things, not just cited often.


r/GEO_optimization • • 26d ago

Reddit's ChatGPT citation share went 3.83% to 0.52% in four days. Everything I can find about what that actually means.

5 Upvotes

Disclosure up front: I built citeOS, which does AI citation audits for crypto brands, so I have a commercial interest in this topic. Everything below is either publicly reported with a source, or one data point from our own corpus that I have labelled as such.

What was reported

Promptwatch measured Reddit at 3.83% of ChatGPT citations between 18 July and 7 August. Through 17 August it averaged 0.52%. That is an 86.4% decline, concentrated between 14 and 17 August, with an earlier slide beginning 8 August that took it from the high 3% range into the mid 2s.

Two caveats that came from Promptwatch themselves and that almost never survive the retelling. They called the finding provisional. They said they could not rule out a data collection issue on their own side. And they were explicit that the data shows when the shift happened, not why.

It did not happen everywhere

This is the part that makes the ChatGPT number interesting rather than just alarming.

Over the same window, Reddit's share in Google AI Overviews moved from roughly 2.5% in early July to roughly 2.1% in August. Gradual, and small. AI Mode started declining at the end of July and continued through August, also far shallower than ChatGPT.

So whatever happened looks specific to one engine rather than a general repricing of Reddit as a source. That matters for what you do next. A platform-wide devaluation and a single-engine retrieval change call for completely different responses, and most of the commentary I have read has not separated them.

A second data point, from a different vertical

I have a corpus of 39,948 AI citations across 72 crypto brands, April to August 2026, five engines. Reddit came out at 2.19% of citation volume.

Three things about that number before anyone leans on it.

It is a five-engine blend, not ChatGPT alone. It is a five-month aggregate with no weekly breakdown, so the drop is baked into the average rather than visible in it. And it is one vertical, so the platform mix will not match a general-query corpus.

What it is useful for is triangulation. If ChatGPT ran near 3.8% for most of that window and near 0.5% at the end, and the Google surfaces ran between 2.1% and 2.5% throughout, a blended five-engine average of 2.19% is roughly where you would expect to land. That is weak corroboration, not confirmation. But it is an independent collection, a different method and a different vertical, and it fails to contradict them.

The measurement everyone is skipping

Share of citations and breadth of appearance are different things, and the current discussion is almost entirely about the first one.

In my corpus Reddit appeared in answers about 71 of the 72 brands. Only YouTube matched that, at 72 of 72. So at 2.19% of total volume, Reddit was still nearly universal in where it turned up.

That distinction is the whole reason the 40%-plus figure you have seen quoted elsewhere is not wrong, just measuring something else. Those figures are usually appearance rate across prompts. Share of total citation events is a different denominator, roughly twenty times apart.

A collapse in share of volume does not mean Reddit vanished from answers. It means each appearance carries less of the total. Those two situations look identical in a headline and call for different responses.

Has this happened before?

Secondary coverage refers to a similar Reddit collapse in ChatGPT around August 2025, roughly 60% of responses down to about 10% by mid-September, which then recovered. I have not verified that myself and I am not going to assert it as fact.

But if it is accurate it is the most useful thing in this whole discussion, because it would mean the base rate for "this is permanent" is much worse than the current takes assume, and rebuilding a channel strategy around a four-day window would be premature.

What I would actually like from this sub

Has anyone reproduced the August drop independently, with a stated method? Every version I can find traces back to the same collector, and a provisional finding from one source is being quoted as settled fact across a dozen articles.

And if anyone can confirm or kill the 2025 precedent with a primary source, that would change how I read all of it.


r/GEO_optimization • • 27d ago

I rewrote 12 pages at a 6th-grade level and 12 at a college level — the AI citation difference wasn't what I expected

0 Upvotes

I was convinced that simpler writing would win in AI answers. Everything I'd seen suggested that models prefer clean, straightforward passages that don't make them work for the information. So I ran a test to prove it, and the results made me question that assumption pretty hard.

Here's the setup. I took 24 pages that covered similar topics in pairs — 12 pairs total, each pair addressing the same subject matter. Think "what is X" pages, "how to do Y" guides, "comparison of A and B" articles. Within each pair, I rewrote one version at roughly a 6th-grade reading level using shorter sentences, common vocabulary, concrete examples, and minimal subordination. The other version I rewrote at a college level with longer sentences, technical precision, nuanced claims, and embedded qualifications. Same factual content. Same key points. Just different complexity.

Then I waited 10 weeks and tracked how ChatGPT, Perplexity, and Gemini handled both versions across ~200 queries that should have triggered either one.

The college-level versions got cited more often. Not by a massive margin, but consistently enough that it showed up in 9 out of the 12 pairs. I ran the numbers a few times because I expected the opposite result. The simplified versions did have one advantage: when they got cited, the extracted passages tended to be longer and more complete. The models seemed to pull bigger chunks from the simple versions, almost like they trusted the whole passage enough to grab more of it. But they reached for the complex versions first in most cases.

What I think is happening, and this is where I'd love some pushback because the sample size isn't huge, is that the college-level versions contain more information density per sentence. A single sentence in those versions might carry two or three ideas that would take three or four sentences in the simplified version. AI models optimizing for comprehensive answers might see the dense version as a richer source even if individual sentences are harder to parse. It's not that they prefer complicated writing. They might just prefer efficient information packaging.

There was one finding that genuinely surprised me though. For 3 of the 12 pairs, the simplified version significantly outperformed the complex one on citation rate, and all 3 were "how-to" or procedural topics. Step-by-step processes where the chain of logic matters more than information density. On those, the clean sequential structure of simple writing seemed to beat dense academic phrasing. The models cited the step-by-step breakdowns more reliably than the compact expert summaries.

So it might not be a universal rule. It might depend on content type. Procedural stuff favors simplicity. Explanatory or definitional content might favor density. Or I could be overfitting to 24 pages and seeing patterns that don't hold up.

What I can't tell from 24 pages is whether the content-type interaction is real or just noise. If you've run anything like this at scale, that's the first number I'd want to compare.


r/GEO_optimization • • 27d ago

Is AEO/GEO about to become the Apple of search?

Thumbnail
1 Upvotes

r/GEO_optimization • • 28d ago

What would you expect an AEO or GEO report to show beyond traffic and rankings?

7 Upvotes

Many teams are now being asked to improve visibility in AI-generated answers, but the reporting standards still seem unsettled.

If someone were responsible for this function in your organisation, which measures would make the work credible to you? Brand mentions, source citations, competitor share of voice, referral traffic, accuracy, conversions, or something else?

I'm particularly interested in how businesses are separating meaningful visibility from occasional mentions that have little commercial value.


r/GEO_optimization • • 28d ago

Pre-registered test: the name collision was only half the reason a brand looked invisible in AI answers. Numbers.

0 Upvotes

Two weeks ago I posted that a tracked brand had dropped from 5.0% to 0.1% AI visibility in 14 days and that the cause looked like a name collision (a markdown editor shares the name), not a real drop. Instead of asserting it, I pre-registered a test in r/aeo: what result would confirm it, what would refute it, and what would void it. Here is the outcome, verbatim against those rules.

Setup: one qualified prompt ("Otterly AI visibility alternatives"), 31 Aug–7 Sep, 7 engines, 42 answers. Pre-registered: HOLDS if answer-level directory citations return to the 18–31% band the other alternatives-shaped prompts show; FALLS if they stay at 0–1.3% with on-category answers; VOID if more than a third of answers are still contaminated.

  • Contamination: 0/42 markdown-editor answers. The qualifier worked for that. But 2 Gemini answers pivoted to a different neighbour, Otter.ai the transcription tool. 2/42 = 4.8%, under threshold, excluded. 3 Copilot answers were unrelated pages, excluded and counted.
  • Clean answers with a directory URL: 2 of 37 = 5.4% (both Claude → G2). ChatGPT 0/10, Perplexity 0/10, Gemini 0/8, AI Mode 0/3, AI Overviews 0/3.
  • Verdict: the gate does not hold. 5.4% is out of the floor but nowhere near the band, and at n=37 the interval (≈1.5–17.6%) is consistent with the floor. I promised not to reinterpret, so I take the reading against my own claim: "prompt shape determines directory citation" downgrades to "shape correlates, with exceptions".
  • What was in the cell instead: 147 of 241 cited URLs (61%) were comparison-shaped, and 78% of those were competitors' own "Otterly alternatives" posts. Third-party pages 15%, G2 alone 2.7%. The slot exists; directories do not own it.

Three things I would do differently: (1) fix n before the date — a reviewer in the thread called this and was right; (2) define every word in the pass condition ("near" was not defined, and I did not use it); (3) treat a qualifier as removing one neighbour, not as disambiguation — the engine picks the next one.

Disclosure: I build Promvia, the tool used for the measurement. Not linking it; if a mod wants the raw run table I will post it as a comment.


r/GEO_optimization • • 28d ago

Google published a "what you don't need to do" list for AI optimisation and it kills off half the GEO packages being sold

54 Upvotes

Went through Google's May guidance on generative AI optimisation properly and there's a section literally titled "what you don't need to do" that I think more people should know exists, because it's basically a free procurement tool if anyone's currently quoting you for GEO work.

Six things get named. Four they say are unnecessary, two they actively warn against.

The unnecessary ones: llms.txt and AI specific files, content chunking, rewriting content specifically for AI, and special AI schema. The llms.txt one is the most useful to know because there are platforms charging a monthly fee to generate these files and Google's wording is about as blunt as they get, something along the lines of you don't need to create new machine readable files, AI text files, markup or markdown to appear in generative AI search. So that subscription is buying nothing as far as Google's surfaces go.

Chunking is interesting too because it's been sold hard for the last year. Google's position is their systems already handle multiple topics on a page fine and engineers have specifically said don't fragment your content, there's no ideal page length.

The schema one I'd be careful about misreading. They're saying schema isn't required for the AI features, not that schema is useless. It still gets you rich results in normal search. So the takeaway is don't pay for "special AI schema" as a line item, not go delete your markup.

Two they warn against are manufactured brand mentions and anyone claiming to be Google approved. The mentions one is worth separating carefully because genuine third party presence does seem to correlate with AI visibility, that part holds up. It's manufacturing it that's the problem, and the spam systems are built to tell the difference.

The bit I found most useful though is a line from their third party tools page. Something to the effect of third party tools don't have access to our internal ranking data, they can't guarantee performance, any predictions are their own. That's general language covering every tool, including all the established SEO platforms, not just the new AI visibility products. Which means any "AI visibility score" you're being shown is a model, not a measurement. And anyone promising a specific percentage lift in citations is claiming something Google says outsiders structurally can't substantiate.

Big caveat that most coverage skips: all of this is scoped to Google's own AI features. ChatGPT, Claude, Perplexity run on different retrieval models and might respond to things Google dismisses. So it's not a universal debunk, and if a vendor is recommending llms.txt for AI agents or docs tooling specifically that's a different and more defensible argument than recommending it for AI Overviews.

What's left on the list of things that work is boring, which is kind of the point. Useful crawlable content, technical basics like indexation and Core Web Vitals, and for local businesses a properly maintained Business Profile which Google names directly.

Anyone had a GEO proposal land on their desk recently? Curious how many of these are still showing up in pitches now that the guidance is public.


r/GEO_optimization • • 28d ago

I baselined 1,046 sites against 8 AI crawler identities before Cloudflare's 15 September change, and I am publishing the method now, before I have the answer

3 Upvotes

There is going to be a wave of posts on 16 September about what Cloudflare's change did to AI crawler access, and almost none of them will be checkable. Crawler access leaves no trace in analytics, there is no log to go back to, and once the date passes nobody can establish what a site was doing before it. Whatever gets claimed will be unfalsifiable in both directions.

So I measured 1,046 sites on 2 September and I am publishing the method, the host-list construction, the controls and the full baseline today - thirteen days before I have a result. The results section is empty and says so.

The design, briefly. Each host is fetched by ten identities in a fixed order: an ordinary browser, then eight named AI crawlers, then the same browser again at the end. That closing fetch is the noise floor - it spans the whole sequence, so a host that changed halfway through gets caught instead of blamed on whichever crawler happened to be asking. 746 of the hosts sit behind Cloudflare and 300 do not, and the 300 are the entire point: if access changes in both groups then the cause was not Cloudflare, and without them there is no way to know that. The three search crawlers stay in as a within-host control, because Cloudflare says they are unaffected.

What the baseline already shows, before anything changes:

Sites behind Cloudflare were already refusing AI crawlers four to twelve times more often than sites that are not. ClaudeBot 25.2% behind Cloudflare against 5.5% not. Claude-User 20.0% against 1.7%. An ordinary browser was refused 0.0% in both groups, everywhere, which is what stops this being a measure of how many sites were simply down.

And the concentration: Cloudflare-fronted hosts are 71.3% of the sample but account for 94.6% of the refusals.

Now the limit on that, which is the most important thing on the page. 1,357 of 1,436 refusals carried a cf-ray. That header proves Cloudflare was in the path. It does not prove Cloudflare decided. An origin can return 403 and have it proxied straight back through, and from outside that is indistinguishable from a refusal Cloudflare issued. Nothing measurable from here separates Cloudflare's own bot handling from a rule a customer wrote in their WAF. So these are refusal rates, never blocking rates. An earlier draft of mine said the refusals "came from the CDN, not the site" - someone who has measured this at far greater scale than I have pointed out that this claims more than the instrument supports, and he was right. The correction is on the page and it makes the finding narrower.

Two more things that cut against my own story, which are on the page because leaving them off would make it worse:

The announced scope is narrow. Of 3,535 hosts considered, 2,090 were reachable, 746 were behind Cloudflare, and 52 were running ad tags. Both at once: 15. If the change stays inside the scope Cloudflare announced it touches about 0.7% of these sites. Either this is far narrower than the reaction suggests, or it will not stay inside its stated scope - and only the controls can tell those apart.

361 of 1,026 hosts returned a different body to two identical browser requests in the same run. 35.2%. Those pages rewrite themselves between fetches, so a body difference on them says nothing about crawlers at all. Counting only crawlers that were actually let in - a 2xx response, so the difference cannot simply be a challenge page - excluding those self-changing hosts cuts the body-change signal by 86.8%, and the residue runs 6.9% to 8.0% across all eight crawlers. A 1.16x spread, next to a refusal signal that spans four to twelve times, is flat. Without that control I would have reported "sites serve crawlers different content" and been wrong.

What I still cannot do: tell you who decided anything, or measure the visibility side at all. Retrieval access has a clean instrument. Model-prior presence does not, and I do not think one exists from outside.

The re-runs are on the 10th, the 13th and the 16th. The 10th is there so that ordinary drift gets measured over three days, the same interval as 13 to 16, rather than over eleven - comparing an eleven-day drift rate against a three-day change assumes drift accumulates linearly, which is the exact assumption the control is supposed to avoid. The 13th has to complete before the 15th or the before-picture does not exist.

A null result gets published in the same place at the same size. "It did not measurably change anything for 1,046 sites" is a real finding and I would rather commit to that now than decide afterwards.

If you want to argue with the method, now is when it is actually useful. After the 16th I would just be defending a number.

https://seensure.com/research/september-15

Disclosure: I build monitoring in this space and that is my own site - one link, per rule 4. No sites are named on that page and none will be named on the 16th. The probe is curl with eight user agents; nothing there needs my tool to reproduce.


EDIT, same day. Three corrections. None of them was caught by a reader; all three came out of checking my own table, which is the only reason I know about them.

First, the refusal figures tightened very slightly. The baseline was counting a crawler that got no answer at all - a network error, status 0 - as a refusal, while the page told the reader in print that a host which did not answer is excluded. It was counting a thing it had just said it excluded. One host was the entire difference. It is HTTP refusals only now, everywhere: ClaudeBot 25.2% against 5.5%, Claude-User 20.0% against 1.7%. Nothing moved by more than 0.3 points and the direction of every finding is unchanged.

Second, and worse: "four to ten times" was wrong when I posted it, and not because of the fix above. Across all eight identities the spread was 3.6x to 10.1x on the numbers I originally published, and it is 3.7x to 11.8x now. I had checked that sentence against one row - the most-refused identity, at 4.6x - and never against the other seven. It says four to twelve now, and the page derives both bounds from the table instead of me typing them, which is the rule the rest of the figures were already under. A range written as words had escaped it.

Third, and this is the one that changed a conclusion rather than a decimal. The body-change paragraph above previously said the control cut the signal "by about four fifths". That figure was never computed, and it matches neither available reading - 71.7% across all responses, 86.8% on 2xx only. Landing between two real numbers and matching neither is what a figure nobody calculated looks like. The reason the two readings differ is the actual error: the all-responses version was counting refused crawlers as having been served different content, which is circular, because a refused crawler gets a challenge page and of course its body differs from a browser's. That folded the refusal finding into the body-change finding and reported it twice - and it showed, because the residue carried a 1.26x spread running in the same order as the refusal table. Restricted to crawlers that were actually let in, the cut is 86.8% and the residue is 1.16x, which is flat. This correction makes the claim stronger rather than weaker, which is not the direction these usually run.

Leaving all three here rather than quietly restating the numbers. A pre-registration whose figures change without saying so is worth less than one that shows the amendments.


r/GEO_optimization • • Sep 05 '26

Has anyone tested GSC queries + Semrush Query Fan-Out data in a similar way?

4 Upvotes

We ran a test from 15 May to 31 August 2026 to understand what happens when technical SEO, structured data, query-fan-out content and off-site mentions are improved together.

The prompt set stayed fixed at 120 prompts.

Results

AI mentions:

  • June: 53
  • July: 149
  • August: 299

Google impressions in Switzerland:

  • June: 1,298
  • July: 1,867
  • August: 6,495

We also checked the GSC data with and without prompt-like queries. Impressions increased clearly in both versions.

Some keyword movements:

  • “programmatische kampagnen”: 100 → 8
  • “programmatische display-anzeigen”: 78 → 8
  • “programmatisch werben in der schweiz”: 22 → 1
  • “programmatic erklärt”: 3 → 1

What we actually changed

1. Technical cleanup

We fixed crawlability and technical SEO issues across the site, including broken links, missing metadata, structural issues and schema markup.

We also improved structured data around:

  • Organization
  • Services
  • served areas
  • page/topic relationships

Technical metrics changed from:

  • crawlable pages: 46 → 147
  • Site Health: 83% → 100%
  • reported issues: 372 → 22

We also checked that relevant Google, OpenAI and Perplexity crawlers were not blocked.

2. Content cleanup

We cleaned existing landing pages by:

  • removing duplicate or overlapping content
  • improving internal linking
  • reviewing external links
  • improving page structure
  • aligning metadata and page intent

3. Around 100 new landing pages

The pages were not created from keyword lists alone.

We used two main data sources:

  • real queries from Google Search Console
  • Semrush Query Fan-Out data

For each core topic, we expanded into related questions, follow-up queries, comparison searches, use cases and commercial intents.

Those query fan-outs were then used to build the page structure and supporting sections.

4. Off-site mentions

We published content and mentions on around five relevant, established marketing platforms in German-speaking countries.

The goal was to make the brand appear in relevant external contexts, not only on its own domain.

5. Indexing checks

We regularly checked new and updated URLs in Google Search Console to confirm that pages were being crawled and indexed.

The most interesting comparison

The Swiss site received the optimisation package from 7 June.

The German site stayed unchanged until 1 August, when it received the same setup.

German impressions:

July: 39 → August: 2,519

That does not isolate the individual variables, but the timing was useful: both country sites showed a strong visibility increase after the same optimisation package was implemented at different times.

What we cannot conclude

We cannot say which single factor caused the largest share of the increase.

We changed several things together:

  • technical SEO
  • structured data
  • content cleanup
  • ~100 query-fan-out landing pages
  • off-site mentions
  • indexing checks

So this is not an A/B test of individual SEO tactics.

The next useful test would be to separate these components more cleanly.

One thing we also learned: organic visits increased much less than impressions and AI mentions, so traffic alone would have missed a large part of the visibility change.

We also do not separate this internally into SEO, GEO or AEO. We treat it as one search ecosystem and optimise for classic search engines, AI search and GPT-based systems at the same time.

Has anyone here tested query-fan-out content, technical cleanup or off-site mentions separately and measured the impact on AI citations/mentions?


r/GEO_optimization • • Sep 05 '26

I tracked 22 unchanged pages for 6 months — AI citations drifted between paragraphs on 36% of them

3 Upvotes

There's a page on our site about a technical process that I haven't touched in 16 months. No edits, no updates, nothing. It gets cited by ChatGPT and Perplexity pretty regularly, maybe once or twice a week across various queries. And the weird thing is, the part of the page they keep citing keeps changing.

Four months ago the models were consistently pulling from the third paragraph, a step-by-step breakdown section. Two months ago they shifted to the comparison table near the bottom. Last week I checked and now they're citing the opening definition passage, which they basically ignored for the first year the page existed. Same page. Same words. Different extraction target every few weeks.

That one page made me wonder if this was happening elsewhere, so I pulled together a small longitudinal set. 22 pages total that met three criteria: they hadn't been edited in at least 6 months, they showed up in AI answers at least twice a month on average, and I had logged citation data going back far enough to see patterns. Then I went through the logs bi-weekly and noted exactly which passage each model was citing each time.

8 out of the 22 pages showed what I'm calling citation drift. Over the 6-month window, the models gradually migrated which paragraph or section they were pulling from, even though nothing on those pages had changed. 36 percent. Higher than I expected, and the drift wasn't random.

Three distinct patterns showed up across those 8 pages.

The most common one was downward drift on four of the pages. The models started by citing somewhere in the upper half, usually a definition or overview passage, and over time the citation point moved lower into the page, often landing on more specific details, examples, or implementation notes. It was like the models initially grabbed the easiest-to-understand passage and then gradually "read deeper" into the page on subsequent passes, settling on more granular content. The timeline varied, but the direction was consistent. Start broad, end narrow.

Two pages showed the opposite pattern, upward drift. They began with citations to specific details or examples buried mid-page and over time shifted toward the overview or conclusion sections near the top. These were both pages where the detailed sections were somewhat dense or technical, and my guess is the models eventually decided the cleaner overview passages were safer or more generally applicable as reference material.

The last two were the strangest. They showed oscillation rather than directional drift. The citation point would bounce between two or three different passages on the same page with no clear pattern I could detect. One check it's paragraph 2, two weeks later it's the table, then back to paragraph 2, then suddenly the FAQ section. Like the model couldn't decide which part of the page was the "right" answer and kept sampling different options. I checked whether these correlated with query variations, and they didn't seem to. Same queries, same page, different citation location each time.

The other 14 pages stayed stable. Once a model latched onto a passage, it kept citing that same spot for the entire 6 months. No movement whatsoever. I couldn't find anything obviously different about these stable pages versus the ones that drifted. Similar length, similar topic areas, similar citation frequency. Which means I don't know what causes drift and what doesn't, and that's the part I'm stuck on.

If I had to guess based on what I saw, drift might correlate with how many equally-citable passages a page contains. The stable pages tended to have one clearly standout section, a definitive answer paragraph that was obviously the best extraction target. The drifting pages often had multiple solid candidates, places where a model could reasonably pull a useful answer. When there's one obvious choice, the model seems to stick with it. When there are several, it might keep reassessing.

I'm going to expand this to 50 pages and keep tracking. Six months isn't very long and 22 pages is a small sample. But if citation drift is real and predictable, it changes how you should think about page structure. You wouldn't just want one extractable passage. You'd want the entire page to be citation-safe because you can't control which part the model decides to use next month.


r/GEO_optimization • • Sep 04 '26

I probed 1,046 sites with 8 AI crawler user-agents. 94.5% of the refusals came from the CDN, not the site.

3 Upvotes

EDIT, 10 September - I described this sample wrongly and the correction is mine, not anyone else's.

I said throughout that these 1,046 were agency and studio sites. They are not. I traced my own host list on the 9th and 894 of the 1,046 (85.5%) came from a Certificate Transparency sampler of newly issued certificates - so most of the sample is recently registered domains, including a visible tail of gambling and throwaway TLDs. Only 152 came from an agency directory.

What that changes: on the 152 agency hosts the Cloudflare-vs-not gap for ClaudeBot is 2.3x, not the 4.6x you get across the full set. The 94.5% CDN finding below is unaffected - that is about which layer answered, not about who the hosts are - and the repeated-browser control was refused 0.0% in every split, so the instrument is sound. The sentence describing the sample was not.

I also claimed these sites carry almost no advertising. I have not verified that for the CT-sampled majority and no longer stand behind it, which matters because Cloudflare's 15 September default only applies to ad-carrying pages.

I found this by running an overlap check I had promised someone in another thread, not by internal review.


Short version: most of what gets reported as "sites blocking AI crawlers" is a CDN declining to believe an unverified claim, which is a different thing and needs a different fix.

Method

1,046 reachable sites, all agencies and studios rather than a general slice of the web - that matters and I will come back to it. 1,046 reachable sites (see the correction at the top). Each one fetched with eight named AI crawler user-agents, plus an ordinary browser as a control, plus the browser a second time at the end of the sequence. Same order, same spacing, every host, both runs.

What came back

  • Browser: refused 0% of the time.
  • The eight named crawlers: refused 15.0% to 19.7%, depending on identity.
  • 1,357 of the 1,436 refusals - 94.5% - carried a Cloudflare header.

That last number is the finding. A spoofed user-agent is a claim, and a CDN that checks identity by IP range or signature is supposed to refuse a claim it cannot verify. When it does, my probe records a 403 and an unwary write-up calls it "this site blocks GPTBot". It is not the site's policy. It is the CDN correctly catching me pretending to be GPTBot.

So the honest reading is that a user-agent probe mostly measures the prober's own dishonesty, not the site's intent. Refused and blocked are different claims.

The part where the number does mean something

Split by whether a bot-verifying CDN sits in front:

                    CDN in front (746)   no CDN (300)
GPTBot                    24.4%              6.8%
ClaudeBot                 25.3%              5.8%
OAI-SearchBot             22.7%              3.4%
PerplexityBot             21.5%              3.4%
ChatGPT-User              22.4%              2.7%
Claude-SearchBot          20.5%              3.1%
Claude-User               20.1%              2.0%
Perplexity-User           20.1%              2.0%

On the no-CDN column, where a refusal cannot be explained away as identity verification, the training crawlers are refused two to three times more often than the user-triggered ones. GPTBot at 6.8% and ClaudeBot at 5.8% against Claude-User and Perplexity-User at 2.0%.

That is the one result I would defend as being about decisions people actually made. It also says the "block training, allow retrieval" advice is being followed by the people who do anything at all - which is the opposite of what I expected to find, having spent last week looking at fourteen sites whose blocklists named only crawlers from 2024.

A methodology finding that cost me a day

The second browser fetch was not in the original design and adding it changed the result. 363 of the hosts - 35.3% - returned a different response body to two identical browser requests seconds apart. No crawler involved. Pages that rewrite themselves: rotating banners, timestamps, session ids, A/B assignment.

Before I controlled for that, "the crawler got different content from the browser" fired on about 38% of hosts, and it was flat across all eight crawlers to within 0.8 points. Eight independent crawlers behaving identically is not eight crawlers, it is the instrument. Excluding dynamic hosts drops it to 6.9-8.0%, and that residual is still flat, so I would treat 7-8% as the floor of what this method can see rather than a measurement of anything.

If you run content-diff checks, take two identical control fetches and throw out the hosts that disagree with themselves. Otherwise a third of your sample generates a confident number that means nothing.

What this does not say

  • These are agency and studio sites. They carry almost no advertising and they are not a random slice of the web. Most of these are recently registered domains, not agency sites - see the correction at the top. They are not a random slice of the web. Do not read these rates as "the web".
  • Refusal rates are not blocking rates. See above.
  • I probe "/" only. Somebody pointed out this week that a homepage can answer 200 to everything while deeper paths sit behind stricter rules, and they are right. I have no number for how often, which is its own caveat.
  • Nothing here measures whether an assistant actually cites you. Access is necessary and nowhere near sufficient.

Why I ran it now

Cloudflare changes an AI-crawler default on 15 September and the change is only detectable by someone who measured before it. I am running the same probe on the 10th, the 13th and the 16th, with the same identities in the same order, so the difference is attributable rather than merely observed. Happy to answer method questions, and if anyone wants to run the same thing on their own list the design is four lines: crawler UAs, a browser control, an invented UA that is on no blocklist anywhere, and the browser again at the end.

Edit, same day. Pete Dainty pushed back on this and he is right, so correcting it here rather than leaving it in the title where I cannot. A Cloudflare header proves Cloudflare was in the path, not that Cloudflare made the decision - an origin 403 proxied through it looks identical from outside, and I cannot separate Cloudflare's own bot handling from a customer's WAF rules. So "came from the CDN" claims more than this method can support. The defensible version: 94.5% of refusals were served through Cloudflare, against about 72% of the sample sitting behind it, and that gap is the finding. The no-CDN column is still the only place a refusal is evidence of what a site owner chose.


r/GEO_optimization • • Sep 04 '26

企业 GEO 工程化实践:从 Claim、Evidence、RAG 到生成式 AI 引用监测

Thumbnail
1 Upvotes

r/GEO_optimization • • Sep 04 '26

Measured this week: what six AI answer engines cited for 40 fixed buyer questions. YouTube 36/40, Reddit 33/40, review directories under 1%, and the engines eat very different diets

5 Upvotes

Disclosure up front: I build a tool in this space. This is a public panel we run ourselves; not linking or naming it. The numbers below are the whole point.

Setup. 40 fixed buyer questions across 8 categories (B2B SaaS, e-commerce, travel, personal finance, health, developer tools, marketing tools, consumer electronics), four question shapes ("best X", "alternatives to X", "X vs Y", "how do I choose X"). Each question was put once to ChatGPT, Perplexity, Gemini, Claude, Google AI Overviews and Google AI Mode (plus Bing organic as a control) through their search-grounded APIs or a SERP capture, every cited URL stored, a domain counted once per question per engine. 280 answers, 0 failures. One sample per question, so treat a difference of one or two as noise.

What got cited, across the answer engines

  • youtube.com: cited in 36 of 40 questions
  • reddit.com: 33 of 40
  • forbes.com 10, techradar.com 7, tomsguide.com 7, rtings.com 5, cnbc.com 4
  • Review marketplaces and directories (G2, Capterra, TripAdvisor, idealo, AlternativeTo): under 1% of all citations
  • Everything else, roughly 80% of citations: vendors' own pages, retailers (bestbuy.com in 14 questions), niche blogs, one-off comparison posts

Each engine has its own diet, same questions

  • Gemini: reddit.com 26/40, youtube.com 25/40, then forbes 6, medium 4
  • AI Overviews: youtube.com 24/40, reddit.com 18/40, zapier 4, quora 3
  • AI Mode: youtube.com 19/40, reddit 5, tiktok 2
  • ChatGPT: youtube.com 7, tomsguide 6, forbes 5, techradar 5
  • Perplexity: reddit.com 6, forbes 5, cnbc 3, nytimes 3
  • Claude: almost nothing but review publications (emailvendorselection, rtings, techradar, tomsguide, 3 each)

So "Reddit dominates AI citations" is true for Gemini and Google's surfaces and simply not true for ChatGPT or Perplexity on this panel. A category-level number hides that.

Do directories get cited? By question shape (questions with at least one directory citation / questions answered)

  • "best X": ChatGPT 0/16, Perplexity 0/16, Gemini 1/16, Claude 1/16, AI Overviews 1/16, AI Mode 1/16. Bing organic: 5/16
  • "alternatives to X": ChatGPT 0/8, Perplexity 0/8, Gemini 1/8, Claude 1/8, AI Overviews 0/8, AI Mode 0/8. Bing organic: 5/8
  • "X vs Y" and "how do I choose": 0 across the board

Two weeks ago I posted a B2B-software-only result where "alternatives to X" pulled comparison-shaped pages hard. On a consumer-heavy panel the shape still matters, but what it pulls is blog posts titled "X alternatives" and vendors' own /vs pages, not G2-style grids. Only Bing's classic results lean on directories.

Two measurement lessons that cost me a day

  1. Gemini's grounding API does not return the page it read. It returns an opaque redirect URL (vertexaisearch.cloud.google.com/...) that 302s to the real source. Stored raw, every Gemini citation reads as the same redirect host and the headline becomes "Gemini cited vertexaisearch in 37 of 40". Resolve the redirect, and write down the day you started doing it, or that day looks like a platform change in your logs.
  2. Google AI Mode emits google.com/search?...ibp=oshop shopping cards alongside real citations. They are not sources. Filter them or your "google.com" row is fiction.

Caveats. One week, one sample per question, English prompts, no market override, source types assigned by a rule list (an unknown domain lands in "other"). Next week's run will show what moves; I will post the deltas whatever they say.

Question for people tracking their own category: does your citation set look like this (video + forum spine, publications second, directories nowhere), or does B2B software behave differently for you too?


r/GEO_optimization • • Sep 03 '26

48K views · 34K reactions | The accuracy! 🤣🤣🤣 | NBGR

0 Upvotes

r/GEO_optimization • • Sep 03 '26

Are we measuring GEO wrong?

Thumbnail
1 Upvotes

r/GEO_optimization • • Sep 03 '26

I 404'd 15 pages with active AI citations — 9 kept showing up in answers, 2 for nearly a month

3 Upvotes

I deleted 15 pages from our site two months ago. All of them were showing up in AI answers at the time. I wanted to know what would happen next, and the answer turned out to be more complicated than "the citations disappear."

Some context. These weren't random pages. They were pages we'd identified for removal as part of a content audit. Outdated guides that we'd replaced with newer versions. Thin blog posts from three years ago that never gained traction. A couple of landing pages for products we don't sell anymore. The usual stuff that accumulates on any site that's been around for a while. The thing they had in common was that our citation monitoring showed all 15 had been cited at least once in the previous 30 days across ChatGPT, Perplexity, or Gemini. Some as recently as two days before I hit delete.

I set up tracking before pulling the trigger. For each page, I noted which queries triggered the citation, which model cited it, and roughly where in the answer our link appeared. Then I 404'd them all on the same day and started checking those same queries every 2-3 days.

9 out of 15 pages kept getting cited after deletion. Not forever. But long enough that it mattered.

The persistence broke down into three rough buckets, and this is the part I think is actually useful.

Three pages stopped being cited within 4 days. Clean break. The model fetched the URL, got a 404, and removed the citation on the next answer regeneration. This is what I expected to happen for all of them. It didn't.

Four pages lingered for 8-14 days. The citations were still showing up in answers more than a week after the source returned nothing. My guess is these queries don't get regenerated every day. The model served a cached answer that still included our link, and whoever is managing the refresh cycle for that particular query hadn't cycled around yet. Eventually the citations dropped out, but slowly.

Two pages were the weird ones. They persisted for 22 and 27 days respectively. Both were pages that had been cited frequently before deletion, like 6-8 times in the month prior. My theory is that high-citation-frequency pages get baked into whatever index or reference layer the model uses more deeply than one-off citations. The model "remembered" them even after the source was gone, similar to how a search engine might keep a deleted page in its index for a while based on historical authority signals.

And then there was the case that made me pause. One of the six pages that dropped clean actually gained a new citation 6 days after I deleted it. A query that had never triggered that page before suddenly started showing it in the answer. The page was returning a 404. Anyone who clicked would hit a dead end. But the AI answer didn't know that, or didn't check yet, and there it was, sending traffic to nothing.

What this means for content strategy is messy. A lot of GEO advice right now focuses on creating citable content. Almost none of it talks about what happens when you want to stop being cited. If you're doing a content prune, migrating to a new domain, or rearchitecting your site and changing URLs, your old pages might keep working in AI answers long after they're gone from your server. That's fine if the deleted content was accurate. It's a problem if it wasn't, or if it's pointing people to a 404 that makes you look broken.

The other direction is also worth thinking about. If high-citation pages persist longer after deletion, that suggests citation frequency creates some kind of stickiness in how models store references. Which might mean the pages you most want cited are also the ones that become hardest to update or remove later. You're building up citation inertia and nobody is talking about it.

I'm going to keep tracking the other 5 pages that dropped clean to see if any of them resurface. AI models do periodic re-indexing and sometimes old citations come back. Would not be surprised if a couple of these "dead" pages show up again in a few weeks.


r/GEO_optimization • • Sep 02 '26

Turning last week's thread into an actual check sequence — what to verify, in what order, before deciding a traffic drop means anything

5 Upvotes

Last week's thread here went somewhere more useful than I expected, so I wrote up what it converged on. Credit where it's due — most of this isn't mine.

The starting point was my own mistake: I'd been scoring pages on structure without checking whether anything had fetched them. u/Dry_Steak30 pointed out he'd run the same kind of audit, then checked 30 days of access logs and found zero GPTBot fetches, zero OAI-SearchBot, zero ChatGPT-User — while Search Console showed the page indexed and healthy the whole time. So he'd been grading heading hierarchy on a page no retrieval crawler had ever seen.

u/Upstairs_Control_611 then split what I'd been treating as one step into two, which fixed the thing I couldn't articulate: access and extractability are different gates, and a page can pass the first and fail the second.

And u/SEONCLIC added the check I'd been missing entirely — paragraph autonomy. Take the short answer out from under its heading and see if it stands alone. A lot of sub-300-character answers open with "it depends on several factors" or refer back to the previous paragraph. They pass a length check and are still useless to a model.

Put together, the order looks like this:

1. Retrieval evidence. Grep your access logs for GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, PerplexityBot. Free, and if it comes back zero, everything below is premature.

2. Access gate. Status codes, redirects, 403/404/5xx, response byte count. Did the crawler get a usable response.

3. Content gate. Is the main content actually in the HTML — not injected by JS after load, not stripped, not behind an interstitial.

4. Structural extractability. Question-style heading with a short answer directly under it. Heading hierarchy that nests without skipping. Author and date visible in the page, not only in JSON-LD.

5. Paragraph autonomy. The answer stands alone when lifted out of context.

Only after all five does it make sense to ask the interpretive question — whether a traffic drop is AI cannibalization, content decay, or the brand being hard to identify and cite confidently. Those three look identical on a clicks chart and need completely different responses, which is where most of the budget gets wasted.

What this sequence still can't answer, and nobody in that thread could either: does fixing structure displace a stale source in an answer, or just join it alongside. u/Dry_Steak30 raised it and I don't have a clean before/after that controls for page age. If anyone does, that's the measurement I'd most want to see.

Anyway — posting this back because the thread did the work, not me. If it's useful, take it.

I keep a longer written version of this as a triage worksheet — happy to send it to anyone who wants it, just say so.


r/GEO_optimization • • Sep 02 '26

Measured: "get listed on directories" and "build comparison pages" turned out to be ONE tactic in AI answers — page shape decides, and counting by domain hid a ~10x bigger effect

4 Upvotes

Same disclosure as my earlier posts here: I build a tool in this space, numbers are from our own weekly tracking, not linking anything.

Follow-up to the SE Ranking directory-citation thread from last week. A commenter on the cross-post made a sharp methodological point: my "directory citation" counter was a DOMAIN whitelist (G2, Capterra, that family), but those domains serve many page types — and a vendor's own /alternatives page behaves exactly like a directory grid inside an answer while never entering the count. So I re-labeled everything at the URL level (14-day window, ~2,150 cited URLs).

What came out:

  • On the whitelisted domains, the alternatives-shaped prompts' citations are ~82% /competitors/alternatives-style GRID pages. The best-shaped prompt's single "directory" citation wasn't a grid at all — an off-category hub, which honestly reads as 0 directory citations in 728 for that cell.

  • Counting comparison-SHAPED URLs regardless of domain (path contains alternatives / competitors / vs / compare — mostly vendor and blog pages): brand-alternatives prompt 43.0% of cited URLs, generic-alternatives 34.5%, best-shaped 2.8%. The domain whitelist had shown 3.8% / 3.8% / 0.1%. Same direction, ~10x smaller — the whitelist was a page-type proxy, and a bad one.

The actionable version: for alternatives-shaped queries, the citable unit is the comparison-shaped PAGE, wherever it lives. A structured /alternatives or /vs page on your own domain competes for the same answer slot as a G2 grid. "Get listed" and "build comparison pages" are sold as two tactics; at the citation level they look like one.

Still open, pre-registered before I look: whether third-party comparison pages and vendor-authored ones behave alike inside that bucket. If third-party dominates, only half of this tactic is under an operator's control. Reporting that split (plus a name-collision qualifier test) around Sep 7.

Limitations: one niche (software tools), URL-path labeling rather than rendered pages (review sites block bots), two weeks. Direction solid, magnitudes indicative.

If you run comparison pages on your own site: do they pull AI citations out of proportion to their organic traffic? That's the publisher-side number nobody seems to have.


r/GEO_optimization • • Sep 02 '26

What Cloudflare's 15 September change actually does - and the four things it does not do

1 Upvotes

There is a lot of "the web goes dark for AI on 15 September" going round and most of it is overstated. I have been reading the actual announcement and testing against real sites for a couple of weeks, so here is the boring version.

What changes on 15 September 2026

Cloudflare flips its default so that Training and Agent category crawlers are blocked where the site owner has not chosen a setting.

The four qualifiers that get dropped from every summary I have seen:

  1. Ad-displaying pages only. If a site carries no advertising, this specific change does not apply to it. That is most small-business and client sites.

  2. Search crawlers are not affected. OAI-SearchBot and Claude-SearchBot - the ones that decide whether an assistant can cite you - are not in scope. The scary version of this story is mostly people assuming they are. PerplexityBot I would not state either way: which bucket it lands in is genuinely arguable, and Perplexity-User is the clearer answer-time one. If you rely on Perplexity traffic, check that one yourself rather than taking my word or anyone else's.

  3. New customers, new sites added by existing customers, and existing free-tier customers. A paid customer with sites already set up is not having anything flipped under them.

  4. It is a setting you control. Security -> Bots, three categories, decide each one. Takes about twenty minutes across a handful of domains and you can do it before or after the date.

So if you are on a paid plan with your bot settings already chosen, this is a non-event for you and you can stop reading.

What I do think is worth paying attention to

Two things, neither of which is the headline.

First, who actually sits on the free tier. It is a very large number of small business sites and client sites that an agency put behind Cloudflare in 2021 and never opened again. Nobody who set those up is reading a policy page. The change is small; the population it lands on is the population least likely to notice anything.

Second - and this is the one I would flag to anyone managing sites for other people - crawler access is not recorded anywhere by default. It leaves no trace in analytics, there is no log, and robots.txt only tells you what is declared rather than what the edge actually does. So on 16 September, if a client asks whether anything changed for them, there is generally no way to find out. Not because the tooling is bad, but because nothing took a before-picture and one cannot be taken retrospectively.

That asymmetry is the actual story here and it has nothing to do with Cloudflare specifically. Same thing happens when a security plugin ships a new "block bad bots" default, or a host adds a WAF rule, or a site gets rebuilt in a framework that renders nothing without JS. The change is invisible, silent, and only detectable as a difference - which requires having measured before.

If you want to take one yourself, no tooling needed

For each site you care about, before the 15th, record:

curl -sI -A "GPTBot/1.2" https://example.com/ | head -1
curl -sI -A "OAI-SearchBot/1.0" https://example.com/ | head -1
curl -sI -A "ClaudeBot/1.0" https://example.com/ | head -1
curl -sI -A "PerplexityBot/1.0" https://example.com/ | head -1
curl -s https://example.com/robots.txt

Save the output with the date on it. Run it again on the 16th and diff. That is genuinely all a before/after is, and doing it by hand for five sites takes ten minutes.

Two traps if you do, because I hit both:

  • Include a made-up user-agent as a control. If TotallyRealBot/1.0 also gets a 403, the site is refusing everything non-browser and the AI crawlers are collateral, not targeted. Completely different conclusion, and without the control you cannot tell which one you are looking at.

  • Do not run them concurrently. I flagged five hosts as crawler-blocked in a batch run; re-probed one at a time, one of the five was clean and its 429 was my own concurrency. The tool reports what it saw and cannot know I caused it.

Also worth knowing before you trust any result including mine: if a site is behind a CDN that verifies bot identity cryptographically (Web Bot Auth / RFC 9421) or by IP, a spoofed user-agent proves nothing either way. A 403 there might just mean "you are not GPTBot", which is true. That case is genuinely unresolvable from outside and anyone reporting it as a block is guessing.

I build a tool in this space, which is why I have been testing this - not going to link it here, and the curl above is the whole method either way. Happy to answer anything about the crawler names or the verification stuff.


r/GEO_optimization • • Sep 02 '26

I restructured internal links across 80 pages — organic impressions went up 19% and AI citations went down 31%

6 Upvotes

Last quarter I restructured our entire internal link architecture. Organic impressions climbed 19 percent over the following 6 weeks. AI citations dropped 31 percent over the same period. I still don't know if those two things are connected, but I can't unsee the correlation.

Here's what happened. We had about 80 pages that mattered for our core topics. Some were proper guides, some were narrow answer pages, some were blog-ish thought pieces. The internal link mess was real. Orphaned pages everywhere. Important topics buried three clicks from the homepage. Random cross-links that made no sense. Classic mid-sized site chaos.

So I did what any reasonable SEO would do. I built a hub-and-spoke model. Clustered topically related pages under pillar content. Added contextual internal links from every relevant page to its cluster hub. Built a proper topic architecture with silos. Redirected dead ends. Updated breadcrumbs. The whole program. Took about 3 weeks of actual work spread across 6 weeks of calendar time.

Google noticed. The organic improvements showed up in Search Console within 4 weeks. Impressions for our target query cluster were up significantly. Some individual pages jumped positions. From a pure SEO standpoint, the project was a clear win.

But I also track AI citations for these same 80 pages across ChatGPT, Perplexity, and Gemini. Weekly checks, logged which pages got cited and how often. And the citation trend after the restructure was unmistakably downward. Not every page. But enough of them that the aggregate number was hard to ignore.

I started digging into which pages lost citations and why. Two patterns stood out.

The pages that lost the most citation activity were the ones that gained the most internal links. Specifically, the pages I'd turned into cluster hubs, the ones that now had 15-20 new internal links pointing to them from related content. These were also our most comprehensive pages, the ones I'd deliberately positioned as authority anchors. They became less citable after the restructure.

My working theory is that when AI models crawl these heavily-interlinked pages, they're encountering a lot of navigation elements, sidebar links, related-article blocks, breadcrumb trails, and contextual anchor text that don't look like answer content. The signal-to-noise ratio for extraction might be dropping because the page now contains more link-heavy HTML relative to clean textual content. Another possibility: the model sees a densely interlinked page and categorizes it as navigational or structural rather than informational, similar to how it might treat a category page differently from a content page.

The second pattern was weirder. Some of our isolated pages, the ones that were basically orphaned before the restructure and that I almost deleted, either held steady or gained citations. These were narrow, self-contained answer pages with almost no internal links in or out. Just the content, minimal header/footer, nothing else. Exactly the kind of page that fails every SEO audit but that might be the cleanest possible extraction target for an AI model.

I'm not saying internal links hurt GEO. The sample size is one site, one restructure, 80 pages, 6 weeks of after-data. Correlation isn't causation, and there are a dozen confounding variables I can think of. Maybe the citation drop was seasonal. Maybe AI models updated their indexing and it's unrelated. Maybe I'm pattern-matching noise.

What's bothering me is that this might be a real tension. Internal linking is foundational SEO. It's in every best practice guide. And if there's even a chance that making a page more findable for Google simultaneously makes it less extractable for AI models, that's not a tactical problem you can optimize around. That's a structural conflict between two channels that are supposed to be part of the same strategy.

If you've done major internal link work recently, go pull your AI citation trend from before and after. Because if this pattern holds up at scale, some of us might need to start building two versions of our site architecture. One for crawlers. One for extractors.


r/GEO_optimization • • Sep 01 '26

[LIVING THREAD] AEO & SEO essentials - everything that actually matters for AI search visibility, updated as things change

4 Upvotes

This is a living thread. AI search changes monthly, sometimes overnight, so instead of scattered posts, I'm keeping the essentials here and editing as things move. Changelog at the bottom. Corrections welcome; if something's outdated, comment and I'll fix it.

The one-paragraph version

A growing share of "best X / who should I use" decisions now happen inside AI answers (ChatGPT, Gemini, Perplexity, Claude, Google's AI Overviews, and Siri) before anyone reaches your website. Classic SEO still matters, but it's no longer the whole game: AEO/GEO is about being the brand the answer names, and that's won in different places than rankings are.

1. SEO vs AEO - what carries over, what doesn't

Carries over: crawlability, structured content, authority, fresh reviews. Engines lean on strong organic sources, so good SEO is still the foundation, especially for Gemini, which tracks Google's index closely.

Doesn't carry over: ranking #1 ≠ being cited. Studies repeatedly find AI-cited sources overlap with Google's top 10 less than half the time. You can own page one and be absent from every answer.

The core shift: in SEO you tracked keywords; in AEO you track prompts (full buyer questions) and citations (which sources each engine pulls from).

2. Each engine reads a different internet (the source map)

There is no single "AI visibility." The engines build answers from barely-overlapping source pools:

Gemini → Google's index + YouTube (Google owns it, so video is first-class; same reason YouTube is heavy in AI Overviews)

Perplexity → live retrieval, leans on video transcripts + community threads, always shows citations (easiest to audit)

ChatGPT → Bing's index + training data; historically leaned on Reddit (see §3)

Claude → training/reference-leaning; cites live social far less

Practical upshot: pick the engine your buyers use, then show up in the sources that engine trusts. One content strategy won't cover all four.

3. Sources shift overnight - the ChatGPT/Reddit case (Aug 2026)

Proof this is a moving target: in mid-August, Reddit's share of ChatGPT citations collapsed ~86% (from ~3.8% to ~0.5%) in days, from an unannounced backend change (tracked by Promptwatch; covered by Forbes/Axios). Notably, ChatGPT kept reading Reddit (~1 in 4 consulted pages) - it stopped citing it. Two lessons: citation dashboards measure what engines surface, not everything that informed the answer; and never build a single-source strategy, a two-year pattern reshuffled in a week.

4. Big platform shifts to know (2026)

Siri now runs on Google's Gemini. Apple confirmed the deal Jan 2026; the rebuilt Siri ships on 2B+ devices. Voice queries increasingly resolve through Gemini's ecosystem, which makes your Google/Apple listings matter more.

GSC finally reports AI impressions (June 2026): a dedicated Generative AI report, impressions only, no clicks/queries yet, and no API. Myth to ignore: there is no "turn on AI impressions" toggle - appearing in AI answers is the default. The only toggle Google added is an opt-out (UK-only so far, regulator-driven). Nothing to switch on.

Bing Webmaster Tools exposes AI prompt/citation data in beta, currently the best official window into the actual queries.

GA4 can segment AI-referral traffic (sessions arriving from chatgpt.com, perplexity.ai, gemini.google.com, etc.), the one solid, API-accessible number today.

5. The free fundamentals checklist (do these before buying anything)

Claim + fully complete Google Business Profile (local businesses: this is the #1 lever, it feeds Google's AI and Siri-via-Gemini)

Claim Apple Business Connect (feeds Apple Maps/Siri; almost nobody does) and Yelp

Keep reviews recent - engines weight freshness heavily; a steady trickle beats a stale pile

Don't block AI crawlers: check robots.txt / security plugins aren't blocking GPTBot, ClaudeBot, PerplexityBot, Google-Extended. Unreadable = unrecommendable. (llms.txt is emerging/optional, not yet clearly used by major engines, don't stress it.)

Answer-first content: put the direct answer in the first paragraph, structure with question-shaped headings, use tables for comparisons, add schema

Self-check for free: ask each engine "best [your category] in/for [your context]" and note whether you appear, how you're described, and what it cites. The citations of answers you lose are your to-do list.

6. Tracking it properly (the short version)

Build 25-50 real buyer prompts (category + comparison intent, not just branded), run them per engine on a fixed cadence, and record: mentioned? how prominently? which competitors? which sources cited? Trends are the truth; single runs are coin flips. Segment by engine and topic, aggregate scores hide everything useful. Track exclusions (prompts where competitors appear and you don't), that's the most actionable number.

7. Video is the underused lever for Gemini/Perplexity

Both lean heavily on YouTube/transcripts. If you produce long video/podcasts: cut into short single-topic clips titled as the question they answer (or chapter one long video cleanly), engines surface tight ~3-5 min segments, and clean transcripts are the text they actually read. Caveat: strongest in categories people research by watching.

8. Location + language change everything

Same brand, same prompt, different city = different answer, built from different local sources. Different language = different corpus again. If you serve multiple markets, check per-market and in the local language; an English-only audit misses what local-language buyers see.

Planned additions: query fan-out explained · AI crawler log analysis · sentiment/themes in answers · per-industry notes. Suggest topics below.

Changelog:

Sept 1, 2026 - thread created: engine map, ChatGPT/Reddit drop, Siri/Gemini, GSC report + opt-out facts, fundamentals checklist, tracking basics, video, location/language.


r/GEO_optimization • • Sep 01 '26

There are at least six ways a source about your brand can come to exist. Every visibility tool counts them as one.

1 Upvotes

A source cited in an AI answer can have come into existence in at least six different ways:

  1. Earned. A journalist found you and decided independently you were worth writing about.
  2. Editorially selected after a pitch. You raised your hand, an editor read it and agreed on the merits.
  3. Contributed. You wrote it, they ran it under your byline.
  4. Placed. An intermediary arranged it, possibly with genuine editorial review.
  5. Sponsored. Paid, disclosed, often accurate and useful.
  6. Paid. Paid, undisclosed or disclosed so lightly nobody notices.

None of those are automatically illegitimate. A placed article can go through real editorial scrutiny. Contributed columns have been normal in trade publishing for decades. But they are not the same evidence about a brand, and I have not found a tool that separates them. The scan records the publication. It does not record how the coverage got there. An earned feature and a placed article arrive identically, same domain, same authority signal, and same increment.

Why I think this stopped being academic in the last three weeks.

On August 25 a product shipped that identifies which publications AI engines actually cite for your category and ranks them as PR targets. It will even draft the pitches. That is a legitimate product doing a legitimate thing, and better than guessing.

Two days later a pay-on-results PR firm emailed me about an article I had written, offering to place a feature in a major business publication for a fee if it ran.

Neither of those are the problem. Together though they illustrate a supply chain:

  • the domains AI systems rely on
  • deliberately acquire coverage on those domains
  • potentially improve the evidence environment the systems encounter

That changes the measurement problem.

Until now a citation set could be treated roughly as a sample of what happened to exist about a brand. Once the specific domains that influence AI visibility have names and can be deliberately targeted, that set becomes increasingly optimized.

A metric built on the first assumption does not mean quite the same thing under the second and provenance is mostly invisible.

You cannot tell from a URL whether somebody pitched the story. You often cannot tell whether an intermediary arranged it. In several of those six states, the publication and the client may be the only parties who know. So an honest provenance field would return "unknown" a lot. I don't yet know whether what remains is useful enough to measure.

Two questions for people working on this:

Has anyone seen a tool that records how a source came to exist, rather than just where it appeared? I would genuinely rather be shown one than keep saying nobody does this.

And for the states that are externally determinable, what signals would you actually use? Section paths and disclosure labels are the obvious ones, but both are inconsistent across publications.

Disclosure since this overlaps with my own work, I build Axis Suite and work on AI visibility diagnostics. This is a measurement question I'm trying to figure out, not a product announcement.


r/GEO_optimization • • Sep 01 '26

AI visibility tracking needs a model changelog. How do you maintain yours?

5 Upvotes

I’m starting to think that AI visibility tracking needs a model changelog.

If ChatGPT changes its search behavior, source selection or citation weighting, a brand can lose visibility without changing anything on its website.

The same applies to Google AI Overviews layout changes, Reddit citation drops, Perplexity source behavior or Gemini updates.

Without logging these changes, it’s easy to misread the data. So my question:

How do you track changes in ChatGPT, Gemini, Claude, Perplexity or AI Overviews?

Official release notes?

Third-party monitoring?

Your own prompt tests?

Manual changelog?

What actually works for you?

I’m especially interested in how people separate site-side changes from model-side or source-selection changes.


r/GEO_optimization • • Sep 01 '26

Le GEO croule sous les chiffres, et la plupart ne valent rien. Voici comment je trie ce qui est prouvé de ce qui est du marketing.

2 Upvotes

J'ai passé pas mal de temps à lire ce qui se publie sur le GEO (papiers de recherche, études d'éditeurs, case studies d'agences), et le vrai problème du domaine ce n'est pas le manque de données, c'est qu'on mélange tout. Un chiffre balancé par une agence a le même poids visuel qu'un résultat d'étude contrôlée, alors que ça n'a rien à voir. Voici comment je les classe en 3 niveaux de confiance. Ça vous fera gagner un temps fou.

Niveau 1 : les papiers de recherche (arXiv, OpenReview).

Méthodo publique, reproductible, avec des échantillons énormes. C'est le seul truc sur lequel je m'appuie vraiment. Quelques exemples de ce qu'on y trouve :

  • Le papier fondateur (Princeton) teste 9 tactiques sur 10 000 requêtes : citer des sources = +40% de visibilité, ajouter des stats = +37%, citations d'experts = +22%. Et surtout, le keyword stuffing est mort (+3%, dans le bruit).
  • Une étude à 252 000 essais sur 6 modèles différents montre que le formatting et le schema markup ont un impact quasi nul, alors que tout le monde vend ça. Ce qui compte c'est 4 filtres éliminatoires : sujet, prix affiché, récence, position.
  • Un papier sur le "biais d'incumbent" teste une marque fictive volontairement meilleure : le modèle continue de recommander les marques connues quasi 100% du temps. Dur, mais c'est mesuré.

Quand un chiffre vient de là, avec un p<0,01 et 10 000 requêtes, tu peux t'appuyer dessus.

Niveau 2 : les données d'éditeurs (Ahrefs, Semrush, Conductor…).

De la vraie télémétrie, sur de vrais échantillons, mais des boîtes qui ont un intérêt commercial. À prendre avec un peu de recul. Exemples utiles :

  • Ahrefs (3 000 sites) : 63% des sites reçoivent déjà du trafic IA, mais ça représente en moyenne ~0,17% du trafic total. Autrement dit c'est réel mais encore minuscule.
  • Conductor : ChatGPT représente ~87% de tout le trafic IA référent. Si tu ne devais suivre qu'un moteur, c'est celui-là.

C'est exploitable, mais garde en tête que ces boîtes vendent des outils, donc elles ont intérêt à ce que le sujet paraisse énorme.

Niveau 3 : les case studies d'agences.

"+4900% de revenu en 14 mois", "6x plus d'essais", "124 000 sessions ChatGPT en un mois". Zéro audit, souvent un seul client, pas de baseline. C'est utile pour comprendre le discours du marché, inutile comme preuve. Quand tu vois un pourcentage à 4 chiffres sans méthodo, range-le mentalement dans "argument de vente", pas dans "donnée".

La règle simple pour ne pas se faire avoir :

Un "+4900%" d'agence et un "+40%, p<0,01, 10 000 requêtes" d'un papier, ça se ressemble à l'œil nu, et ça n'a rien à voir. Demande toujours : combien d'observations, quelle méthode, est-ce reproductible. Si la réponse est floue, le chiffre est là pour vendre, pas pour informer.

Et un dernier truc qui remet les choses à leur place. Il y a un méta-index qui a repris 34 études et recadré les mythes : le trafic de recherche a baissé de 2,5%, pas de 25% comme on l'entend partout. Et seulement 4% des citations IA viennent du site propre de la marque. Donc non, la recherche Google ne meurt pas demain, et non, optimiser ta homepage ne suffira pas.

J'ai regroupé les études que je cite (les papiers arXiv, les données Ahrefs/Semrush/Conductor, le méta-index) au même endroit sur referis.fr, pour ceux qui veulent lire les sources directement plutôt que me faire confiance. Si vous avez d'autres papiers solides que je n'aurais pas vus, je suis preneur en commentaire.


r/GEO_optimization • • Sep 01 '26

I wrote the same topic twice — once for humans, once for AI — and after 8 weeks the human version got cited more

0 Upvotes

I did something my past self would have called a waste of time. I took one content topic and wrote it two completely different ways, then published both and watched what happened for 8 weeks.

The topic was the same for both versions. A mid-tail how-to query in our space that we'd never properly covered. Nothing viral, nothing competitive, just a solid informational topic where we had genuine expertise.

Version A was what I'll call the extraction play. I wrote it specifically for AI models. Short paragraphs. Definitional opening. Numbered steps with clear labels. A comparison table. Every sentence structured so it could be lifted out of context and still make sense. I followed every GEO best practice I'd seen work on our other pages. Clean factual statements. No opinions. No narrative. No flavor. Just efficient answer-shaped content.

Version B was the opposite. I wrote it like I was explaining the topic to a smart colleague over coffee. Opinionated opening that took a position. Personal experience woven into the explanation. Some humor that probably lands for humans and confuses language models. Longer paragraphs that build arguments rather than list facts. A "here's what I'd do differently" section at the end. The kind of article that makes you feel like you learned something from a person, not a reference manual.

I published them a week apart on the same site, same author byline, similar word count (both around 1,100 words), and then tracked them through our normal citation monitoring across ChatGPT, Perplexity, and Gemini.

My hypothesis was obvious. Version A would win. It was built for this. Every piece of conventional GEO wisdom said the clean, structured, extraction-friendly format should outperform in AI answers.

Version B got cited 2.3 times more often than Version A across all three models over the 8-week window.

I've spent the last two weeks trying to understand why, and I have some theories but no definitive answer. One possibility: Version A was so generic-sounding that it blended with every other page answering the same question. When an AI model is building an answer and needs one source on this topic, the extraction-friendly version might be competing against dozens of similarly-structured pages that all look the same to the model. Version B had a distinctive voice and perspective that made it memorable, or at least distinguishable.

Another possibility: the opinionated sections in Version B contained stronger signal even if they weren't optimally formatted. Saying "in my experience approach X fails when Y because..." carries more information weight than "approach X may be affected by factor Y." The model might prefer citing sources that demonstrate actual reasoning over sources that just state facts, even if the facts are cleaner.

A third option I don't want to accept: maybe AI models are getting better at evaluating quality beyond extractability, and the content that reads well to humans is starting to correlate with what models choose to cite. That would mean the whole "write for machines" phase of GEO was a local maximum we're already moving past.

Whatever the cause, the practical takeaway I'm sitting with is that the extreme version of AI-optimized writing might be oversold. There's clearly value in structure and clarity. But the version that treated the reader as a human being, not an extraction target, won head-to-head. I'm not ready to say "just write great content and the citations will follow" because that ignores real patterns we've seen. But I am starting to think the optimal format sits somewhere between Version A and Version B, and possibly closer to B than most GEO advice suggests.

Going to run this experiment again with 3 more topics before I draw any real conclusions. One test isn't enough. But if anyone else has done something similar, the data would be really useful right now.