Performance Scores
Every report and page in PerfLeaf is assigned a performance score and a grade to give you a quick, at-a-glance health indicator.
Score and grade
Section titled “Score and grade”- Score — a number from 0 to 4 (higher is better).
- Grade — a letter from A to D derived from the score:
| Score | Grade | Meaning |
|---|---|---|
| ≥ 3.5 | A | Excellent |
| ≥ 2.5 | B | Good |
| ≥ 1.5 | C | Needs improvement |
| < 1.5 | D | Poor |
Seven metric categories
Section titled “Seven metric categories”The overall score is a weighted average of up to seven categories. Each category is independently scored and graded.
When GEO data is available, the six base-category weights are proportionally scaled down so that all weights (including GEO) still sum to 100%.
| Category | Base weight | Weight when GEO present |
|---|---|---|
| Core Web Vitals | 30% | 28.5% |
| Page Assets | 25% | 23.75% |
| Accessibility | 15% | 14.25% |
| Security | 15% | 14.25% |
| DOM Stats | 10% | 9.5% |
| CO₂ Emissions | 5% | 4.75% |
| GEO (optional) | — | 5% |
Core Web Vitals
Section titled “Core Web Vitals”Grades each of the five CWV metrics individually, then takes the lowest grade (weakest-link principle).
| Metric | A | B | C | D |
|---|---|---|---|---|
| LCP | ≤ 2.5 s | ≤ 3.0 s | ≤ 4.0 s | > 4.0 s |
| FID | ≤ 100 ms | ≤ 200 ms | ≤ 300 ms | > 300 ms |
| CLS | ≤ 0.1 | ≤ 0.15 | ≤ 0.25 | > 0.25 |
| FCP | ≤ 1.8 s | ≤ 2.5 s | ≤ 3.0 s | > 3.0 s |
| TTFB | ≤ 0.8 s | ≤ 1.2 s | ≤ 1.8 s | > 1.8 s |
Page Assets
Section titled “Page Assets”Grades the total page payload size.
| Grade | Total page size |
|---|---|
| A | ≤ 500 KB |
| B | ≤ 1,000 KB (1 MB) |
| C | ≤ 2,000 KB (2 MB) |
| D | > 2,000 KB |
Accessibility
Section titled “Accessibility”Any critical-impact WCAG violation immediately results in a D grade. If no critical issues exist, the grade is based on average violations per page.
| Grade | Critical issues | Avg. issues per page |
|---|---|---|
| A | 0 | 0 |
| B | 0 | ≤ 2 |
| C | 0 | ≤ 5 |
| D | ≥ 1 | — |
Security
Section titled “Security”Two checks trigger an automatic D grade: no HTTPS, or mixed content detected. All other checks contribute to an issue score.
| Issue | Points added |
|---|---|
| Missing CSP header | +2 |
| Each additional missing security header | +1 each |
| Cookies not hardened | +1 |
| Grade | Condition |
|---|---|
| A | 0 issues |
| B | 1–2 issues |
| C | 3+ issues |
| D | No HTTPS or mixed content present |
DOM Stats
Section titled “DOM Stats”Grades each of the three DOM metrics individually, then takes the lowest grade (weakest-link principle).
| Metric | A | B | C | D |
|---|---|---|---|---|
| Total nodes | ≤ 1,000 | ≤ 1,500 | ≤ 2,000 | > 2,000 |
| Tree depth | ≤ 20 | ≤ 30 | ≤ 35 | > 35 |
| Script count | ≤ 5 | ≤ 10 | ≤ 15 | > 15 |
CO₂ Emissions
Section titled “CO₂ Emissions”Grades the estimated carbon emitted per page view.
| Grade | CO₂ per view |
|---|---|
| A | ≤ 0.25 g |
| B | ≤ 0.50 g |
| C | ≤ 1.00 g |
| D | > 1.00 g |
GEO (Generative Engine Optimisation)
Section titled “GEO (Generative Engine Optimisation)”GEO scores how well your content is structured for AI-powered search engines and large language models. Higher is better (0–100 scale). This category is only included in the overall score when GEO analysis has been run.
| Grade | GEO score |
|---|---|
| A | ≥ 80 |
| B | ≥ 60 |
| C | ≥ 40 |
| D | < 40 |
Site vs page scores
Section titled “Site vs page scores”- Page score — calculated from that page’s individual metrics.
- Report (site) score — derived from the category grades, not by averaging page scores. Each category grade is weighted and combined to produce the overall report grade.
Using scores to prioritise
Section titled “Using scores to prioritise”Focus on categories with a C or D grade first — the AI recommendations system also uses your grades to prioritise its suggestions.