Research · last reviewed

AI Search Research
What the Evidence Supports

Our running review of the research on generative engine optimization (GEO): what decides whether ChatGPT, Perplexity, Google AI Overviews, Gemini and Claude can use your site, what demonstrably does nothing, and what nobody can measure yet. Every finding names its primary source, the date that source gives itself, and the day we last read it.

26 of the 44 outside sources cited here are on our evidence watch: a script re-reads them every Monday at 06:00 UTC and flags the claims to re-check when a watched sentence changes. The rest were read on the date shown and are marked as not watched.

Want more of our research in Google Search and AI Mode? Add us as a preferred source.

Add 99Visibility as a preferred source on Google
claims checked against primary sources
140claims checked against primary sources
confirmed as stated
100confirmed as stated
over-claimed or misquoted
39over-claimed or misquoted
primary sources on the weekly watch
35primary sources on the weekly watch

From our verification-first evidence review of 22 August 2026. See methodology.

01 · The headline finding

Almost the whole GEO market sells what the evidence does not support

A July 2026 critical survey of 45 GEO studies reached one sentence that reframes the category. Content already inside a model’s context can change whether it gets cited. Nothing reviewed shows a lasting, cross-platform effect on whether AI finds you in the first place, and that is what almost every GEO product sells.

“Within this corpus, the evidence is narrow: already-retrieved content can causally alter its citation or use, but no reviewed technique shows a stable, longitudinal, cross-platform causal effect on organic discoverability or downstream behavior.”
arXiv:2607.14035, Optimizing Visibility in Generative Engines: A Critical Survey of GEO (2023–2026) (15 July 2026)

The three sentences to lead with

  1. 01

    The levers that survive scrutiny are almost all access-level and subtractive.

    Server-side rendering, per-bot robots.txt permission, network reachability, index eligibility and snippet controls. Each one is a way to be ineligible. There is no additive markup, phrasing or structure with credible evidence behind it.

    SourcesVercel, 17 December 2024 · OpenAI, undated · OpenAI Help Center, undated · Google Search Central, 10 December 2025 · Microsoft Bing, 15 October 2025

  2. 02

    Every "GEO technique" with a published effect size was measured on documents already inside the model’s context.

    No live index was called. Those are generation-stage findings sold as discoverability outcomes, and the best-designed of the studies found the techniques ineffective or harmful.

    “Our experiments reveal that most current C-SEO methods are not only largely ineffective but also frequently have a negative impact on document ranking, which is opposite to what is expected.”
    arXiv:2506.11097 (NeurIPS 2025), C-SEO Bench, a benchmark of conversational SEO methods (20 October 2025)

    SourcesarXiv:2607.14035, 15 July 2026 · arXiv:2506.11097 (NeurIPS 2025), 20 October 2025

  3. 03

    Nothing published measures what a customer most wants measured.

    Google’s own AI report counts impressions, with no clicks, no CTR and no position. OpenAI’s whole ranking disclosure is “multiple factors”. And search fires per query at the platform’s discretion, so any single “AI visibility score” averages answers given with search on and with search off, in an unknown mix.

    “ChatGPT ranks search results using multiple factors intended to help users find relevant, reliable information. Placement is not guaranteed.”
    OpenAI Help Center, ChatGPT search (undated)

    SourcesGoogle Search Console Help, undated · OpenAI Help Center, undated

02 · The access gates

Four gates stand between a page and an AI answer

Before any AI search engine can quote you, its crawler has to be allowed in by robots.txt, let through by your firewall or CDN, find your facts in the HTML your server sends, and, on Google and Bing, find the page indexed and allowed in snippets. Fail one and nothing downstream matters. Pass all four and you are eligible, not chosen: retrieval and citation are the platform’s call, per question.

Each gate is per platform. The search crawler, the documented consequence and the controls differ by vendor; the second figure, under how each AI platform works, shows which gates each one documents.

A page must clear robots.txt, the firewall, server-rendered HTML and index checks before an AI answer can use it
Figure 1. The four access gates, and how each one fails. Drawn by 99Visibility from OpenAI, OpenAI Help Center, Vercel, Google Search Central and Microsoft Bing. Download as WebP.

03 · The factor model

Eighteen factors, graded, stage by stage

Every claim in the evidence base belongs to one of four stages. Mixing them up is the largest single source of over-claiming in GEO: a finding about which already-retrieved page gets cited is sold as a way to get found.

The four stages of an AI answer and who controls each
StageWhat it controlsWho controls it
0 · ParametricWhat the model knows with no web access, frozen at its training cutoffNobody, this quarter
1 · Access (index time)Whether a crawler may fetch and store your page at allYou and your CDN
2 · Retrieval (answer time)Whether your page enters the model’s context for a given questionThe search operator, partly
3 · Generation and citationWhich retrieved pages the model uses and citesThe model

Search is per question, and the platform decides

Google AI Overviews often do not appear. ChatGPT searches when its model decides to. In the Claude apps, web search is a toggle the user controls. Any “AI visibility” number is an average over answers given with search on and with search off, and the mix is not observed.

SourcesGoogle Search Central, 10 December 2025 · Anthropic, undated

A citation is not proof of use

Platforms cite in different units: Claude cites spans of text (cited_text), Perplexity cites whole sources. In mechanistic work, amplifying specific attention heads repaired over 90% of missed citations without changing the sources. Citation counts are a noisy proxy for influence.

SourcesAnthropic, undated · arXiv:2606.28358 (ECIR 2026), June 2026

All eighteen at a glance

Ranked within each stage by strength of evidence, not by how easy they are to act on.

The eighteen GEO factors with stage, confidence and whether they can be measured
#FactorStageConfidenceMeasurable
F1Knowledge cutoff0StrongNot measurable from a crawl
F2Training-corpus inclusion0Moderate mechanism, no measured effectPartly measurable
F3Server-side rendering of the facts that matter1Strong. The strongest evidence in the modelMeasurable from outside
F4Per-bot robots.txt permission1StrongMeasurable from outside
F5Google index and snippet eligibility1StrongPartly measurable
F6Section-level suppression controls1StrongMeasurable from outside
F7Network reachability (WAF, CDN, bot management)1Strong mechanism, unmeasured magnitudeMeasurable from outside
F8Per-URL payload ceiling1Strong fact, near-null leverMeasurable from outside
F9Bing index presence1ModerateNot measurable from a crawl
F10Position in the model’s context2Strong effect, no lever you can pullNot measurable from a crawl
F11Topical relevance to the search the AI runs2ModeratePartly measurable
F12Organic rank as a proxy2Moderate, decaying, contestedNot measurable from a crawl
F13Declared freshness2Emerging signal, speculative leverMeasurable from outside
F14Change notification (IndexNow)1SpeculativePartly measurable
F15Rewriting content to win citations3Strong evidence of null to negativeMeasurable from outside
F16Predictable prose (low perplexity)3Emerging, not actionablePartly measurable
F17Injected or adversarial content3Strong effect, illegitimate as a leverMeasurable from outside
F18Brand prominenceAllStrong association, not a leverNot measurable from a crawl

Stage 0 — Parametric: answers with search off

Nothing a publisher does this quarter reaches an answer given without web access. These two factors mark that boundary.

F1

Knowledge cutoff

Strong

ScopeAnswers given with web search off, on every platform. It is the only thing that governs them.

With search off, a model can only repeat what it learned before its training cutoff. Nothing you publish this quarter reaches that answer.

What it does not show

It is a ceiling, not a lever. “ChatGPT” is not one knowledge state: different model snapshots have different cutoffs, and the chat-latest alias is updated over time. A brand-mention test that does not record which model answered, and whether it searched, measures an unknown mix.

Not measurable from a crawl

Not from a crawl. Compare when your facts were published with each model’s cutoff.

In a 99Visibility audit

Our model registry stores the cutoff of every model we ask. When a platform we ask with search off scores you zero and your brand was founded after its cutoff, the audit says there is nothing to fix on your site for that column.

