Moonlight Analytica Request demo
Search & AI-search

A health score of 87, explained: what actually moves crawl, speed, and citations

Crawl coverage, Core Web Vitals, structured data, and citation share roll into one number. Here's which inputs move it and which just look busy.

Moonlight Analytica · Field notes·July 6, 2026·6 min read

Eighty-seven is the number on the login screen every morning for the sites Caposeo watches most closely, and it's also the number operators misread the fastest. A composite score invites a specific kind of laziness: watch the total, ignore the four things feeding it. Crawl coverage, Core Web Vitals, structured data validity, and citation share each move on their own timeline for their own reasons, and only one of them has gotten meaningfully harder to fake this year. Break 87 into its parts and a better question shows up: which lever, pulled this month, actually changes the total, and which one just makes the dashboard feel busier.

01What actually sums to 87

Caposeo rolls four measurements into one health score: how much of a site Google can crawl and index, whether Core Web Vitals clear Google's own thresholds, whether structured data validates instead of merely existing, and what share of citations a site earns across ChatGPT, Perplexity, Claude, and Gemini. For the representative site charted below, those four inputs stack to 87 in an order that runs against most operators' intuition. Crawl coverage carries the single largest block. Citation share, the newest and most discussed input, carries the smallest. That split shifts by site size, smaller domains rarely hit a real crawl ceiling, so citation share ends up carrying more relative weight for them, but the shape of the trade-off holds across the corpus.

Chart · illustrative

How a health score of 87 actually stacks up

Cumulative contribution by lever, representative site in the Caposeo corpus

Crawl coverage Core Web Vitals Structured data Citation share Health score

Illustrative decomposition for a representative site in the corpus. Individual weights shift with site size and vertical; the four inputs and the 87 total are real.

02Speed is a pass/fail gate

Core Web Vitals is the lever most teams over-invest in, because it's the easiest one to move this quarter and the easiest one to screenshot for a boss. Google's thresholds are specific: Largest Contentful Paint under 2.5 seconds, Interaction to Next Paint under 200 milliseconds, Cumulative Layout Shift under 0.1, each measured at the 75th percentile of real visits. Clear all three and a page passes. There's no partial credit for clearing them by more.

Google said as much directly in 2020, introducing page-experience signals to ranking with a specific caveat: "a good page experience doesn't override having great, relevant content." Nothing since has reversed that framing. A site that trims its Largest Contentful Paint from 1.9 seconds to 0.9 seconds after already passing the threshold buys nothing in the health score and usually nothing in rank. The 21 points Core Web Vitals contributes below got earned the day this site cleared the gate, and haven't moved since.

03The crawl-budget worry almost nobody needs

Crawl coverage is the largest single lever in the chart, and also the one most likely to get pulled the wrong way. Site owners hear "crawl budget" and start compressing sitemaps and trimming URLs, work Google itself says is misplaced for the overwhelming majority of sites. Gary Illyes wrote it plainly on Google's Search Central blog in 2017: crawl budget "is not something most publishers have to worry about." It becomes relevant past a few thousand URLs, or once new pages start taking days instead of hours to get crawled.

What actually moves the 34-point crawl block is indexation, not budget: pages accidentally blocked by robots.txt, orphaned pages with no internal links pointing at them, canonical tags aimed at the wrong URL. Coverage gaps like those are tedious to find and expensive to ignore, and they're why crawl coverage outweighs any other single input in the composite.

Speed is a gate you clear once. Structured data is a lever you can pull wrong for months and never notice.

0471% deploy structured data. 22% validate it.

Structured data is the input teams believe they've already handled, and mostly haven't. A 2026 audit of 5,000 production sites found that 71% deploy at least one schema type, JSON-LD for products, articles, or FAQs, usually whatever the CMS ships with by default. Only 22% pass Google's Rich Results Test cleanly across every type they've deployed, a 49-point gap between shipping schema and shipping schema that works. The failures aren't exotic: missing required properties, dates that aren't ISO-8601, an @id duplicated across pages that should each carry their own.

That gap matters more now than it did two years ago, because structured data has taken on a second job. The same audit found sites with cleanly validating schema carry a 0.34 correlation with AI-search citation rates: markup that used to exist mainly for rich snippets now doubles as a signal an answer engine's retriever can parse without guessing. Eighteen of the 87 points below trace to schema that validates.

05The one input you can't fake your way to

Citation share is the smallest block in the chart and the hardest one to inflate. Crawl coverage responds to a redirect audit. Core Web Vitals responds to a CDN change. Structured data responds to fixing five lines of JSON-LD. Citation share responds to nothing except an answer engine deciding, sentence by sentence, that a given passage was the one worth quoting, a judgment Caposeo tracks across ChatGPT, Perplexity, Claude, and Gemini on the same 12.4K keywords it watches on Google. It moves last, and it moves least. It's also the input most correlated with whether a site is winning right now.

The four levers don't behave alike, and treating them as interchangeable is the most common way an operator misreads their own score. A field guide for the next time 87 moves, or doesn't:

Field guide

Which lever actually moves, and when it doesn't

Crawl coverage34 pts
Moves it

A previously-blocked or orphaned page gets indexed.

Doesn't move it

Tightening a sitemap on a site Google already crawls same-day.

Core Web Vitals21 pts
Moves it

A page crosses from failing to passing LCP, INP, or CLS.

Doesn't move it

An already-passing page gets faster still.

Structured data18 pts
Moves it

Broken JSON-LD, missing properties, bad dates, gets fixed so it validates.

Doesn't move it

Adding another schema type without checking the ones already shipped.

Citation share14 pts
Moves it

An answer engine starts quoting a passage it wasn't quoting last month.

Doesn't move it

There isn't a vanity version. Nothing here moves without something upstream changing first.

Sources: Google, Understanding Core Web Vitals and Google Search results; Google Search Central, Evaluating page experience for a better web (2020); Google Search Central, What crawl budget means for Googlebot (2017); Digital Applied, Schema Markup Adoption: 5,000-Site Audit (April 2026).

None of this makes 87 a bad number to watch. It makes it a bad number to stop at. The teams who move their score fastest spend less time on the total and more time figuring out which of the four bars actually needs a pull this month, leaving the other three alone.

87composite health score for the site decomposed above
71%→22%sites that deploy schema vs. validate it cleanly
0.34correlation between valid schema and AI-search citation rate
◆ Caposeo · search & AI-search intelligence

See the levers behind your own number.

Caposeo breaks the health score into crawl coverage, Core Web Vitals, structured data, and citation share for every domain it watches, so you always know which lever to pull this month.