Quality Scoring
After every crawl, SiteOne Crawler automatically calculates a website quality score from 0.0 to 10.0. The score is a single, deterministic number that summarizes the health of your site across five weighted categories, so you can see at a glance how good the site is — and where to improve it first.
The score is computed from the same deterministic analyzers that already run on every page (no AI required, fully reproducible across runs). It is shown in a colored box in the console output and included in both the JSON and the HTML report.
This page supersedes the earlier “Improvement Meter” concept. What used to be a roadmap idea is now a realized, measurable scoring system — the old
/features/improvement-meter/URL now redirects here.
The five categories
Section titled “The five categories”The overall score is a weighted average of five category scores. Each category measures a distinct dimension of website quality:
| Category | Weight | What it measures |
|---|---|---|
| Performance | 20% | Response times, slow URLs |
| SEO | 20% | Missing H1, title uniqueness, meta descriptions, 404s, redirects |
| Security | 25% | SSL/TLS certificates, security headers, unsafe protocols |
| Accessibility | 20% | Lang attribute, image alt text, form labels, ARIA, heading levels |
| Best Practices | 15% | Duplicate/large SVGs, deep DOM, Brotli/WebP support |
Security carries the highest weight (25%) because security problems carry the highest risk; Best Practices the lowest (15%). Every category is scored on the same 0.0-10.0 scale, and the overall score is the weighted average of all five.
Overall score
Section titled “Overall score”The overall quality score is the weighted average of all category scores. It appears in three places:
- a colored box in the console output, right after the crawl summary;
- the JSON output (so it can be consumed programmatically or stored as a baseline);
- the interactive HTML report, on the Summary tab.
Score labels and colors
Section titled “Score labels and colors”Each score — overall and per-category — maps to a human-readable label with a distinct color, so problems stand out immediately:
| Score range | Label | Color |
|---|---|---|
| 9.0 – 10.0 | Excellent | Green |
| 7.0 – 8.9 | Good | Blue |
| 5.0 – 6.9 | Fair | Yellow |
| 3.0 – 4.9 | Poor | Purple |
| 0.0 – 2.9 | Critical | Red |
”Fix first” panel
Section titled “”Fix first” panel”The scorecard includes a “Fix first” panel: an impact-ranked list that surfaces the highest-impact issues first. Instead of forcing you to read through every finding, the panel puts the problems that cost you the most points at the top — so you always know which change will move the score the most.
Each deduction carries an actionable remediation hint, so the score is not just a verdict but a to-do list. For example, a missing lang attribute, missing image alt text, an absent security header, or a slow response time each comes with a concrete suggestion for how to fix it.
This makes the score practical:
- Run the crawler.
- Open the Fix first panel (console or HTML report).
- Work top-down — each fix recovers the most points for the least effort.
- Re-run and watch the score climb.
Gating on the score in CI/CD
Section titled “Gating on the score in CI/CD”The quality score is the foundation of the CI/CD quality gate. With --ci, you can fail a build when the overall score — or any individual category score — drops below a configurable threshold, or when the score regresses against a saved baseline.
See CI/CD Integration for the full list of --ci-* thresholds, exit codes, JUnit XML output, GitHub annotations, and baseline regression checks.
Related
Section titled “Related”- CI/CD Integration — gate your pipeline on these scores.
- Command-line Options — the complete flag reference.