SourcesOpenAI, undated · OpenAI, undated

F2

Training-corpus inclusion

Moderate mechanism, no measured effect

ScopeGPTBot, ClaudeBot, Google-Extended, Meta-ExternalAgent and other training crawlers. The only theoretical path into search-off answers, with a full model generation of delay.

Training crawlers decide whether your pages may be used to train future models. That is all they decide.

“Disallowing GPTBot indicates a site’s content should not be used in training generative AI foundation models.”
OpenAI, Overview of OpenAI crawlers (undated)

What it does not show

No evidence supports a lever here in either direction. OpenAI nowhere claims that allowing GPTBot improves search visibility, and no study tests whether excluding training data lowers what a model recalls about a brand. The honest label is unmeasured, not null.

Partly measurable

The robots.txt directive is visible. Its effect is not measurable by anyone, vendors included.

In a 99Visibility audit

The access check reads your robots.txt for 6 training crawlers and labels them as training, so a training block is never reported as a search block.

SourceOpenAI, undated

Stage 1 — Access: whether a crawler can fetch and keep your page

This is where the real levers are, and every one of them is subtractive or binary. There is no markup, phrasing or structure that makes a page more eligible. There are only ways to be ineligible.

F3

Server-side rendering of the facts that matter

Strong. The strongest evidence in the model

ScopeSearch-on answers that rely on crawlers which do not run JavaScript: OpenAI’s and Anthropic’s in Vercel’s study. Perplexity does not document JavaScript support; do not assume the study tested it. Googlebot can render JavaScript.

These crawlers read the HTML your server sends and nothing else. A price, a product name or a claim that appears only after JavaScript runs does not exist for them.

“ChatGPT and Claude don’t execute JavaScript, so any important content should be server-rendered.”
Vercel, The rise of the AI crawler (17 December 2024)

What it does not show

Fixing it does not make a page more likely to be chosen. It decides whether the page exists in the candidate set at all: hygiene, not optimization, and irrelevant on Google. Vercel sells server rendering and its sample skews to Next.js; the finding has since been re-tested independently. The 404 statistic often quoted beside it is a single-network snapshot from 2024 that nobody has replicated.

Measurable from outside

Fetch the page without running JavaScript, fetch it again in a headless browser, and diff the visible text. Report what exists only after hydration.

In a 99Visibility audit

Not yet. The diff needs a headless browser service we do not run, so the audit does not check rendering. Until it does, check by hand: open view-source: on your page and search it for your price and product names.

SourceVercel, 17 December 2024

F4

Per-bot robots.txt permission

Strong

ScopeSearch-on, one platform per token: OAI-SearchBot for ChatGPT search, Claude-SearchBot for Claude, PerplexityBot for Perplexity, Meta-WebIndexer for Meta AI, Googlebot for every Google surface. No robots.txt token blocks AI Overviews or AI Mode.

Each AI search engine has its own crawler and its own robots.txt token. Blocking the search crawler removes you from that one platform’s search answers.

“Sites that are opted out of OAI-SearchBot will not be shown in ChatGPT search answers, though can still appear as navigational links.”
OpenAI, Overview of OpenAI crawlers (undated)
“Disabling Claude-SearchBot on your site prevents our system from indexing your content for search optimization, which may reduce your site’s visibility and accuracy in user search results.”
Anthropic, Anthropic’s crawlers and how to block them (7 April 2026)
“Allowing Meta-WebIndexer in your robots.txt file helps us cite and link to your content in Meta AI’s responses.”
Meta for Developers, Meta web crawlers (21 May 2026)

What it does not show

Allowing a bot buys eligibility, not retrieval and not rank. It does not govern fetches a person triggers: OpenAI says robots.txt rules “may not apply” to ChatGPT-User, and Perplexity says Perplexity-User “generally ignores robots.txt rules”. OpenAI also explicitly ties OAI-SearchBot permission to search-answer eligibility.

Measurable from outside

Parse robots.txt per agent and keep training crawlers apart from search crawlers. The most common real error is a blanket AI block that also removes ChatGPT search.

In a 99Visibility audit

The access check evaluates your robots.txt for 18 crawlers (12 that fetch for search or answers, 6 for training) under RFC 9309 rules, and shows the consequence each vendor documents for a block. The free robots.txt checker uses the same evaluator.

SourcesOpenAI, undated · Anthropic, 7 April 2026 · Meta for Developers, 21 May 2026

F5

Google index and snippet eligibility

Strong

ScopeGoogle AI Overviews and AI Mode. Not the Gemini app, which Google-Extended governs, and not the Gemini API’s Grounding with Google Search, a separate path.

There is no separate GEO path into Google. Indexed and snippet-eligible is the whole requirement, and inclusion is on by default.

“To be eligible to be shown as a supporting link in AI Overviews or AI Mode, a page must be indexed and eligible to be shown in Google Search with a snippet, fulfilling the Search technical requirements. There are no additional technical requirements.”
Google Search Central, AI features and your website (10 December 2025)
“This is the default control for all properties.”
Google Search Console Help, Generative AI features inclusion control (undated)

What it does not show

Eligibility is not inclusion: Google adds that indexing and serving are not guaranteed. The Search Console control that switches inclusion off is available in Search Console and invisible from outside, and child properties inherit it from the parent. A property can be excluded without anyone deciding to.

Partly measurable

noindex, nosnippet, max-snippet and Googlebot’s robots.txt rules are crawlable. Index membership and the Search Console opt-out need Search Console access.

In a 99Visibility audit

The audit flags noindex, nosnippet and max-snippet on your page and reads Googlebot’s robots.txt rules. It cannot see your Search Console settings.

SourcesGoogle Search Central, 10 December 2025 · Google Search Console Help, undated

F6

Section-level suppression controls

Strong

ScopeGoogle Search surfaces and Bing and Copilot AI answers. The only control documented below the page level.

data-nosnippet, nosnippet and max-snippet keep text out of AI answers without removing the page. They are often inherited from a template by someone who wanted to hide a cookie banner.

“When Bing crawls your site, any content marked with data-nosnippet is still indexed normally, but it will be excluded from snippets and AI summaries.”
Microsoft Bing, Bing introduces support for the data-nosnippet HTML attribute (15 October 2025)

What it does not show

There is no additive counterpart: no markup makes a section more likely to be used. Bing adds that tagged content stays available for ranking. It removes display, not eligibility.

Measurable from outside

Parse the HTML for data-nosnippet and the meta robots and X-Robots-Tag snippet directives.

In a 99Visibility audit

The audit reads meta robots tags, the X-Robots-Tag header and data-nosnippet. noindex is rated critical; nosnippet and max-snippet:0 are rated high.

SourceMicrosoft Bing, 15 October 2025

F7

Network reachability (WAF, CDN, bot management)

Strong mechanism, unmeasured magnitude

ScopeSearch-on, every platform. The third gate most GEO advice leaves out.

Eligibility is a conjunction: robots.txt and the network path. A firewall that answers 403 to a crawler your robots.txt allows is a complete, silent failure, and no dashboard you own will show it.

“To make a website eligible for inclusion, allow OAI-Searchbot to crawl the site and confirm that the website host or content delivery network allows traffic from OpenAI’s published searchbot IP addresses.”
OpenAI Help Center, ChatGPT search (undated)

What it does not show

Passing this gate confers nothing beyond reachability, and nobody has measured how often it fails across the web. Blocking by IP has a side effect: Anthropic warns it can stop its crawler reading your robots.txt at all.

Measurable from outside

Request a page as each crawler and as a normal browser. Record the status code, any challenge or CAPTCHA page, and whether /robots.txt itself is reachable.

In a 99Visibility audit

The audit requests your page once per crawler and once as a browser, counts 401, 403, 429, 503 and bot-challenge pages as blocked, and reports every crawler your robots.txt allows but your network refuses. The request carries the crawler’s user agent, not its IP addresses, so neither a pass nor a refusal proves what the verified real crawler receives.

