Rotate for Promagen

Promagen is built for landscape viewing. Turn your phone sideways for the best experience.

AI visibility score explainedFive components. Fixed weights. Reproducible.

AI visibility is composite. Promagen Sentinel publishes a 0–100 score every Monday by weighting five components against the audit week's crawl results. This page names the five, gives the formulas, and explains how to read each one without needing a Sentinel licence to verify the math.

By Martin Yarnold · Updated
Your score, weekly
Sentinel runs the same 5-component audit on your pages every Monday and emails you the digest.
See how Sentinel measures it →

The five components, with formulas

The weights are defined as the HEALTH_WEIGHTS constant in frontend/src/types/sentinel.ts and have not changed since Sentinel went live. The composite score is the weighted sum, rounded to one decimal place.

ComponentWeightFormulaHow to read it
Availability40%pagesHealthy ÷ pagesTotal × 100Below 90 means crawler failures or 5xx; below 80 means the site is partially invisible.
Metadata20%pagesWithTitleMetaCanonical ÷ pagesTotal × 100Below 80 means many pages lack title/description/canonical; AI engines often skip them.
Schema15%pagesWithSchema ÷ pagesTotal × 100Below 50 means most pages have no JSON-LD; structured data lift is a high-ROI fix.
Regression burden15%100 − (activeRegressions × 5), floor 0Each unresolved regression costs 5 points. Tracks drift quality over time.
Orphan risk10%(pagesTotal − orphans) ÷ pagesTotal × 100Orphans are pages with fewer than three inbound internal links — AI engines often miss them entirely.

What the score is — and isn't — good for

Good for

Trend tracking, regression detection, site-to-site comparison (because the weights are constant), and prioritising fixes by marginal score gain (availability fixes pay 40¢ on the dollar).

Not good for

Predicting per-query citation behaviour. The score measures structural inputs, not output observation. For "am I being cited on this specific question", use a citation interrogator that queries the engines directly. The two measurements are complementary.

Frequently asked questions

Why is availability weighted at 40%?

Because a page that returns 5xx or times out is invisible regardless of how good its schema, metadata, or content is. AI crawlers are less patient than human-facing search bots — they typically time out at 5–10 seconds and rarely retry within the same crawl window. A 40% weighting reflects that availability is necessary, not sufficient: the other four components don't matter if the page doesn't respond. Sentinel's weights are constant across audits so site-to-site scores are directly comparable.

What counts as "valid metadata" for the 20% weighting?

Three elements present together: a non-empty <title>, a non-empty <meta name="description">, and a <link rel="canonical"> resolving to a 200. All three must be present for the page to count toward the metadata score. Sentinel does not score per-element partial credit — the boolean "all three present" is a meaningful threshold for AI engines, which often skip pages missing any one of them.

Which schema types contribute to the 15% schema score?

Any valid JSON-LD block parseable by the schema.org vocabulary counts. Sentinel does not weight by type — Article, Product, FAQPage, Organization, HowTo, Dataset, and DefinedTerm all contribute equally to the boolean "page has structured data". What matters is presence + validity, not type. Pages can carry multiple schemas (most authority pages do, via @graph). The score still treats them as binary "schema present or not".

How fast can the score change week-to-week?

In normal operation, a few points per week. Large jumps (10+ points) almost always indicate a deployment regression — a broken canonical, a sitewide schema break, a CDN config change that returns 5xx on a subset of pages. Small drift (1–3 points) is normal; Sentinel's regression burden component is designed to surface persistent small drift rather than mask it under a steady headline number.

Can the score go up without content changes?

Yes — and this is one of the score's most useful properties. Regression burden is capped: when an unresolved regression ages out (Sentinel's default is 14 days) or is explicitly suppressed by an operator, the burden component recovers. A site that fixes a regression on Tuesday will see availability and the affected component recover the following Monday; the regression burden component drops one regression's worth of penalty as soon as the row is closed.

How does the Sentinel score compare to other AI visibility scores?

Most "AI visibility scores" published by SEO tools focus on AI Overview presence or model-output detection. Sentinel's composite differs in two ways: it measures structural inputs (availability, metadata, schema, links) rather than output observation, and it publishes the methodology + weights openly. The trade-off: Sentinel's score does not tell you which queries you're cited on. For that, you need a separate citation interrogator. The two are complementary, not substitutes.

Get a free Sentinel snapshot →

Source: HEALTH_WEIGHTS constant in frontend/src/types/sentinel.ts. Weights unchanged since Sentinel went live. See /ai-visibility-score-explained/claims.json for the machine-readable claim ledger and provenance hash.

provenance: sha256:1aef06cf1ed29017