speedlify2

Personal instance of speedlify2 for Paul Kinchla's personal projects. Created by @zachleat.

Lighthouse lab metrics and Chrome UX Report field data for a list of sites, recorded on every run and compared over time — measured continuously.

Measurement runs Embed a score

paulkinchla.com/blog/2020/10/28/javascript-still-a-ghost

https://paulkinchla.com/blog/2020/10/28/javascript-still-a-ghost

94 100 100 100 ✓AXE –CWV

Data from Oct 10, 2026, 10:55 AM UTC old

Overall #4 paulkinchla.com #4 · 36 measurements · since Jul 7, 2026

This URL redirects to https://paulkinchla.com/blog/2020/10/28/javascript-still-a-ghost/.

A trailing slash only, so both forms are treated as one site rather than two — one history, measured once. Lighthouse follows the redirect, so the numbers below describe the canonical page; the only cost is an extra hop on each run.

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.

WordPress 7.1.2 Built with WordPress 7.1.2
Cloudflare Hosted by Cloudflare

Scores

94
Performance
no change
100
Accessibility
no change
100
Best Practices
no change
100
SEO
no change

Filmstrip Lighthouse, mobile

How the page drew during the measured load, at 8 points across 3.00 s.

  1. 375 ms
  2. 750 ms
  3. 1.13 s
  4. 1.50 s
  5. 1.88 s
  6. 2.25 s
  7. 2.63 s
  8. 3.00 s

Without JavaScript

The same load, photographed twice at 412×823: once with scripts disabled, once as rendered.

Scripts disabled
As rendered

97% of pixels differ — they have almost nothing in common. A shifted layout counts as difference, so a <noscript> banner alone can account for a large figure.

Lab metrics Lighthouse, mobile

Metric Current Previous Change Best Worst Trend
LCP Largest Contentful Paint 2.74 s 2.75 s ↓ -16 ms (-0.6%) 1.96 s 2.75 s
CLS Cumulative Layout Shift 0 0 → no change 0 0.004
TBT Total Blocking Time 0 ms 0 ms → no change 0 ms 24 ms
FCP First Contentful Paint 1.98 s 1.99 s ↓ -4 ms (-0.2%) 1.06 s 1.99 s
Speed Index 1.98 s 1.99 s ↓ -4 ms (-0.2%) 1.06 s 1.99 s
TTFB Time to First Byte 460 ms 463 ms ↓ -3 ms (-0.6%) 59 ms 495 ms

What LCP is made of observed, unthrottled

A flat LCP number tells you something regressed. The subparts tell you whether it was the server, resource discovery, the download, or rendering.

Measured on the trace before throttling is modelled, so these are real durations that will not sum to the 2.74 s above — that figure is a simulation of the same load on a slow phone and connection. Read these for the proportions: which phase dominates.

element render delay 58 ms
time to first byte 29 ms
resource load duration 11 ms
resource load delay 10 ms

Page weight

Metric Current Previous Change Best Worst Trend
Page Weight 228 kB 228 kB ↓ -8 B 216 kB 229 kB
Requests 14 14 → no change 10 14
Third-party Weight 10.3 kB 10.3 kB → no change 0 B 10.3 kB
Third-party CPU 5 ms 5 ms ↓ -0 ms (-6%) significant 0 ms 7 ms
Unused JS 0 B 0 B → no change 0 B 0 B
Unused CSS 0 B 0 B → no change 0 B 0 B

By resource type

font 164 kB · 3 req
script 31.2 kB · 4 req
document 27.5 kB · 1 req
image 3.5 kB · 1 req
other 2.2 kB · 4 req
third party 10.3 kB · 1 req

Third parties 1 entities

10.3 kB transferred, 5 ms of main thread time. This is the number most likely to regress without anyone on your team shipping anything.

Cloudflare 10.3 kB · 5 ms CPU

Page health

Metric Current Previous Change Best Worst Trend
Main Thread Work 448 ms 461 ms ↓ -13 ms (-2.8%) 278 ms 655 ms
Long Tasks 1 1 → no change 0 3
DOM Elements 767 767 → no change 766 767
Axe Violations Violating nodes from a full axe run — stricter than Lighthouse's subset 0 0 → no change 0 0
A11y Failures 0 0 → no change 0 0
A11y Failing Nodes 0 0 → no change 0 0

Main thread work

other 142 ms
style layout 130 ms
script evaluation 121 ms
parse HTML 33 ms
paint composite render 21 ms
script parse compile 1 ms

Axe violations axe-core 4.13.0, full rule set

0 violating nodes across 0 rules, 1127 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.

Hygiene

Changes rarely — which is exactly why a change is worth noticing.