SourcesOpenAI Help Center, undated · OpenAI, 2 January 2026 · Anthropic, 7 April 2026

F8

Per-URL payload ceiling

Strong fact, near-null lever

ScopeGooglebot, per URL. Sub-resources are counted separately.

Googlebot fetches the first 2MB of a URL’s HTML and ignores the rest (64MB for PDFs).

“Googlebot currently fetches up to 2MB for any individual URL (excluding PDFs). … Any bytes that exist after that 2MB threshold are entirely ignored.”
Google Search Central blog, Inside Googlebot: demystifying crawling, fetching, and the bytes we process (31 March 2026)

What it does not show

Google’s own framing is that the vast majority of the web never hits this limit. It is not a limit on non-Google AI retrieval. Worth reporting only when a page exceeds it.

Measurable from outside

Record the raw HTML size of each URL. Flag pages over 2MB.

In a 99Visibility audit

Not checked.

SourceGoogle Search Central blog, 31 March 2026

F9

Bing index presence

Moderate

ScopeMicrosoft Copilot, Bing’s AI summaries and Microsoft’s grounding APIs. Plausibly upstream of ChatGPT search; that link is documented, not measured.

Bing’s index backs Copilot and Microsoft’s grounding tools. It is the only index-level upstream with a documented path into AI answers outside Google.

“Grounding from general web indexed by Bing”
Microsoft Learn, Web search and Grounding with Bing Search (Foundry agents) (11 July 2026)

What it does not show

Do not read it as “get into Bing to get into ChatGPT”. OpenAI’s language about its search providers is hedged, and nobody has measured the end-to-end effect.

Not measurable from a crawl

Needs Bing Webmaster Tools. Its AI Performance report is the only place anywhere that shows grounding queries, the searches the AI actually ran. There is no API for it.

In a 99Visibility audit

The access check reads Bingbot’s robots.txt rules and requests your page as Bingbot. Whether you are in Bing’s index is not visible from outside.

SourcesMicrosoft Learn, 11 July 2026 · Microsoft Bing, 10 February 2026

F14

Change notification (IndexNow)

Speculative

ScopeSeven consuming engines. Google is not one of them.

Microsoft asserts that IndexNow helps AI systems reference the current version of a page.

“By enabling faster discovery of content changes, IndexNow helps ensure that AI systems reference the most current version of a page when generating answers.”
Microsoft Bing, Introducing AI Performance in Bing Webmaster Tools (public preview) (10 February 2026)

What it does not show

That sentence is an assertion with no study behind it, from the consortium that runs the protocol. The IndexNow specification never mentions AI, LLMs or Copilot, and a 200 response confirms receipt only. The engines that consume it are Bing, Yandex, Seznam, Naver, Yep, the Internet Archive and Amazonbot.

Partly measurable

The key file at the site root is visible. Submissions and their effect are not.

In a 99Visibility audit

Not checked.

SourcesMicrosoft Bing, 10 February 2026 · IndexNow, undated · IndexNow, undated

Stage 2 — Retrieval: whether your page enters the answer’s context

Mostly controlled by the platform. The strongest effects here have no lever a publisher can pull.

F10

Position in the model’s context

Strong effect, no lever you can pull

ScopeSearch-on, shown in simulated pipelines across model families.

Where a document sits in the context the model reads is one of the largest effects in the experimental literature.

“Instead, traditional SEO strategies, those aiming to improve the ranking of the source in the LLM context, are significantly more effective.”
arXiv:2506.11097 (NeurIPS 2025), C-SEO Bench, a benchmark of conversational SEO methods (20 October 2025)

What it does not show

This is not evidence that classical SEO earns AI citations. The “SEO” arm moved the target document to first place in the context window; no index was queried and no rank was earned. No publisher can do that. The 252,000-trial factorial agrees, but used two candidates per trial, which likely overstates position.

Not measurable from a crawl

Nothing outside the search operator can measure it.

In a 99Visibility audit

Not checked.

SourcesarXiv:2506.11097 (NeurIPS 2025), 20 October 2025 · arXiv:2605.25517, May 2026

F11

Topical relevance to the search the AI runs

Moderate

ScopeShown at the generation stage among retrieved pages; assumed at retrieval.

Topical fit between your page and the search the AI actually runs is the one substantive factor that three independent lines of work agree on.

“Reviewed work indicates that topical relevance and context position are the most reproducible levers, generic heuristics transfer poorly, competition can erode individual gains, and citation-oriented rewrites can impair retrieval.”
arXiv:2607.14035, Optimizing Visibility in Generative Engines: A Critical Survey of GEO (2023–2026) (15 July 2026)
“Mixed-effects models show that topical relevance and list position are the biggest drivers of being cited first.”
arXiv:2605.25517, Factorial experiment, 252,000 trials, on what gets cited first (May 2026)

What it does not show

It is not keyword coverage: Google says you need not chase long-tail variants, and the original GEO paper found keyword stuffing lowered its own visibility metric. Both supporting studies are interested parties, a single-author unreviewed survey and a vendor-authored factorial on a synthetic corpus. Agreement between them is corroboration, not replication.

Partly measurable

Similarity between a page and a set of test prompts is computable, but the real queries are not observable: ChatGPT rewrites the question, Google fans it out into related searches.

In a 99Visibility audit

The audit asks each platform the prompts you track. That is a proxy for the real queries, which no tool outside Bing Webmaster Tools can see.

SourcesarXiv:2607.14035, 15 July 2026 · arXiv:2605.25517, May 2026

F12

Organic rank as a proxy

Moderate, decaying, contested

ScopeGoogle AI Overviews, as of March 2026.

In March 2026, 37.9% of URLs cited in AI Overviews also appeared in the first ten result blocks (37.1% counting organic results only). About 31% came from positions 11 to 100 and about 31% from beyond 100.

“37.9% of URLs cited in AI Overviews also appeared within the first 10 blocks.”
Ahrefs, Study of how many AI Overview citations rank in the top 10 (2 March 2026)

What it does not show

Do not read a trend into it. Ahrefs changed its parsing method between this study and the earlier one, so the two endpoints come from different instruments. A BrightEdge study reports a far lower top-10 share with no published sample size; the two disagree and neither is replicated. “Rank no longer matters” is equally unsupported.

Not measurable from a crawl

Needs rank tracking, and Google says no third-party tool has its ranking data.

In a 99Visibility audit

Not checked.

SourceAhrefs, 2 March 2026

F13

Declared freshness

Emerging signal, speculative lever

ScopeClaude’s web search exposes it; Microsoft names freshness in its guidance.

Claude’s web search results carry a page_age field, so the signal is exposed to the model.

What it does not show

Exposure is not weighting: no vendor says page age affects selection. The main study behind “update your pages to get cited” looked only at pages already cited, had no control group, and read dates the publisher declares. The 252,000-trial factorial did find a recent timestamp helped consistently, which leaves freshness unresolved rather than refuted.

Measurable from outside

sitemap lastmod, dateModified and Last-Modified are readable, but self-declared and trivially changed. An observation, never a score input.

In a 99Visibility audit

When a platform states an outdated fact about you, the audit flags it and the fix is to state the current fact, dated, on your own pages. It never tells you to bump a date.

SourcesAnthropic, undated · arXiv:2605.25517, May 2026

Stage 3 — Generation and citation: which retrieved pages get used

Where nearly all experimental GEO evidence lives, and conditional on stage 2 having already succeeded.

F15

Rewriting content to win citations

Strong evidence of null to negative

ScopeGeneration stage, across several model families, on documents already in context.

In the best-designed tests, rewriting content for citation does not work and often hurts.

“Our experiments reveal that most current C-SEO methods are not only largely ineffective but also frequently have a negative impact on document ranking, which is opposite to what is expected.”
arXiv:2506.11097 (NeurIPS 2025), C-SEO Bench, a benchmark of conversational SEO methods (20 October 2025)
“formatting-only edits have little impact”
arXiv:2605.25517, Factorial experiment, 252,000 trials, on what gets cited first (May 2026)

