Skip to content
ClinicStats
Menu

How the ClinicStats Score works

20 checks, 5 points each, in four sub-scores of 25. Every rule below is the rule the scanner uses. Rubric version 2.0, last reviewed .

Scoring

Each check returns one of four flags, the way a lab panel does. The score is the sum of points across all 20 checks.

A check we cannot measure, for example Google rating when no Google listing is found, is flagged Not measured. It is left out, and the sub-score is scaled up from the checks that were measured, so a missing data source never counts against you.

Flags and points
FlagMeaningPoints
NormalMeets the pass rule5
BorderlineMeets the borderline rule3*
Out of rangeMeets neither rule0
Not measuredData not available; left outn/a

* 3 points unless a check states otherwise below.

Findable

Can patients find you in Google search and on the map?

5 checks × 5 = 25 pts

Findable checks and their rules
CheckPass (5 pts)BorderlineWhy it matters
Title, meta description and H1title_meta_h1The homepage has a <title> of 10–65 characters, a meta description of 50–170 characters, and exactly one non-empty H1.
All three are present but one is outside the length range, or there is more than one H1. (3 pts)
The title and description are what patients see in search results; the H1 tells search engines what the page is about.Source: Google Search Central: Influencing title links and snippets
Indexable by search enginesindexableNo noindex in the meta robots tag or X-Robots-Tag header, a sitemap is found (sitemap.xml or listed in robots.txt), and a canonical link is present.
Indexable, but the sitemap or the canonical link is missing. (3 pts)
If search engines are told not to index the page, or cannot find your pages, patients will not find you in search.Source: Google Search Central: Block indexing with noindex
Mobile speed and Core Web Vitalspage_speedMobile PageSpeed Insights performance score of 90 or more, and where Chrome UX Report field data exists, LCP ≤ 2.5 s, INP ≤ 200 ms and CLS ≤ 0.1.
Lab score of 50–89, or any field metric in the "needs improvement" range (LCP ≤ 4 s, INP ≤ 500 ms, CLS ≤ 0.25). (3 pts)
Most patients search on phones. Slow pages lose visitors, and Core Web Vitals are part of Google page experience signals.Source: web.dev: Web Vitals
Secure connection (HTTPS)httpsThe site loads over HTTPS with a valid certificate, and http:// redirects to https://.
HTTPS works, but the plain http:// address does not redirect to it. (3 pts)
Browsers mark non-HTTPS pages as "Not secure", and HTTPS is a Google ranking signal.Source: Google Search Central: HTTPS as a ranking signal
Name, address and phone match Googlenap_gbpThe phone number and street address on the website match the Google Business Profile listing.
One of phone or address matches, the other differs or is missing on the site. (3 pts)
Consistent name, address and phone across the web helps Google trust and rank your local listing.Source: Google Business Profile: Tips to improve your local ranking

Trusted

Does the site show who you are, who treats patients, and that it is safe?

5 checks × 5 = 25 pts

Trusted checks and their rules
CheckPass (5 pts)BorderlineWhy it matters
Medical business structured dataschema_medicalThe page has valid JSON-LD of type MedicalClinic, Physician, MedicalBusiness, Dentist (or a schema.org subtype of these) with name, address and telephone.
Medical JSON-LD is present but missing one of name, address or telephone, or only a generic LocalBusiness/Organization type is used. (3 pts)
Structured data tells Google and AI assistants exactly what kind of practice you are and how to reach you.Source: schema.org: MedicalClinic
Providers listed and verified (NPI)providers_npiThe homepage or team page names at least one provider with a credential (MD, DO, NP, PA, DDS, PhD, LCSW, etc.) or the title "Dr.", and at least one name matches an active record in the CMS NPPES NPI Registry.
Providers with credentials are named on the site, but none could be matched in NPPES. (3 pts)
Patients want to know who will treat them. Named, verifiable clinicians are a strong trust signal for people and search engines.Source: CMS NPPES NPI Registry API
Google rating and reviewsgbp_reviewsGoogle Business Profile rating of 4.5 or more with 50 or more reviews.
Rating of 4.0 or more, or 10 or more reviews. (3 pts)
Star rating and review volume are among the first things patients compare, and they influence local map rankings.Source: Google Business Profile: Tips to improve your local ranking
Accessibility basicsaccessibilityThe <html> element declares a lang, at least 90% of images have alt text, and every visible form input has a label (label element, aria-label or aria-labelledby). Colour contrast is not tested.
Two of the three basics pass, or image alt coverage is 70–89%. (3 pts)
Screen-reader users need alt text, labels and a declared language to use your site; these basics also help search engines.Source: web.dev: Learn Accessibility
Third-party ad trackerstrackersNo Meta Pixel, TikTok Pixel, LinkedIn Insight Tag or Google Ads remarketing tag is found in the HTML of the homepage or of a same-domain booking or intake page. Tags injected later by a tag manager are not visible to this check.
A tracker is found on the homepage only, not on a booking or intake page. (3 pts)
Ad trackers can send visitor data to third parties. HHS has issued guidance on tracking technologies on health websites; this check reports exposure only and is not a legal assessment.Source: HHS OCR: Use of Online Tracking Technologies by HIPAA Covered Entities

Bookable

