ACT ONE · MEASURE · AI VISIBILITY

Five questions stand between your site and an answer that names you.

AI visibility is whether machines can fetch you, read you, cite you, and name you. Each question has a different answer, measured a different way, and the fifth — did anything move — can be observed, but never attributed. Here is what each one looks like when someone actually checks.

HOW TO READ /sites/:slug/visibility · 5 stages · 1,800 words

Stage 1 runs now — robots.txt plus a live fetch for 10 AI crawlers. No signup.

PLATE 0 · THE FUNNEL STRIP · Each stage names its kind of claim beneath its value. The stages are a sequence, not a pipeline — nothing converts between them.

CHAPTER 01 · REACH

Can a machine reach you at all?

Before an answer engine can be wrong about you, it has to be able to reach you at all — and the two things that decide it disagree more often than you would think. TrustGrowth runs two checks per crawler: what your robots.txt permits, and what a live fetch under that crawler's own user agent actually returns. The second column is the one a robots.txt linter cannot give you: a CDN or WAF can block a bot that robots.txt welcomes, and it will do it silently.

Ten crawlers, twenty checks, one number. In this capture, nine of ten come back clean. The tenth is the whole finding.

SCROLL →

AI crawler access matrix: ten crawlers, each checked twice
PLATE 1 · STAGE 1 REACH · Ten crawlers, each checked twice, in this capture.
  1. 1.1 The verdict column. Two independent checks folded to one word per crawler. It does not mean nine crawlers visited; it means nine may.
  2. 1.2 The blocked row. A disallow the site's operator chose, recorded as blocked. Not an error: blocking a crawler is a decision this product reports, not reverses.

Stage one costs nothing, on every plan.

CHAPTER 02 · READABLE

The stage the screen invites you to misread

The tile says 92, and under it, smaller, a label. Until this week that label said "answer-ready pages," and it invited exactly the wrong reading. It is not ninety-two pages. It is 92 out of 100 — an unweighted mean of four group scores, each a mean of its checks' pass rates over the pages the crawl could read. We changed the label. The number was never the problem; the caption was.

92 is not ninety-two pages. It is 92 out of 100.

AI-readable pages: four group scores, sorted worst-first
PLATE 2 · STAGE 2 READABLE · Four groups, sorted worst-first, so the top bar is the thing to fix. Each is a pass rate over crawled pages, in this capture.

∎ DOES NOT MEAN

A partial crawl does not report a confident score: it downgrades to maturing, with confidence below 1.0 printed beside it. A score you cannot trust is worse than a gap you can see.

Between reading and knowing there is a screen that does something none of the others do: it prints the machine's own paraphrase of you, beside the words you chose.

How AI describes the site, next to the site's own positioning
PLATE 3 · HOW AI DESCRIBES YOU · Read by the model from the site's own pages — no search, no prior knowledge of the brand, in this capture.
  1. 3.1 The two columns. Your positioning beside the machine's reading of it. The panel renders no verdict on whether they agree; a divergence is the owner's call, not automatically a defect.
  2. 3.2 Left ambiguous. The only screen in the product that reports what a model could not work out. Not a failure state: "the model read your pages and still could not tell" is a finding about the content.

It does not tell you which column is right. That is not a gap in the feature; it is the feature declining to have an opinion about your positioning.

Curious what it reads on yours? → /tools/how-ai-sees-your-site — no account, one page, the same reader.

CHAPTER 03 · RETRIEVED

The only stage where you can read the machine's exact words

Stage three does not report that you appear in AI Overviews. It reports the sentence.

“Product observability is the practice of instrumenting a product so that feature usage, activation and drop-off are measurable in the same way infrastructure is…”

— the passage Google's AI Overview quoted from northwind.dev · rank 1 · in this capture

And because the underlying API returns every ranking keyword whose AI Overview cites the domain at the cost of an ordinary call, this stage is a census, not a sample. A census costs the same as a sample here, so the product counts everything — and having counted, it refuses to print a margin of error on a count.

SCROLL →

Stage 3 citation table: keyword, rank, and the quoted passage
PLATE 4 · STAGE 3 RETRIEVED · CENSUS · Keyword, rank, and what Google quoted — every row a real citation, in this capture.
  1. 4.1 Rank. The rank of the AI Overview reference block. Not your organic position: on the keywords screen the same keyword reads 11. Both are correct.