What it does not show

It is a null inside the context window. It does not prove content quality is irrelevant, and it does not test whether anything helps a page enter the candidate set. It is 2025 benchmark evidence, not yet repeated on current models.

Measurable from outside

Detect the tactics on the page (appended quotation blocks, injected statistics, “according to authoritative sources” boilerplate) and report them as risks, not wins.

In a 99Visibility audit

Not checked.

SourcesarXiv:2506.11097 (NeurIPS 2025), 20 October 2025 · arXiv:2605.25517, May 2026 · Ahrefs, 11 May 2026

F16

Predictable prose (low perplexity)

Emerging, not actionable

ScopeWhich already-retrieved pages get cited, on Google’s generative surfaces and the authors’ own engine.

Generative engines tend to cite text their underlying model finds predictable.

“Our empirical analysis reveals that GEs exhibit preferences for citing content characterized by significantly higher predictability for underlying LLMs and greater semantic similarity among selected sources.”
arXiv:2509.14436, When Content is Goliath and Algorithm is David (17 September 2025)

What it does not show

This is not “write simply”. The causal test had an LLM rewrite whole pages, changing register, structure and length at once, so predictability was never isolated. It is measured against one model and predates every 2026 release.

Partly measurable

Only as a proxy, under an open model that is not the one doing the citing.

In a 99Visibility audit

Not checked.

SourcearXiv:2509.14436, 17 September 2025

F17

Injected or adversarial content

Strong effect, illegitimate as a lever

ScopeAgentic search against a mock search API. No live web was touched.

Once manipulated content is in the result set, agentic search can be steered by it, and how often depends heavily on the model and the setup around it.

“the same deployment scaffold could amplify or decrease ASR on different backends”
arXiv:2606.16821, Attack study of injected content in agentic retrieval (23 June 2026)

What it does not show

The study never published adversarial content to the open web, so it shows what happens once such content is retrieved, not how hard getting there is. Per-model attack rates re-baseline with every safety update. It is here as a defence: a third-party page can misrepresent you.

Measurable from outside

Scan third-party pages that mention a brand for injected instructions.

In a 99Visibility audit

Not in the audit. Agent V treats every page it reads, your own included, as data and never as instructions.

SourcearXiv:2606.16821, 23 June 2026

Across every stage

One factor shows up everywhere, and it is the one nobody controls for.

F18

Brand prominence

Strong association, not a lever

ScopeEvery platform, search on or off.

AI citations concentrate heavily on sources that are already large.

“the top 20 most frequent news sources account for 67.3% of all citations for OpenAI models”
arXiv:2507.05301, Analysis of which sources AI search engines cite (7 July 2025)

What it does not show

It is the main uncontrolled confounder in every correlational GEO study, and nothing controls for it: the usual controls, Domain Rating and Domain Authority, are vendor regressions built from the same backlinks and traffic. The data window, March to May 2025, is old and self-selected.

Not measurable from a crawl

Use it to stratify. A benchmark that does not compare brands of similar size measures brand size.

In a 99Visibility audit

Not checked.

SourcearXiv:2507.05301, 7 July 2025

04 · The drop list

What does not work, and what killed it

Each of these is sold as a GEO tactic today. Each is contradicted by a primary source: the vendor that runs the system, or the only controlled test that exists. Where the kill has limits, they are stated.

  1. llms.txt and other AI text files improve AI visibility

    Killed byGoogle says Google Search does not use them and they neither help nor harm.

    “You don’t need to create new machine readable files, AI text files, markup, or Markdown to appear in Google Search (including its generative AI capabilities), as Google Search itself doesn’t use them.”
    Google Search Central, AI optimization guide (10 July 2026)

    LimitGoogle’s statement covers Google Search only, and the same paragraph calls it completely fine to keep one for other services. No other engine documents reading one either.

    SourceGoogle Search Central, 10 July 2026

  2. Schema markup (JSON-LD) increases AI citations

    Killed byThe only matched-control test: 1,885 pages that added JSON-LD between August 2025 and March 2026, against 4,000 controls. No major uplift on any platform. AI Overview citations fell 4.6% more than matched controls (statistically significant, and Ahrefs says it cannot clearly attribute the drop to schema); AI Mode and ChatGPT moved within noise.

    “Adding schema produced no major uplift in citations on any platform.”
    Ahrefs, We tracked 1,885 pages adding schema. AI citations barely moved. (11 May 2026)

    LimitEvery treated page already had 100+ AI Overview citations. Whether schema helps a page that is not yet cited enter the candidate set is untested, not refuted.

    SourcesAhrefs, 11 May 2026 · Google Search Central, 10 July 2026

  3. FAQPage schema for AI answers

    Killed byGoogle deprecated FAQ rich results (changelog entry dated 2026-05-08, effective 2026-05-07), removed the FAQPage documentation on 2026-06-15; the changelog does not establish the previously claimed August API-removal date.

    LimitThis retires FAQ markup as a Google rich result, not question-and-answer content. Leaving existing markup does no harm.

    SourceGoogle Search Central, undated

  4. “Improve your E-E-A-T score”

    Killed byGoogle says E-E-A-T is not a specific ranking factor. There is no number to move.

    SourceGoogle Search Central, 10 December 2025

  5. Domain Authority drives AI citation

    Killed byGoogle publishes no site-level authority score and does not use the term. Domain Authority and Domain Rating are third-party vendor regressions.

    LimitGoogle does say its systems use “page-level and site-wide signals”, and it names a news-scoped topic authority system. The accurate claim is: no published score, no first-party use of the term.

    SourceGoogle Search Central, 10 December 2025

  6. “Chunk your content for LLMs”

    Killed byGoogle’s AI guide tells you to ignore chunking and says there is no ideal page length. The chunking research measures how the search operator splits documents it already holds, which no publisher controls.

    “you can ignore tactics like "chunking" content”
    Google Search Central, AI optimization guide (10 July 2026)

    SourcesGoogle Search Central, 10 July 2026 · arXiv:2603.06976, March 2026

  7. “Write in an AI-friendly style” and “cover every long-tail variant”

    Killed byGoogle says you do not need to write in a specific way for generative AI search.

    “This means you don’t have to worry that you don’t have enough "long-tail" keywords or haven’t captured every variation of how someone might seek content like yours.”
    Google Search Central, AI optimization guide (10 July 2026)

    SourceGoogle Search Central, 10 July 2026

  8. IndexNow speeds up AI and Copilot citation

    Killed byThe specification never mentions AI, LLMs or Copilot, a 200 response confirms receipt only, and the list of consuming engines has no Google entry.

    LimitBing’s index does back Copilot, so an indirect path exists. Nobody has measured it.

    SourcesIndexNow, undated · IndexNow, undated

  9. “Allow GPTBot to get cited in ChatGPT”

    Killed byOpenAI describes GPTBot as a training crawler and claims no search benefit anywhere on the page.

    SourceOpenAI, undated

  10. “Blocking GPTBot removes you from ChatGPT search”

    Killed byOpenAI says the crawlers are independent settings.

    “Each setting is independent of the others – for example, a webmaster can allow OAI-SearchBot in order to appear in search results while disallowing GPTBot to indicate that crawled content should not be used for training OpenAI’s generative AI foundation models.”
    OpenAI, Overview of OpenAI crawlers (undated)

    SourceOpenAI, undated

  11. Review-profile presence drives AI citation

    Killed byThe study behind it never defines its “citation rate”, its tiers have no numeric thresholds, and its biggest jump sits exactly where brand-size confounding is strongest. It is tied to a Trustpilot white paper with no funding disclosure. Unusable at any confidence level.

    StudySeer Interactive, 2026-05-14 (no link recorded in our evidence base)

  12. “Optimize for the prompts your customers type”

    Killed byThe platforms do not search with the prompt. ChatGPT rewrites it into its own queries; Google fans it out into related searches. Prompt trackers measure a proxy for an input they cannot see.

    “ChatGPT search typically rewrites your query into one or more targeted queries that it sends those providers.”
    OpenAI Help Center, ChatGPT search (undated)

    SourcesOpenAI Help Center, undated · Google Search Central, 10 December 2025

  13. AI rank or position tracking for Google

    Killed byGoogle’s generative AI report has impressions only: no clicks, no CTR, no position. And Google says third-party tools have no access to its ranking data. There is no ground truth to check a position metric against.

    “Third-party tools don’t have access to our internal ranking data.”
    Google Search Central, Guidance on third-party SEO and "GEO" tools (5 June 2026)

    SourcesGoogle Search Console Help, undated · Google Search Central, 5 June 2026

  14. “GEO delivers up to 40% more visibility”

    Killed byMeasured on an engine the authors built, with sources loaded into context. The one Perplexity test uploaded source text as files. The metric counts words the intervention itself added, and the paper reports a 30–40% band across three methods, not the itemised figures in circulation.

  15. “Anthropic crawls 38,000 pages per referral”

    Killed byA July 2025 snapshot. The ratio mostly reflects what a bot is for: a training crawler has no referral surface by construction.

    SourceCloudflare, 29 August 2025

  16. One cross-platform “AI visibility score” as a measurement

    Killed byGoogle says AI Overviews and AI Mode “may use different models and techniques” and return different links. Citation units differ: Claude cites spans of text, Perplexity whole sources. There is no shared denominator.

    LimitOur own visibility score is a model of this kind. We publish its formula and say which platforms we ask with search on and which with it off.

    SourcesGoogle Search Central, 10 December 2025 · Anthropic, undated

  17. “ChatGPT is 92% of AI traffic”

    Killed byChatGPT stamps its referral links; most rivals do not, and Google AI Overviews send no referral at all. A share of trackable referrals measures stamping behaviour. Treat it as an upper bound, never an estimate.

    “ChatGPT automatically includes the UTM parameter utm_source=chatgpt.com in referral URLs.”
    OpenAI Help Center, Publishers and developers FAQ (undated)

    SourceOpenAI Help Center, undated

  18. robots.txt alone decides whether AI can reach you

    Killed bySome fetchers say they may not follow it, and a firewall can refuse a crawler robots.txt allows. robots.txt is necessary, not sufficient: pair it with a network test.

    SourcesOpenAI, undated · Perplexity, 29 January 2026 · OpenAI Help Center, undated

  19. “Refresh your content regularly and AI will cite you”

    Killed byObservational, on already-cited pages, with no control group and dates the publisher declares. Exposing page_age is not weighting it.

    LimitThe 252,000-trial factorial found a recent timestamp helped consistently. Freshness is unresolved, not refuted. It is not a lever you can sell.

    SourceAnthropic, undated

