Methodology
How we score your website
Every number on a SnapSiteScan report can be traced back to something measurable. This page explains exactly where the data comes from, how the Website Health score is built, and how the code selects the first fix and Gemini explains the result.
1. Where the data comes from
Each scan runs a Google Lighthouse audit through the PageSpeed Insights API against the URL you enter, on both mobile and desktop. We do not maintain our own rendering engine or crawler, and we do not adjust Google's raw category scores. Results are cached anonymously per URL for 12 hours so repeat checks are instant; a forced fresh scan bypasses that cache.
Lighthouse is lab data. It simulates a specific device and network profile, which means two runs minutes apart can differ by a few points. Treat single-point movements as noise and trends as signal.
SnapSiteScan reports Google Lighthouse lab data from the PageSpeed Insights API — a controlled test on a simulated mobile and desktop device. When the same API response contains usable Chrome User Experience Report observations, they are shown separately as URL-level or origin-level field data, never included in the Website Health score. INP requires real visitor interactions, so a Lighthouse lab test cannot measure it. SnapSiteScan reports lab-measured Total Blocking Time (TBT) and, only when available, displays Google's CrUX INP separately as field data. Improving TBT does not guarantee improved field INP. Search Console grades Core Web Vitals on field data from real Chrome visitors. A lab result is a strong indicator of the same underlying problems, but it is not the same measurement and can pass or fail differently.
2. How the Website Health score is built
Four Lighthouse categories are combined into one number so you do not have to weigh them yourself:
| Category | Weight | Why this weight |
|---|---|---|
| Performance | 40% | It is the category visitors physically feel. Slow pages lose people before anything else matters. |
| SEO | 25% | Technical SEO decides whether the page can be found at all. A fast page nobody sees is still invisible. |
| Accessibility | 20% | Accessibility failures block real users and increasingly overlap with usability and legal risk. |
| Best Practices | 15% | Security, HTTPS and modern web standards. Important, but rarely the reason a site underperforms. |
In plain arithmetic: health = performance × 0.40 + seo × 0.25 + accessibility × 0.20 + best practices × 0.15, rounded to the nearest whole number.
| Score | Label | What it means |
|---|---|---|
| 90–100 | Excellent | Nothing urgent. Rescan after significant changes. |
| 75–89 | Healthy | Solid foundation with room for a few targeted wins. |
| 50–74 | Needs care | Real friction for visitors. Worth fixing this month. |
| 0–49 | At risk | Issues that are very likely costing you traffic today. |
3. How code selects the first fix, and AI explains it
Code groups Lighthouse findings by root cause, deduplicates overlapping savings and ranks eligible causes by estimated savings. Time savings are used when available; otherwise byte savings are used. The first action, applicability, ownership and confidence are deterministic. Gemini generates scan explanations and code examples for supported findings; it does not choose the authoritative first fix or calculate the score.
- • Overlapping main-thread findings are counted once, not added together.
- • The fix contract states the change, location, applicability, risk and verification.
- • Confidence comes from the finding and estimated savings, not AI.
- • When no eligible performance cause remains, the report does not invent a fix.
4. Modelled metrics, measured rescans and percentiles
SnapSiteScan does not predict a health-score gain. LCP or FCP is modelled only when Lighthouse attributes estimated savings to that metric. The calculation subtracts that saving with a floor of the larger of 40% of the current metric and 80% of its target; a projected reduction must be at least 100 ms. TBT and CLS are never projected by subtraction. Unattributed savings remain opportunities, not predicted metric values. Rescan to measure the outcome. Hard-coded report previews are illustrative, not measurements or forecasts.
The percentile compares your health score with the health scores of all sites previously scanned with SnapSiteScan and held in our anonymous result cache. It describes our sample, not the whole web, and it only appears once that sample is large enough to say anything useful.
5. Fix, rescan and verify
Find a first fix, review Gemini explanations and code examples, then Rescan & Compare fresh Lighthouse lab measurements for the same URL and device. Improvements and regressions are shown; one run cannot prove that a code change caused the difference.
Rescan & Compare bypasses the result cache without bypassing request limits. If fresh data cannot be obtained, the earlier report is kept and no new comparison is claimed. Both device strategies are measured separately, with the original Lighthouse audit ID, timestamps and estimated savings retained.
Lighthouse lab measurements vary between runs. A better result does not prove that your code change alone caused the improvement. Estimated audit savings are not measured gains. CrUX describes a longer observation period, not an immediate post-fix result.
Up to 20 measurement snapshots are stored only in this browser until you clear Scan History or browser storage. No account is created. Shared links contain the report and have no automatic expiry or revocation; anyone with the link can read it. Do not share sensitive URLs.
Use the single-page SEO scanner for actual Lighthouse SEO checks, the bulk comparison for selected URLs, or the lab-versus-field guide to interpret CrUX. Shared request quotas and concurrent-request limits also apply across the service, independently of IP headers. Fresh scans do not bypass these limits. When capacity or protection is unavailable, new requests pause; existing reports remain readable.
Frequently asked questions
How is the Website Health score calculated?
The Website Health score is a weighted average of the four Lighthouse categories returned for your URL: Performance 40%, SEO 25%, Accessibility 20% and Best Practices 15%. The result is rounded to a whole number between 0 and 100.
Why weight Performance higher than the other categories?
Performance is the only category a visitor experiences directly and immediately. SEO, accessibility and best practices matter, but a page that takes eight seconds to render loses users regardless of how well it is marked up.
Where does the underlying data come from?
Category and Website Health scores use Lighthouse lab data only. Available CrUX observations from the same PageSpeed Insights response are displayed separately for URL and origin. They do not affect the score; missing observations stay unavailable. Lab values vary with test conditions; CrUX is an aggregated Chrome sample, not analytics from all visitors.
How is the first fix selected, and what does AI do?
Code groups Lighthouse findings by root cause, deduplicates overlapping savings and ranks eligible causes by estimated savings. Time savings are used when available; otherwise byte savings are used. The first action, applicability, ownership and confidence are deterministic. Gemini generates scan explanations and code examples for supported findings; it does not choose the authoritative first fix or calculate the score.
What do modelled metric values mean?
SnapSiteScan does not predict a health-score gain. LCP or FCP is modelled only when Lighthouse attributes estimated savings to that metric. The calculation subtracts that saving with a floor of the larger of 40% of the current metric and 80% of its target; a projected reduction must be at least 100 ms. TBT and CLS are never projected by subtraction. Unattributed savings remain opportunities, not predicted metric values. Rescan to measure the outcome.
Does SnapSiteScan measure INP?
A Lighthouse lab test cannot measure INP. We report lab Total Blocking Time and, only when Google supplies usable CrUX observations, display field INP separately for URL and origin. Improving TBT does not guarantee improved field INP.
What is the percentile based on?
It compares your health score against the health scores of every site previously scanned with SnapSiteScan and stored in our anonymous result cache. It is a comparison against our sample, not against the entire web, and it is only shown once the sample is large enough to be meaningful.
See it on your own site
Run a free scan and check the numbers against the method above.
Grade my websiteAlso useful: SnapSiteScan vs GTmetrix
