chrishannah.me
Ranks Overall #1,567 Built Awesome #1,038
Data from Oct 3, 2026, 2:01 AM UTC old Measured once a week Β· 7 runs since Aug 20, 2026
Elsewhere:
PageSpeed Insights Β·
Calibre Β·
Treo Β·
CrUX Vis Β·
Tame the Bots Β·
Scoring Calculator Β·
Wayback Machine
Lab data is measured using Lighthouse, Mobile mode unless otherwise specified. Field data is reported from Chrome UX Report (using p75 measurements).
Stack
Lighthouse Scores LAB Simulated
Metrics LAB
No field data: the Chrome UX Report is not being collected for this project, so every figure below is from the Lighthouse run.
| Metric | Lab Simulated | ||
|---|---|---|---|
| Value | Change / range | Trend | |
| LCP CWV (estimate) Largest Contentful Paint | 6.96 s poor | β -2676 ms (-27.8%) 2.60 s – 9.64 s | |
| INP CWV Interaction to Next Paint β field only, no lab run can measure it | n/a | — | |
| CLS CWV (estimate) Cumulative Layout Shift | 0.149 needs work | β +0.061 (+69.3%) 0.018 – 0.149 | |
| TBT Total Blocking Time | 0 ms good | β no change 0 ms – 0 ms | |
| FCP First Contentful Paint | 3.11 s poor | β +66 ms (+2.2%) 1.73 s – 3.11 s | |
| Speed Index | 3.11 s good | β +66 ms (+2.2%) 1.73 s – 3.11 s | |
| TTFB Time to First Byte | 663 ms good | β +194 ms (+41.4%) 469 ms – 663 ms | |
LCP Subparts LAB Unthrottled
The subparts attribute LCP to your server, resource discovery, download, or rendering. Note that the Lab LCP shown above is a simulated throttled estimate.
Page weight
| Metric | Value | Change / range | Trend |
|---|---|---|---|
| Page Weight | 1.48 MB | β -68 B 1.48 MB – 3.86 MB | |
| Requests | 19 | β no change 18 – 19 | |
| Third-party Weight | 131 kB | β +16 B 131 kB – 132 kB | |
| Third-party CPU | 7 ms | β -1 ms (-11.4%) significant 5 ms – 16 ms | |
| Unused JS | 0 B | β no change 0 B – 0 B | |
| Unused CSS | 0 B | β no change 0 B – 0 B |
By resource type
| Type | Transfer | Share | Size | Requests |
|---|---|---|---|---|
| image | 89.5% | 1.33 MB | 3 | |
| font | 7.9% | 117 kB | 3 | |
| script | 1.2% | 17.9 kB | 6 | |
| document | 1.1% | 16.9 kB | 1 | |
| other | 0.2% | 2.5 kB | 5 | |
| stylesheet | 0.1% | 1.2 kB | 1 | |
| Total | 1.48 MB | 19 |
Third parties 4 entities
| Entity | Transfer | Size | Main thread Simulated |
|---|---|---|---|
| Google Fonts | 118 kB | 0 ms | |
| Cloudflare | 10.2 kB | 4 ms | |
| tinylytics.app | 2.0 kB | 3 ms | |
| minifocus.app | 1.3 kB | 1 ms | |
| Total | 131 kB | 7 ms |
Page health
| Metric | Value | Change / range | Trend |
|---|---|---|---|
| Main Thread Work | 382 ms | β -88 ms (-18.8%) 375 ms – 638 ms | |
| Long Tasks | 0 | β no change 0 – 2 | |
| DOM Elements | 266 | β no change 266 – 289 | |
| Axe Violations Violating nodes from a full Axe CLI run (more than Lighthouse reports) | 85 | β no change 84 – 87 | |
| A11y Failures | 2 | β no change 2 – 2 | |
| A11y Failing Nodes | 84 | β no change 83 – 85 |
Main thread work
| Task | Time | Share | Duration Simulated |
|---|---|---|---|
| other | 41% | 155 ms | |
| style layout | 28% | 109 ms | |
| script evaluation | 18% | 68 ms | |
| paint composite render | 7% | 27 ms | |
| parse HTML | 4% | 17 ms | |
| script parse compile | 2% | 6 ms | |
| Total | 382 ms |
Axe violations axe-core 4.13.0, full rule set
85 violating nodes across 3 rules, 497 passing. This is a standalone Axe CLI run and is stricter than the subset Lighthouse already includes.
-
serious
color-contrastβ Elements must meet minimum color contrast ratio thresholds 74 nodesOffending elements (5 of 74)
-
.site-banner-inner<div class="site-banner-inner">Check out <a href="https://miniroll.app?ref=chrishannah.me">Miniroll.app</a>, a way to create, share, and explore blogrolls!</div> -
.tagline<div class="tagline">Code, camera, keyboard.</div> -
.site-nav > a[href="/"]<a href="/">Home</a> -
.site-nav > a[href$="archive/"]<a href="/archive/">Archive</a> -
.site-nav > a[href$="projects/"]<a href="/projects/">Projects</a>
-
-
serious
link-in-text-blockβ Links must be distinguishable without relying on color 10 nodesOffending elements (5 of 10)
-
article[data-type="post"]:nth-child(1) > .entry-date > .type[href$="post/"]<a class="type" href="/post/">Post</a> -
article[data-type="post"]:nth-child(2) > .entry-date > .type[href$="post/"]<a class="type" href="/post/">Post</a> -
article[data-type="post"]:nth-child(3) > .entry-date > .type[href$="post/"]<a class="type" href="/post/">Post</a> -
.type[href$="link/"]<a class="type" href="/link/">Link</a> -
article[data-type="post"]:nth-child(5) > .entry-date > .type[href$="post/"]<a class="type" href="/post/">Post</a>
-
-
moderate
landmark-uniqueβ Landmarks should have a unique role or role/label/title (i.e. accessible name) combination 1 nodeOffending element
-
.site-nav<nav class="site-nav">
-
Accessibility failures 2 of 20 audits
-
color-contrastβ Background and foreground colors do not have a sufficient contrast ratio. 74 nodes -
link-in-text-blockβ Links rely on color to be distinguishable. 10 nodes
SEO failures 1 of 9 audits
-
meta-descriptionβ Document does not have a meta description
Hygiene
Measurement log
Field history 25 weeks
Weekly p75 from the CrUX History API, backfilled in a single request.
| Week ending | LCP | INP | CLS | FCP | TTFB |
|---|---|---|---|---|---|
| 2026-08-29 β 2026-09-26 | No data β 5 weeks under the CrUX reporting threshold | ||||
| 2026-08-22 | β | β | 0 | 1.25 s | β |
| 2026-08-15 | β | β | 0 | 1.25 s | β |
| 2026-08-08 | 883 ms | β | 0 | 876 ms | β |
| 2026-08-01 | 840 ms | β | 0 | 825 ms | β |
| 2026-07-25 | 797 ms | β | 0 | 811 ms | β |
| 2026-07-18 | 815 ms | β | 0 | 814 ms | β |
| 2026-07-11 | 832 ms | β | 0 | 832 ms | β |
| 2026-07-04 | 848 ms | β | 0 | 847 ms | 658 ms |
| 2026-06-27 | 882 ms | β | 0 | 865 ms | 635 ms |
| 2026-06-20 | 882 ms | β | 0 | 865 ms | 627 ms |
| 2026-06-13 | 866 ms | β | 0 | 839 ms | 568 ms |
Runs
Every stored run for this URL, newest first.
| When | Scores | Perf | LCP | CLS | TBT | Weight | Runs | Spread | Bench | Took | Archive |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Oct 3, 2026, 2:01 AM UTC | 64 | 6.96 s | 0.149 | 0 ms | 1.48 MB | 3/3 | Β±32 | 2,836 +14% | 26.1s |
|
|
| Sep 25, 2026, 11:50 PM UTC | 67 | 9.64 s | 0.088 | 0 ms | 1.48 MB | 3/3 | Β±14 | 2,491 0% | 25.9s |
|
|
| Sep 18, 2026, 8:27 PM UTC | 92 | 2.60 s | 0.126 | 0 ms | 1.48 MB | 3/3 | Β±12 | 2,336 -6% | 30.8s |
|
|
| Sep 11, 2026, 5:33 PM UTC | 67 | 9.64 s | 0.088 | 0 ms | 1.48 MB | 3/3 | Β±11 | 2,467 -1% | 37s |
|
|
| Sep 4, 2026, 2:48 PM UTC | 75 | 5.29 s | 0.018 | 0 ms | 2.54 MB | 3/3 | Β±42 | 2,491 0% | 35.7s |
|
|
| Aug 28, 2026, 1:48 PM UTC | 73 | 5.89 s | 0.018 | 0 ms | 2.55 MB | 3/3 | Β±5 | 2,314 -7% | 26.5s |
|
|
| Aug 20, 2026, 4:38 PM UTC | 74 | 7.74 s | 0.077 | 0 ms | 3.86 MB | 3/3 | Β±31 | 3,285 +32% | 24.4s |
|
Embed this score
Use this web component to show chrishannah.me's scores on any website, updated whenever this instance re-measures. Donβt forget to bundle the speedlify2-score.js component code into your site!
<speedlify2-score speedlify-url="https://www.speedlify.dev/" url="https://chrishannah.me/"></speedlify2-score>