05 · Per platform

How each AI platform decides what it can use

“AI search” is five different systems with five different crawlers, documents and defaults. Below is what each vendor documents, what it does not, and exactly what a 99Visibility audit measures for it: whether we ask with search on or off, which model, and how much the platform weighs in the score.

Which access gates ChatGPT, Perplexity, Claude, Google AI Overviews and Gemini each document as a requirement
Figure 2. What each AI platform documents, gate by gate. Drawn by 99Visibility from OpenAI, OpenAI Help Center, Perplexity, Anthropic, Google Search Central, Google Search Central and Vercel. Download as WebP.
Figure 2 as a table
Which access gates each AI platform documents as a requirement
Platform01 · ROBOTS.TXT ALLOWS ITS CRAWLER02 · NETWORK LETS IT IN03 · FACTS IN SERVER HTML04 · INDEXED, SNIPPET-ELIGIBLE
ChatGPTDocumented requirementOAI-SearchBotDocumented requirementOpenAI IP rangesDocumented requirementno JavaScript runNot documented by the vendor
PerplexityDocumented requirementPerplexityBotDocumented requirementpublished IP listsDocumented requirementno JavaScript runNot documented by the vendor
ClaudeDocumented requirementClaude-SearchBotDocumented requirementno IP blockingDocumented requirementno JavaScript runNot documented by the vendor
Google AI OverviewsDocumented requirementGooglebotDocumented requirementGooglebot reachesDoes not applyGooglebot rendersDocumented requirementthe whole rule
GeminiDocumented requirementGoogle-ExtendedDocumented requirementGoogle reachesDoes not applyGoogle rendersNot documented by the vendor

ChatGPT

Two systems in one product: a model that answers from training data, and a search mode it switches on when it decides to. Only the second can see your site.

  • OAI-SearchBot decides whether you can appear in ChatGPT search. GPTBot only governs training, and OpenAI says each setting is independent. (OpenAI)
  • Eligibility needs both robots.txt permission and a host or CDN that lets OpenAI’s published IP ranges through. OpenAI publishes those ranges as IPv4 only. (OpenAI Help Center; OpenAI)
  • When it searches, ChatGPT rewrites the question into its own queries. Its whole published ranking disclosure is “multiple factors”. (OpenAI Help Center)
  • With search off, answers come from training data. As checked on October 16, 2026, OpenAI lists an April 20, 2026 cutoff for chat-latest, an alias whose underlying model changes over time. (OpenAI)
  • ChatGPT-User fetches pages a person asks for, and OpenAI says robots.txt rules “may not apply” to it. (OpenAI)

Crawlers that matter here

  • OAI-SearchBot · search
  • GPTBot · training
  • ChatGPT-User · search

In a 99Visibility audit

Column ChatGPT · 40% of the coverage weight · web search off · model gpt-6-luna · training cutoff May 2026

We ask the model through OpenAI’s API with web search off, so this column measures what ChatGPT already knows about you. ChatGPT itself searches when its model decides to; we do not reproduce that.

ChatGPT visibility: mechanics and what we check →

Perplexity

Search-first: answers are built from pages retrieved at answer time and cited as whole sources. What PerplexityBot cannot fetch, Perplexity cannot cite.

  • PerplexityBot builds Perplexity’s search index and, by Perplexity’s own account, is not used to crawl content for AI foundation models. (Perplexity)
  • Perplexity-User fetches pages for a person, and Perplexity says it “generally ignores robots.txt rules”. Blocking it is not reliable. (Perplexity)
  • Perplexity publishes IP lists for both crawlers and documents how to allow them in a firewall, so a 403 at your CDN is fixable. (Perplexity)
  • Perplexity cites whole sources; Claude cites spans of text. Citation counts from the two are not the same unit. (Anthropic)

Crawlers that matter here

  • PerplexityBot · search
  • Perplexity-User · search

In a 99Visibility audit

Column Perplexity · 20% of the coverage weight · live search results · model perplexity/sonar

We call Perplexity’s own Sonar model through its Agent API with web search requested, so this column is built from pages Perplexity retrieves at answer time. The Perplexity app routes many answers through other vendors’ models, so treat the column as a proxy.

Perplexity visibility: mechanics and what we check →

Google AI Overviews

Built on Google Search: indexed and snippet-eligible is the whole requirement. Googlebot renders JavaScript, so the gates here are index, snippet controls and a Search Console setting you may never have seen.

  • A page must be indexed and eligible for a snippet. Google says there are no additional technical requirements and no special optimizations. (Google Search Central)
  • No robots.txt token blocks AI Overviews; Googlebot is the control. Google-Extended “does not impact a site’s inclusion in Google Search nor is it used as a ranking signal”. (Google Search Central)
  • Inclusion is on by default. A Search Console control can switch it off, and child properties inherit it from the parent. (Google Search Console Help)
  • AI Overviews and AI Mode “may use different models and techniques”, and both may fan one query out into several related searches. (Google Search Central)
  • 37.9% of URLs cited in AI Overviews also appeared in the first ten result blocks in March 2026. Rank helps; most citations still come from outside the top ten. (Ahrefs)
  • Search Console’s generative AI report shows impressions only. No clicks, no CTR, no position, no API. (Google Search Console Help)

Crawlers that matter here

  • Googlebot · search and training
  • Google-Extended · training