HTTPS HSTS CSP Clickjacking protection Origin isolation Trusted Types bfcache h3

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 PerfLCPCLSTBTWeight RunsSpreadBenchTook
Oct 10, 2026, 10:55 AM UTC 94 2.74 s 0 0 ms 228 kB 3/3 ±1 2,379 +1% 26.3s
Oct 8, 2026, 11:44 AM UTC 94 2.75 s 0 0 ms 228 kB 3/3 ±4 2,367 -5% 29.4s
Oct 7, 2026, 11:28 AM UTC 95 2.66 s 0 0 ms 228 kB 3/3 ±1 2,494 0% 25.1s
Oct 5, 2026, 11:59 AM UTC 97 2.41 s 0 0 ms 227 kB 3/3 ±1 2,501 +1% 27.9s
Oct 4, 2026, 10:51 AM UTC 95 2.74 s 0 0 ms 228 kB 3/3 ±2 2,472 -1% 28.1s
Oct 3, 2026, 10:10 AM UTC 95 2.73 s 0 0 ms 228 kB 3/3 ±3 2,495 +1% 27.9s
Oct 1, 2026, 11:18 AM UTC 97 2.43 s 0 0 ms 229 kB 3/3 ±0 2,469 -42% 25.8s
Sep 30, 2026, 10:51 AM UTC 97 2.44 s 0 0 ms 229 kB 3/3 ±1 4,239 +70% 25.7s
Sep 28, 2026, 11:23 AM UTC 99 2.19 s 0 0 ms 216 kB 3/3 ±9 2,496 -13% 30.3s
Sep 27, 2026, 10:19 AM UTC 99 2.04 s 0 0 ms 216 kB 3/3 ±4 2,882 -7% 29.9s
Sep 25, 2026, 9:57 AM UTC 97 2.59 s 0 0 ms 217 kB 3/3 ±1 3,098 +24% 23.1s
Sep 23, 2026, 9:41 AM UTC 99 1.96 s 0 3 ms 216 kB 3/3 ±1 2,496 +1% 28.5s
Sep 21, 2026, 10:21 AM UTC 96 2.58 s 0 0 ms 217 kB 3/3 ±1 2,473 0% 25.7s
Sep 20, 2026, 9:34 AM UTC 97 2.59 s 0 0 ms 217 kB 3/3 ±2 2,479 +1% 28.4s
Sep 19, 2026, 9:08 AM UTC 97 2.59 s 0 0 ms 217 kB 3/3 ±2 2,455 -1% 27.5s
Sep 17, 2026, 9:46 AM UTC 97 2.60 s 0 0 ms 217 kB 3/3 ±1 2,476 +9% 25.6s
Sep 16, 2026, 9:38 AM UTC 96 2.60 s 0 0 ms 218 kB 3/3 ±2 2,280 -9% 27.4s
Sep 14, 2026, 10:16 AM UTC 96 2.60 s 0 0 ms 217 kB 3/3 ±3 2,496 -15% 28.7s
Sep 12, 2026, 7:48 PM UTC 99 1.97 s 0 0 ms 216 kB 3/3 ±3 2,948 -1% 27.7s
Sep 11, 2026, 6:50 PM UTC 99 1.98 s 0 0 ms 216 kB 3/3 ±14 2,985 +27% 26.4s
Sep 10, 2026, 3:34 PM UTC 99 1.99 s 0 0 ms 218 kB 3/3 ±1 2,343 0% 29.6s
Sep 9, 2026, 2:52 PM UTC 96 2.60 s 0 0 ms 218 kB 3/3 ±1 2,346 -1% 26.4s
Sep 8, 2026, 11:51 AM UTC 96 2.62 s 0 0 ms 218 kB 3/3 ±0 2,359 -6% 25.8s
Sep 7, 2026, 10:56 AM UTC 96 2.60 s 0 0 ms 217 kB 3/3 ±1 2,497 +2% 28.4s
Sep 6, 2026, 9:50 AM UTC 99 1.96 s 0 12 ms 216 kB 3/3 ±0 2,456 -2% 25.4s
Sep 5, 2026, 6:27 AM UTC 96 2.60 s 0 0 ms 217 kB 3/3 ±1 2,507 +1% 25.6s
Sep 4, 2026, 1:55 AM UTC 99 1.96 s 0 0 ms 216 kB 3/3 ±16 2,481 -42% 35.5s
Sep 2, 2026, 11:40 PM UTC 97 2.60 s 0 0 ms 217 kB 3/3 ±29 4,296 +74% 28.5s
Sep 1, 2026, 10:09 PM UTC 97 2.58 s 0 0 ms 217 kB 3/3 ±3 2,475 +10% 26.8s
Aug 31, 2026, 10:44 AM UTC 96 2.61 s 0 2 ms 217 kB 3/3 ±3 2,255 0% 28.1s

Embed this score

Live below, then the markup that produces it. Drop that on any page to show paulkinchla.com/blog/2020/10/28/javascript-still-a-ghost's scores, updated whenever this instance re-measures — more about the component. Don’t forget to bundle the speedlify2-score.js component code into your site!

<speedlify2-score speedlify-url="https://www.speedlify.dev/" url="https://paulkinchla.com/blog/2020/10/28/javascript-still-a-ghost"></speedlify2-score>