robjwood.com
Data from Aug 21, 2026, 5:42 AM UTC — 13h old.
Built Awesome · 1 measurement · since Aug 21, 2026 · last attempt 13h
Stack
Detected on the same page load as the accessibility pass — the generator
from <meta name="generator"> or the shape of the page,
the host from response headers.
Scores
Lab metrics Lighthouse, mobile
| Metric | Current | Previous | Change | Best | Worst | Trend |
|---|---|---|---|---|---|---|
| LCP Largest Contentful Paint | 5.08 s | — | — | 5.08 s | 5.08 s | |
| CLS Cumulative Layout Shift | 0.052 | — | — | 0.052 | 0.052 | |
| TBT Total Blocking Time | 211 ms | — | — | 211 ms | 211 ms | |
| FCP First Contentful Paint | 1.58 s | — | — | 1.58 s | 1.58 s | |
| Speed Index | 1.58 s | — | — | 1.58 s | 1.58 s | |
| TTFB Time to First Byte | 734 ms | — | — | 734 ms | 734 ms |
What LCP is made of
A flat LCP number tells you something regressed. The subparts tell you whether it was the server, resource discovery, the download, or rendering.
Page weight
| Metric | Current | Previous | Change | Best | Worst | Trend |
|---|---|---|---|---|---|---|
| Page Weight | 709.9 kB | — | — | 709.9 kB | 709.9 kB | |
| Requests | 20 | — | — | 20 | 20 | |
| Third-party Weight | 351.6 kB | — | — | 351.6 kB | 351.6 kB | |
| Third-party CPU | 70 ms | — | — | 70 ms | 70 ms | |
| Unused JS | 72.6 kB | — | — | 72.6 kB | 72.6 kB | |
| Unused CSS | 47.5 kB | — | — | 47.5 kB | 47.5 kB |
By resource type
Third parties 2 entities
351.6 kB transferred, 70 ms of main thread time. This is the number most likely to regress without anyone on your team shipping anything.
Page health
| Metric | Current | Previous | Change | Best | Worst | Trend |
|---|---|---|---|---|---|---|
| Main Thread Work | 2.21 s | — | — | 2.21 s | 2.21 s | |
| Long Tasks | 4 | — | — | 4 | 4 | |
| DOM Elements | 953 | — | — | 953 | 953 | |
| Axe Violations Violating nodes from a full axe run — stricter than Lighthouse's subset | 81 | — | — | 81 | 81 | |
| A11y Failures | 11 | — | — | 11 | 11 | |
| A11y Failing Nodes | 32 | — | — | 32 | 32 |
Main thread work
Axe violations axe-core 4.13.0, full rule set
81 violating nodes across 12 rules, 971 passing. This is a standalone axe run, stricter than the subset Lighthouse folds into its score above — and it is the second tiebreaker in the ranking.
-
moderate
region— All page content should be contained by landmarks 50 nodes -
critical
image-alt— Images must have alternative text 14 nodes -
serious
link-name— Links must have discernible text 6 nodes -
moderate
heading-order— Heading levels should only increase by one 2 nodes -
critical
label— Form elements must have labels 2 nodes -
serious
color-contrast— Elements must meet minimum color contrast ratio thresholds 1 node -
serious
frame-title— Frames must have an accessible name 1 node -
serious
html-has-lang— <html> element must have a lang attribute 1 node -
moderate
landmark-one-main— Document should have one main landmark 1 node -
moderate
meta-viewport— Zooming and scaling must not be disabled 1 node
Accessibility failures 11 of 31 audits
Tracked as a count, not just the score — the weighted score is coarse enough that you can ship a broken component and barely move it.
-
image-alt— Image elements do not have `[alt]` attributes 14 nodes -
link-name— Links do not have a discernible name 6 nodes -
heading-order— Heading elements are not in a sequentially-descending order 2 nodes -
label— Form elements do not have associated labels 2 nodes -
target-size— Touch targets do not have sufficient size or spacing. 2 nodes -
frame-title— `<frame>` or `<iframe>` elements do not have a title 1 node -
html-has-lang— `<html>` element does not have a `[lang]` attribute 1 node -
meta-viewport— `[user-scalable="no"]` is used in the `<meta name="viewport">` element or the `[maximum-scale]` attribute is less than 5. 1 node -
tabindex— Some elements have a `[tabindex]` value greater than 0 1 node -
landmark-one-main— Document does not have a main landmark. 1 node -
label-content-name-mismatch— Elements with visible text labels do not have matching accessible names. 1 node
Hygiene
Changes rarely — which is exactly why a change is worth noticing.
Measurement log
Every stored run for this URL, newest first. Failures are kept as records — "this site was down on Tuesday" is data too.
| When | Perf | LCP | CLS | TBT | Weight | Runs | Spread | Bench | Took |
|---|---|---|---|---|---|---|---|---|---|
| Aug 21, 2026, 5:42 AM UTC | 77 | 5.08 s | 0.052 | 211 ms | 709.9 kB | 3/3 | ±7 | 2,387 | 33.9s |
Embed this score
Live below, then the markup that produces it. Drop that on any page to show
robjwood.com's scores, updated whenever this instance
re-measures — more about the component. Don’t forget to bundle the speedlify-score.js component code into your site!
<speedlify-score speedlify-url="https://zachleat.github.io/speedlify2/" url="https://robjwood.com/"></speedlify-score>