In a 99Visibility audit

Column Google AI Overviews · 20% of the coverage weight · live search results

We read the AI Overview Google actually shows for your keyword, through DataForSEO’s SERP API, in US English. When Google shows no overview, the query is skipped, not counted as a miss.

SourceDataForSEO, undated

Google AI Overviews visibility: mechanics and what we check →

Gemini

A separate product from AI Overviews and AI Mode. Gemini grounds answers in Google Search, renders JavaScript through Google’s infrastructure, and has its own robots.txt token for training and grounding.

  • Google-Extended controls Gemini training and grounding. Google states it does not affect inclusion in Google Search. (Google Search Central)
  • Gemini uses Googlebot’s infrastructure, so it renders JavaScript where most AI crawlers do not. (Vercel)
  • Google’s generative surfaces may use different models and return different links, so a Gemini answer says little about an AI Overview. (Google Search Central)
  • Google reports Gemini 3.5 Flash as AI Mode’s default model since 2026-05-19, while the Gemini app offers newer models. (Google)

Crawlers that matter here

  • Google-Extended · training
  • Googlebot · search and training

In a 99Visibility audit

Column Gemini · 10% of the coverage weight · Google Search grounding on · model gemini-3.8-flash

We call the Gemini API with Google Search grounding on. That is neither the Gemini app nor AI Overviews, which Google says may use different models and return different links.

Gemini visibility: mechanics and what we check →

Claude

Three crawlers with three jobs, routinely blocked as one. Claude searches when its user or the developer turns search on; otherwise it answers from training data.

  • ClaudeBot collects training data. Claude-SearchBot indexes for search. Claude-User fetches pages a person asks for. (Anthropic)
  • Anthropic says disabling Claude-SearchBot “may reduce your site’s visibility and accuracy in user search results”, and that blocking its IP addresses can stop it reading your robots.txt. (Anthropic)
  • Claude’s web search returns a page_age for each result and cites spans of text (cited_text), not whole pages. On the API it costs $10 per 1,000 searches. (Anthropic)
  • In the Claude apps, web search is a toggle the user controls. (Anthropic)

Crawlers that matter here

  • ClaudeBot · training
  • Claude-SearchBot · search
  • Claude-User · search

In a 99Visibility audit

Column Claude · 10% of the coverage weight · web search off · model claude-sonnet-5-5 · training cutoff June 2026

We ask the model through Anthropic’s API with web search off, so this column measures what Claude already knows about you. Citation rate cannot be scored there: a model that does not search cites nothing.

Claude visibility: mechanics and what we check →

Meta AI is not an audited platform, but Meta-WebIndexer is in our access check: Meta is the only vendor that states in writing that allowing its crawler helps it cite you (Meta for Developers).

06 · First-party data

Our own measurements, dated

Two measurements we have saved results for. Both are small. We publish them as what we saw on the day, not as rates for the web.

We audited our own site’s indexing

Google Search Console data as of 12 October 2026 · published 16 October 2026

URLs in our sitemap, every one a clean 200 with a self-canonical and no noindex
132URLs in our sitemap, every one a clean 200 with a self-canonical and no noindex
indexed by Google
52 (39%)indexed by Google
pages that served their title and canonical to AI crawlers inside <body>
84pages that served their title and canonical to AI crawlers inside <body>

Nothing was blocked, so access was not the problem. Fixing internal links on 17 September 2026 got Google to index 19 more pages within days, and impressions did not follow: 139 a day on average before, 132 after. Getting a page indexed and getting it shown are different problems.

What the skipped pages share: 39 had under 300 words of their own, and we had written the same 9 topics three to six times each.

The finding we did not expect: since Next.js 15.2, metadata on pages rendered on demand streams into <body> for any user agent not on the framework’s list, and GPTBot, OAI-SearchBot, ClaudeBot and PerplexityBot are not on it. Googlebot runs JavaScript and sees it moved back; the AI crawlers do not. Google only accepts a canonical inside <head>. We set htmlLimitedBots: /.*/ on 16 October 2026. Whether this changes AI citation has not been measured by anyone.

Sources99Visibility, 12 October 2026 · Next.js, undated · Google Search Central, undated

Read the indexing self-audit: why Google indexes 39% of our site →

AI crawler access on 43 sites, the day before Cloudflare’s default change

Captured 14 September 2026, 00:19–00:21 UTC · every distinct brand origin in our database that day

sites refused at least one crawler their own robots.txt allowed, while serving a normal browser
9 of 34sites refused at least one crawler their own robots.txt allowed, while serving a normal browser
of those refusals came from sites behind Cloudflare
8 of 9of those refusals came from sites behind Cloudflare
sites that allow OAI-SearchBot in robots.txt refused it at the network
1 of 32sites that allow OAI-SearchBot in robots.txt refused it at the network

What the refusals were: one site turned away 7 of the 8 AI search and answer crawlers we sent, OAI-SearchBot, Claude-SearchBot and PerplexityBot among them. That is the silent failure: robots.txt says yes, the network says no, and nothing in the owner’s dashboards shows it. 6 refusals involved Bytespider, a training crawler, which costs no search visibility. 2 sites refused only our Googlebot and Bingbot requests, which is what an impostor check does to a request that carries Google’s user agent but not Google’s IP address.

robots.txt itself: 33 of 43 files were readable. None used a blanket disallow, and none blocked a search-only crawler. 2 blocked training crawlers by name while leaving the search crawlers alone, which is the split the vendors document. 2 returned a server error, which the robots.txt standard (RFC 9309) tells crawlers to treat as “disallow everything”, and 8 did not answer at all.

Limits: 43 sites from our own database are not a sample of the web. Probes came from one datacenter with each vendor’s user agent but not its IP addresses, so a refusal is real for that request and a pass proves nothing about the real crawler. We have not yet repeated the capture after the change, so this is a single snapshot, not a before-and-after. Site names are not published.

Cloudflare’s change is covered in our write-up of the September 15 controls and onboarding presets. See Cloudflare’s primary announcement for the existing-zone migrations and new-domain presets.

07 · The gaps

What nobody can measure yet

No crawl and no public API answers these. Any tool that reports a number for them is reporting a proxy, and should say so.

  • Whether your page was retrieved for a real person’s question

    No consumer AI product exposes it, on any platform.

  • Your position inside an AI answer

    Google’s first-party report has no position at all, and Google says third parties have no ranking ground truth.

    SourcesGoogle Search Console Help, undated · Google Search Central, 5 June 2026

  • The searches the AI actually ran

    ChatGPT rewrites the question and Google fans it out. Only Bing Webmaster Tools shows grounding queries, in its interface, with no API.

    SourcesOpenAI Help Center, undated · Microsoft Bing, 10 February 2026

  • Whether a given answer used search

    Search fires at the platform’s discretion. Published estimates of how often ChatGPT searches disagree with each other by a wide margin and measure different things. Without visible citations, you do not know.

  • Whether you are in a training set, and what it does

    No vendor exposes training-set membership. Any effect lands a model generation later, bounded by the cutoff.

    SourceOpenAI, undated

  • Whether a citation reflects use

    Citation emission can be separated from source influence inside the model.

    SourcearXiv:2606.28358 (ECIR 2026), June 2026

  • Google and Bing index membership, and your Search Console AI setting

    Each needs the owner’s Search Console or Bing Webmaster Tools access. A crawl sees eligibility signals, not membership.

    SourceGoogle Search Console Help, undated

  • Ranking factors on ChatGPT or Perplexity

    OpenAI’s complete disclosure is “multiple factors”. Perplexity publishes none.

    SourceOpenAI Help Center, undated

  • Whether a robots.txt rule is honoured

    Two vendors say their user-triggered fetchers may not follow it. Logs from your own CDN are the only ground truth.

    SourcesOpenAI, undated · Perplexity, 29 January 2026

Open questions nobody has answered

Each needs audit data across many sites. Where we stand on each is stated plainly, including where we have not started.