Can a new patient book, call or check cost in one step?

5 checks × 5 = 25 pts

Bookable checks and their rules
CheckPass (5 pts)BorderlineWhy it matters
Online booking above the foldonline_bookingA booking link or widget (e.g. Zocdoc, NexHealth, Jane, SimplePractice, "Book online") appears in the header, hero, or first part of the mobile HTML. We approximate the first mobile viewport with the top of the DOM and header/hero sections, not a rendered screenshot.
A booking link exists, but only further down the page. (3 pts)
Patients who can book in one tap convert far more often than those who have to call or hunt for a form.Source: web.dev: Mobile-first design
Click-to-call phone linkclick_to_callThe page has at least one tel: link.
A phone number is shown as text, but it is not a tappable tel: link. (3 pts)
On a phone, a tappable number turns a visitor into a call in one step.Source: web.dev: Make phone numbers clickable
Insurance or self-pay prices statedinsurance_pricingThe site names the insurance plans accepted, or states self-pay prices.
Insurance is mentioned in general terms, but no plans or prices are named. (3 pts)
Cost is a top question for new patients. Clear insurance and pricing information prevents drop-off and wasted calls.Source: CMS: No Surprises Act, good-faith estimates for self-pay patients
Patient portal linkpatient_portalThe site links to a patient portal (e.g. MyChart, athenahealth, FollowMyHealth, or a link labelled "Patient portal").
None. Pass or out of range.
Existing patients look for the portal to message, pay and see results. A clear link reduces phone volume.Source: HealthIT.gov: What is a patient portal?
Hours and new-patient informationhours_new_patientsOpening hours are stated (on the page or in structured data) and there is new-patient information (forms, "new patients", "accepting new patients").
Only one of hours or new-patient information is found. (3 pts)
Patients choosing a new clinic need to know when you are open and whether you are taking new patients.Source: schema.org: openingHoursSpecification

AI-ready

Can ChatGPT and other AI assistants read, quote and name your clinic?

5 checks × 5 = 25 pts

AI-ready checks and their rules
CheckPass (5 pts)BorderlineWhy it matters
AI crawlers allowed in robots.txtrobots_airobots.txt does not block GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot or Google-Extended from the site.
One or two of these crawlers are blocked. (3 pts)
AI assistants can only cite and recommend your clinic if their crawlers are allowed to read your site.Source: RFC 9309: Robots Exclusion Protocol
Content readable without JavaScriptserver_renderedThe initial HTML (before JavaScript runs) contains at least 150 words of meaningful visible text.
The initial HTML has 50–149 words of visible text. (3 pts)
Many AI crawlers do not run JavaScript. If your content only appears after scripts run, they see an empty page.Source: Google Search Central: Understand JavaScript SEO basics
llms.txt filellms_txtA /llms.txt file exists and is plain text or Markdown with a heading.
No /llms.txt file, or the file has no Markdown heading. This scores 2 of 5 points and never fails, because the file is an emerging proposal and Lighthouse treats a missing file as not applicable. (2 pts)
llms.txt is a proposed standard that gives AI tools a short, clean summary of your site.Source: llms.txt proposal
Quotable facts in plain textquotable_factsThe page text states the address, phone number, services offered and insurers accepted.
Two or three of these four facts are stated in plain text. (3 pts)
AI assistants quote plain-text facts. If your address, phone and services are only in images or scripts, they cannot repeat them.Source: Google Search Central: Creating helpful, reliable, people-first content
Named in an AI answerai_answerAsked one sample prompt ("Which {specialty} clinics in {city}, {state} would you recommend?"), ChatGPT with web search names the clinic or its domain.
None. Pass or out of range.
Patients increasingly ask AI assistants for recommendations. This is a single sample, not a ranking, but it shows whether you appear at all.Source: OpenAI: Overview of OpenAI crawlers (OAI-SearchBot)

What the scan does not do

  • It reads public pages only. It does not log in, submit forms or see patient records.
  • It tests the address you enter and a few linked pages, not every page of the site.
  • The AI answer check is one sampled prompt. AI answers change from one run to the next, so read it as a smoke test, not a ranking.
  • The tracker check reports what we found. It is not a legal or HIPAA compliance assessment.

Rubric version 2.0, changelog

  1. v2.0

    November 2026

    • Replaced the 14-point weighted audit (5 to 10 points per check) with 20 checks of 5 points each.
    • Grouped the checks into four sub-scores of 25: Findable, Trusted, Bookable and AI-ready.
    • Added provider verification against the CMS NPPES NPI Registry, a third-party ad tracker check, an accessibility basics check and a sampled AI answer check.
    • Added a borderline result with partial points, and a "not measured" result that is left out of the score instead of counting as a fail.
    • Published the pass rule, borderline rule and source for every check on this page.
  2. v1.x

    Until November 2026

    • A 14-point technical and conversion audit summing to 100 points, with weights between 5 and 10 points per check.

See these 20 checks run on your site

The report shows the measured value and the reference for each check, so you can see exactly why a flag was set.

Enter at least one. Your report shows on screen right away and is emailed to you when you give an email.

We email your report and occasional updates from ClinicStats. Unsubscribe anytime.

Checking you are human…

Questions about a rule? Tell us. Rules change only with a new rubric version, listed above.