Free AI Site Audit

# How the Rewalto Audit Score is built

Every number below comes from `docs/registry/audit-score.json` — the one file that defines the method. This page is generated from the same artefact the scoring engine reads, so the two cannot quietly disagree.

SCORE VERSION
:   1

SCHEMA VERSION
:   1

## How a category is scored

Each category gets its own 0–100 score from its own checks. Nothing unmeasured counts as a zero, and nothing unmeasured counts as a pass.

1. Each check gets points by severity — see the table below.
2. Each check gets a result between 0 and 1. Pass/fail checks are 1 or 0. A Core Web Vitals reading scores 1 for good, 0.5 for needs improvement, and 0 for poor, against the published thresholds below.
3. Category score = 100 × (points × result, summed) ÷ (points for checks that ran). A check that could not run is left out of both sides and shown as “could not run” — never as a pass.
4. Coverage rule: a category renders a number only if at least 60% of its points were measured. Below that it shows “not enough data”.
5. Critical cap: any failed critical check caps its category at 49.

Points awarded per check severity

| Severity | Points |
| --- | --- |
| Critical | 10 |
| High | 6 |
| Medium | 3 |
| Low | 1 |

## Categories and weights

The public score uses only what anyone can see, so it stays comparable across brands. The full score adds two categories once GA4, Search Console and Shopify are connected.

Every category, its public and full weight, and where it reads from

| Category | Public weight | Full weight | Source | In v1 |
| --- | --- | --- | --- | --- |
| Speed and Core Web Vitals | 15 | 12 | CrUX, PageSpeed | Yes |
| Technical SEO | 15 | 12 | Crawl, finding rules | Yes |
| AEO/GEO readiness | 15 | 12 | robots.txt, crawl, readiness | Yes |
| AI answer visibility | 15 | 12 | FE-17 score engine, AI-09 panel | No |
| Content quality | 10 | 8 | Crawl, readiness | Yes |
| Trust and security | 10 | 8 | DNS, crawl | Yes |
| Commercial hygiene | 10 | 8 | Crawl, storefront index, harvest | Yes |
| Marketplace and quick-commerce presence | 5 | 4 | Harvest, DL-14 | Yes |
| Accessibility | 5 | 4 | PageSpeed | Yes |
| Search performance | — | 10 | GA4, Search Console | No |
| Catalogue quality | — | 10 | Shopify | No |

Public weight totals 100. Full weight totals 100, once Search performance and Catalogue quality join at the connect tier.

## Core Web Vitals thresholds

Google’s own published good and poor bounds — not a Rewalto number.

Core Web Vitals good and poor thresholds

| Metric | Good | Poor |
| --- | --- | --- |
| LCP (Largest Contentful Paint) | 2500 ms | 4000 ms |
| INP (Interaction to Next Paint) | 200 ms | 500 ms |
| CLS (Cumulative Layout Shift) | 0.1 | 0.25 |

## Grades

Score ranges and their grade

| Grade | Score |
| --- | --- |
| Excellent | 90–100 |
| Good | 75–89 |
| Needs work | 50–74 |
| Poor | 0–49 |

## What keeps this defensible

- Every point traces to a check, and every check to evidence: the URL, the value found, the threshold, and when it was measured.
- A trend never crosses versions. Every stored score carries the score version above, and a weight, point or threshold change bumps it.
- No overall number below 60% coverage. The page shows the category scores that exist and says why there is no overall score.
- Public and full scores are labelled and never mixed in a trend or a comparison.

[Run your free audit](https://rewalto.com/site-audit)

[See a worked example first](https://rewalto.com/site-audit-sample)