Open research questions in GEO and our status on each
QuestionWhy it mattersWhere we are
Does closing the JavaScript rendering gap change citation?The mechanism is documented and the fix is a datable deploy. Every comparable GEO intervention in the literature came back null, so a positive result would be the only positive causal finding in existence.Designed, not run. It needs the same headless renderer our hydration check is waiting on.
Does the schema null hold for pages not yet cited?Ahrefs only studied pages with 100+ AI Overview citations. Mid-sized brands at zero citations are exactly the population it excluded.Not started.
How often does robots.txt say yes while the network says no?Nobody has published the rate. It is cheap to measure from outside and segment by CDN.Instrument built; one 43-site snapshot below. Not yet a rate for the web.
What share of all pages carry a recent date?Without that denominator, “75% of cited pages were updated in the last year” could be zero signal.Not started.
What does AI get wrong about commercial brands, by type?Error censuses exist for news, not for companies: wrong prices, outdated product names, founding and location errors, competitor mix-ups.Our audit already extracts these errors per answer. No study published.
How different is what ChatGPT says about you with search on and off?The search-off answer can be over a year stale. Nobody has measured the gap brand by brand.Not started.
What separates a retrieved page that gets cited from one that gets dropped?OpenAI, Anthropic and Perplexity all expose more than the citations. The same question’s retrieval set is a built-in control group.Partly instrumented: we parse Perplexity’s retrieved URLs but do not yet keep them.
Does allowing Meta-WebIndexer get you into Meta AI?Meta is the only vendor that says so in writing, and nobody tracks Meta AI.Meta-WebIndexer is in our access check. Meta AI is not an audited platform.
Do the prompts GEO tools test match the searches AI runs?Bing shows the real grounding queries. Nobody has published the overlap with test prompts.Blocked: Bing exposes grounding queries in its interface only.

08 · In the product

How 99Visibility applies this research

The audit is built around the factors that survive: access first, then what the platforms get wrong about you. Where the evidence says a factor cannot be measured, the audit does not pretend to, and where we have not built a check yet, this table says so.

Which factors a 99Visibility audit checks, and how
FactorIn the audit
F1Knowledge cutoffPartly, or by proxy
F2Training-corpus inclusionChecked
F3Server-side rendering of the facts that matterNot yet built
F4Per-bot robots.txt permissionChecked
F5Google index and snippet eligibilityPartly, or by proxy
F6Section-level suppression controlsChecked
F7Network reachability (WAF, CDN, bot management)Checked
F8Per-URL payload ceilingNot checked
F9Bing index presencePartly, or by proxy
F10Position in the model’s contextNot checked
F11Topical relevance to the search the AI runsPartly, or by proxy
F12Organic rank as a proxyNot checked
F13Declared freshnessPartly, or by proxy
F14Change notification (IndexNow)Not checked
F15Rewriting content to win citationsNot checked
F16Predictable prose (low perplexity)Not checked
F17Injected or adversarial contentNot checked
F18Brand prominenceNot checked
Factual accuracyEvery audited answer is compared with the facts you enter (price, founding year, location, features), and contradictions are flagged by severity. Fixing a contradiction on your own pages is the lever the evidence base lists alongside access, and it is fully yours. See hallucination detection.
Schema markupChecked for parity only: facts in your JSON-LD that your visible text does not show. Never recommended as a ranking lever, and never critical.

The score is a model

A weighted average of Mention Rate (40%), Accuracy (30%), Sentiment (15%) and Citation Rate (15%), multiplied by 0.2 + 0.8 × coverage, where coverage is the market-weighted share of the platforms in your audit that mentioned you at least once. Mentioned on no platform, the score is 0. The platform weights are ChatGPT 40%, Google AI Overviews 20%, Perplexity 20%, Gemini 10% and Claude 10%. That makes it exactly the kind of single cross-platform number the drop list warns about, so we publish the formula and say which columns are asked with search on and which with it off. Read it as our model, not a measurement.

How the visibility score is calculated →

Free tool

The robots.txt checker runs the audit’s own evaluator on your file for 18 AI crawlers, shows the line that decides each one, and separates search crawlers from training crawlers. It reads one file; the firewall test needs the audit.

Check your robots.txt against 18 AI crawlers →

Agent V turns the findings into fixes

Agent V is the assistant inside your 99Visibility dashboard. It reads your audits and the pages on your own site, then drafts the fix: corrected copy, the robots.txt lines for each AI crawler, or JSON-LD to paste. Drafts are text for you to paste; V never edits your site.

Changes to your account, such as running an audit, checking a page, adding keywords or a competitor, or marking a fix done, appear as a card you confirm. Nothing changes until you do. V can only see the account you are signed in to.

Its standing instructions put access problems first, then what the platforms get wrong, and forbid it to sell schema, domain authority or E-E-A-T as a fix. When it drafts JSON-LD, it is for keeping your markup in agreement with your page, not for ranking.

It treats every page it reads, your own included, as data and never as instructions.

What Agent V reads, drafts and changes →

09 · Provenance

Every source, with its date and ours

“Its date” is what the source says about itself; many vendor pages carry none. “Last read” is the day a person checked it against the claims here. “Weekly watch” means our script diffs the page every Monday and raises the claims to re-check when a watched sentence changes; the date is when its current baseline was captured.