The gap block: keywords cited for competitors, not you
PLATE 5 · THE GAP BLOCK · Keywords where AI Overviews cite a competitor and not you, sorted by your own Search Console demand, in this capture.
  1. 5.1 The demand column. Your first-party impressions attached to each gap. Rows with no demand data sort last; they never sort as zero.

∎ DOES NOT MEAN

A capture that never ran, or whose API call failed, writes nothing at all — an empty census and a failed check are different facts, and the product keeps them different by refusing to write the second as the first.

Stage 3 needs Search Console — connect it in two clicks, read-only.

CHAPTER 04 · RECALLED

The stage where the better number loses

Stage four is the first that cannot be counted, only sampled — and it is where the product turns down the flattering figure. Sampling asks each engine, cold, with no retrieval and no system prompt: unprompted, does it name you? Branded prompts read 96% ±6. Category prompts read 53% ±11. The headline is 53%, and the reason is written into the code: branded recall is near-100% for anything that exists at all. Averaging it in would tell every site it was doing well.

SCROLL →

Recall by prompt intent and by engine, with confidence-interval bounds
PLATE 6 · STAGE 4 RECALLED · SAMPLED · Recall by prompt intent and by engine, with interval bounds drawn at reading size, in this capture.
  1. 6.1 The thin vertical rules. The confidence-interval bounds; a sampled rate and a counted one look identical without them. At card size they read as gridlines, which is why nothing here renders small.
  2. 6.2 The branded row. Near-ceiling recall, measured and shown. Not the headline, on purpose; it is true of any site that exists.
  3. 6.3 The per-engine row. Three engines, n=30 each. This capture does not distinguish the engines, and we are not going to pretend it does.
FIGURE 4c · REBUILT · The app draws these on separate rows, where the overlap is invisible. One shared axis is the honest rendering — which is why this page will not tell you that GPT knows you and Gemini doesn't. REBUILT

∎ DOES NOT MEAN

When the interval is wider than the rate, the number is withheld entirely — “sample too small to call.” Wilson, not the normal approximation, because sampling runs small and routinely produces 0-of-n, where the normal interval collapses to zero width and claims certainty.

The flattering number is right there, measured, and it is not the headline.

Four stages in, nothing has been claimed that was not counted or bounded.

The fifth stage is where every tool in this category starts lying.

CHAPTER 05 · IMPACT

Did anything move, and can we say why?

Twenty-eight days against the prior twenty-eight, branded impressions only, both windows ending three days back — because Search Console lands late, and a partial final day reads as a decline that never happened.

Stage 5 impact: branded-search window against the prior period
PLATE 7 · STAGE 5 IMPACT · CORRELATION · The caveat in the grey box is not our marketing copy. It is the product's own, on the screen, always.

FOUR WAYS THIS STAGE PRINTS NOTHING

insufficient_history
fewer than 56 days of history
no_branded_queries
no query contains your name
no_prior_baseline
a zero denominator; “+∞” is not a figure
insufficient_volume
under 30 impressions, where relative standard error exceeds ~18%

“+100%” off a base of nine impressions would be exactly the false precision this product exists to argue against. Below thirty, it prints nothing at all.

People who meet a brand in an AI answer often search for it by name afterwards. That is a reason to watch this number. It is not a reason to claim it.

WHAT THIS DOES NOT SAY

The five stages share no unit and do not compose. There is no “9 in 10 crawlers reach you and 5 of those become citations”; the chevrons between tiles are sequence, not arithmetic. And stage 5 is co-movement, never attribution: nothing on this page claims AI caused a search.

WHERE THE LINE FALLS

FREE
Stages 1 and 2 — crawler reach and answer-readiness, one site.
STARTER · $9
Adds stage 3: which of your ranking keywords Google's AI Overview cites, and the sentence it quoted.
PRO · $49
Adds stages 4 and 5: unprompted recall sampled across three engines, and the branded-search window beside it.

Stage one is free and needs no account.

What happens: we fetch your robots.txt and run a live per-UA fetch for ten AI crawlers — about fifteen seconds, no account. Connecting Search Console afterwards is what unlocks stages 2 and 3.