The rubric
30 checks across eight dimensions, weighted to 48 points and normalised to a 0–100 score. Each check returns pass, warning or fail; a warning earns half credit. Two more checks are added only when they fire — a site that refuses our reader outright, and one serving a broken certificate chain — so a scan reports 30 findings, or 32 in those cases.
What this scan cannot tell you
A methodology page that admits its limits is more useful than one that claims completeness — and this list is the part we would want to read first if someone else had written it.
- It does not ask an answer engine whether you are named. The scan reads the signals that decide whether you CAN be recommended; it does not run live queries against ChatGPT, Perplexity or Google AI Overviews. That check is part of our human work, and we say so on the audit page rather than implying the tool does it.
- It reads one page — the URL you give it — plus robots.txt, your sitemap and llms.txt. A strong interior page will not rescue a weak homepage score, and vice versa.
- It cannot see your Google Business Profile directly. It infers profile health from what your site publishes and links to, which is a proxy and sometimes a poor one.
- It does not judge whether your copy is any good, whether your prices are right, or whether your reviews are deserved.
- A high score is not a promise of being recommended. It means the obstacles we can measure are cleared.
Why we rebuilt this scale
An earlier version of this rubric was wrong in a way worth publishing. It weighted AI crawler access at more than a fifth of the grade, and because almost no site blocks those crawlers, nearly everyone collected those points for free. Combined with checks that could only ever return "warning" rather than "fail", the arithmetic floor for any site on HTTPS was 46 out of 100 — the bottom two tiers were literally unreachable, and a practice with no structured data at all could score 68 and be told it had "a solid base".
It also failed sites for being more specific than required: a dental practice correctly marked up as Dentist failed a check for LocalBusiness, because the comparison was a string match rather than a type hierarchy. And its contact check passed on the mere presence of the word PostalAddress anywhere in the HTML — which meant our own site, with no phone number on it at all, passed a check for having a phone number.
The current scale weights what a recommendation actually depends on, and most checks can now fail outright. Scores went down across the board, including our own. That is the point of publishing the rubric rather than the score.