Sources cited on this page with their own dates, our last read and watch status
SourceIts dateLast readWeekly watch
Google Search CentralAI optimization guide10 July 2026last updatedWatched, baseline 23 August 2026
Google Search CentralAI features and your website10 December 2025last updatedWatched, baseline 23 August 2026
Google Search CentralGoogle's common crawlers14 July 2026last updatedWatched, baseline 23 August 2026
Google Search CentralSearch documentation updates (changelog)undatedchangelog; each entry carries its own dateWatched, baseline 23 August 2026
Google Search CentralA guide to Google Search ranking systems10 December 2025last updatedWatched, baseline 23 August 2026
Google Search CentralGuidance on third-party SEO and "GEO" tools5 June 2026last updatedWatched, baseline 23 August 2026
Google Search Console HelpGenerative AI features inclusion controlundatedundated help pageWatched, baseline 23 August 2026
Google Search Console HelpGenerative AI performance reportundatedundated help page; the report was announced 2026-06-03Watched, baseline 23 August 2026
GoogleSearch announcements from I/O 2026undatedblog post; the AI Mode default it reports dates from 2026-05-19Watched, baseline 21 September 2026
OpenAIOverview of OpenAI crawlersundatedundated pageWatched, baseline 23 August 2026
OpenAI Help CenterChatGPT searchundatedshows a relative date onlyWatched, baseline 23 August 2026
OpenAIOAI-SearchBot IP ranges (searchbot.json)2 January 2026the file’s creationTime fieldWatched, baseline 23 August 2026
OpenAIModelsundatedundated indexWatched, baseline 23 August 2026
OpenAIchat-latest (the Instant model used in ChatGPT)undatedundated model pageWatched, baseline 21 September 2026
AnthropicAnthropic’s crawlers and how to block them7 April 2026last updatedWatched, baseline 23 August 2026
AnthropicWeb search toolundatedundated pageWatched, baseline 23 August 2026
AnthropicClaude app system prompts (release notes)undatedindex of dated entriesWatched, baseline 21 September 2026
PerplexityPerplexity crawlers29 January 2026last updatedWatched, baseline 23 August 2026
Microsoft BingBing Webmaster blogundatedindex of dated postsWatched, baseline 23 August 2026
Microsoft LearnWeb search and Grounding with Bing Search (Foundry agents)11 July 2026updated; first dated 2026-04-08Watched, baseline 23 August 2026
IndexNowParticipating search engines (searchengines.json)undatedmachine-readable list, no dateWatched, baseline 23 August 2026
DataForSEOHow to scrape Google AI Overviews with the SERP APIundatedundated help articleWatched, baseline 21 September 2026
VercelThe rise of the AI crawler17 December 2024published; modified 2025-02-06Watched, baseline 23 August 2026
AhrefsWe tracked 1,885 pages adding schema. AI citations barely moved.11 May 2026publishedWatched, baseline 23 August 2026
arXiv:2607.14035Optimizing Visibility in Generative Engines: A Critical Survey of GEO (2023–2026)15 July 2026v1; single author, not peer reviewedWatched, baseline 23 August 2026
arXiv:2506.11097 (NeurIPS 2025)C-SEO Bench, a benchmark of conversational SEO methods20 October 2025v3; NeurIPS 2025 Datasets and BenchmarksWatched, baseline 23 August 2026
Google Search Central blogInside Googlebot: demystifying crawling, fetching, and the bytes we process31 March 2026publishedNot watched
Google Search CentralCreating helpful, reliable, people-first content10 December 2025last updatedNot watched
Microsoft BingBing introduces support for the data-nosnippet HTML attribute15 October 2025publishedNot watched (announced via Bing Webmaster blog)
Microsoft BingIntroducing AI Performance in Bing Webmaster Tools (public preview)10 February 2026publishedNot watched (announced via Bing Webmaster blog)
Meta for DevelopersMeta web crawlers21 May 2026last updatedNot watched
OpenAI Help CenterPublishers and developers FAQundatedundated help pageNot watched
IndexNowIndexNow documentationundatedundated specificationNot watched
AhrefsStudy of how many AI Overview citations rank in the top 102 March 2026publishedNot watched
CloudflareCrawl-to-referral ratios by AI platform29 August 2025published; data from July 2025Not watched
arXiv:2311.09735 (KDD 2024)The original GEO paper2024v3; KDD 2024Not watched
arXiv:2605.25517Factorial experiment, 252,000 trials, on what gets cited firstMay 2026month from the arXiv identifier; vendor-authored (Sprinklr)Not watched
arXiv:2509.14436When Content is Goliath and Algorithm is David17 September 2025v1Not watched
arXiv:2606.16821Attack study of injected content in agentic retrieval23 June 2026v2Not watched
arXiv:2507.05301Analysis of which sources AI search engines cite7 July 2025v1; data from March–May 2025Not watched
arXiv:2606.28358 (ECIR 2026)Mechanistic study of how a model emits citationsJune 2026month from the arXiv identifierNot watched
arXiv:2603.06976Benchmark of 36 document-chunking methodsMarch 2026month from the arXiv identifierNot watched
Google Search CentralConsolidate duplicate URLs (rel=canonical)undatedread for our self-auditNot watched
Next.jshtmlLimitedBots configurationundatedread for our self-auditNot watched
99VisibilityWe audited our own site. Google indexes 39% of it.12 October 2026Search Console data as of this day; published 2026-10-16Our data
99VisibilityAI crawler access baseline, 43 site origins14 September 2026captured 00:19–00:21 UTCOur data

10 · Change log

What changed, and when

Our own changes first, then the dated changes inside the sources themselves.

  1. Page rebuilt; indexing self-audit published

    Every finding now names its source, the source’s own date and the day we last read it, and says whether our weekly watcher diffs it. Added per-platform mechanics, our own measurements and the list of what nobody can measure. Our self-audit found Google indexing 52 of our 132 sitemap URLs and Next.js serving our titles to AI crawlers inside <body>; we moved the metadata back into <head> the same day.

  2. Watch list extended to the consumer apps; AI Overviews split out

    Added the model and release-note pages for ChatGPT, Claude, Gemini, Perplexity and Google’s AI Mode to the weekly watch. Google AI Overviews became its own column in the audit, separate from the Gemini API.

  3. Crawler access baseline captured

    Robots.txt and network checks on 43 site origins, the day before Cloudflare’s announced change to its AI-crawler defaults. Results below.

  4. Unsourced statistics removed

    An earlier version of this page showed per-platform mention, accuracy and citation rates and a hallucination breakdown. No dataset we hold supports them, and our own data contradicted one. They are gone, here and on every customer-facing page.

  5. Weekly source watch started

    A script now diffs the primary sources behind these claims every Monday and opens an issue naming the claims to re-check when one changes.

  6. Verification-first evidence review

    140 claims checked against their primary documents: 100 confirmed, 34 over-claimed, 5 misquoted, 1 superseded, none unreachable. It corrected six things our first pass got wrong (listed below).

  7. Page first published

    The first version of this page.

Corrections the 2026-08-22 review made to our own first pass

What our first research pass said and what the verified review found
We had saidActually
Google’s guide invalidates llms.txt.Scope error. The statement covers Google Search only, and Google calls it fine to keep one for other services. The advice is still unsupported, because no other engine documents reading it, but the reason is narrower.
The top-10 share of AI Overview citations fell from 76% to 38%.Not a trend. Ahrefs changed its parsing method between the two studies. The 38% stands for March 2026; the decline does not.
Schema is settled as null or negative.A boundary condition. Every page in the only matched test was already heavily cited, so whether schema helps a page enter the candidate set is untested, not refuted.
Review profiles are an emerging citation factor.Downgraded to unusable: the study never defines its citation rate and its jump sits where brand size confounds most.
Google’s statements are decisive evidence.They are assertions, not measurements, and unfalsifiable from outside. Still the best evidence for Google’s own surfaces; not the same thing as a study.
You must opt in to Google’s AI features in Search Console.It is opt-out. Inclusion is the default for every property, and the control inherits to child properties.

Dated changes in the sources

Dated changes published by the platforms and vendors
DateChangeSource
2026-07-10Google updates its AI optimization guide: no AI text files, no chunking, no special markup needed.Google Search Central
2026-06-15Google removes the FAQPage structured-data documentation.Google Search Central
2026-05-19Gemini 3.5 Flash becomes the default model in Google’s AI Mode.Google
2026-05-07Google deprecates FAQ rich results.Google Search Central
2026-03-31Google documents Googlebot’s 2MB per-URL fetch limit.Google Search Central blog
2026-02-10Bing Webmaster Tools adds an AI Performance report with grounding queries (public preview).Microsoft Bing
2025-10-15Bing starts honouring data-nosnippet, including in AI summaries.Microsoft Bing

11 · Methodology

How this research is built and kept current

The findings come from a verification-first review completed on 22 August 2026. Nothing entered unless an agent fetched the primary document and recorded what it actually says, and every discovery pass was followed by a different pass whose brief was to prove it wrong.

It checked 140 claims across 7 classes of source: 100 confirmed, 34 over-claimed against their source, 5 misquoted, 1 superseded and 0 unreachable. 58 more were dropped before verification. 4 adversarial lenses (mechanism, confounding, currency and commercial motive) then attacked what survived.

We sell GEO audits and fixes, so claims that on-page levers work get the harshest treatment here, and almost none survive. Vendor statements, Google’s included, are assertions about their own systems, not measurements; they are the best evidence for those systems and are labelled as what they are.

Keeping it current: 35 primary sources sit on a watch list (last reviewed 21 September 2026). Every Monday a script re-reads the sentences in each that mention the terms our claims depend on, and opens an issue naming the claims to re-verify when one changes. It does not call a language model. A test fails our build if this page cites a source as watched that the watcher does not watch, or quotes a sentence we do not hold on record.

We do not publish aggregate visibility rates from customer audits. Doing that credibly needs a disclosed sample, a disclosed platform set and a sampling frame that supports the word “brands”; until then the number would be decoration. Questions: contact our team.

12 · Citation

Cite this research

Free to cite with attribution. For any single finding, cite the primary source named beside it: it is the evidence, we are the review.

99Visibility. “AI Search Research: What the Evidence Supports.” Last reviewed 16 October 2026. https://www.99visibility.com/research

Cite the review date with the page: findings change when their sources do, and the change log above records what moved. Full guidelines are on our citation page.

13 · Further reading

Research write-ups and reference

Can AI crawlers reach your site?

Your free audit requests your site as each AI crawler, reads robots.txt bot by bot, and shows every place your firewall disagrees with it.

Start Free Audit