Front-end performance and measured Core Web Vitals

A green lab score and a slow site for real users coexist comfortably.

What you get

  • 01Reproducible probes that name the element responsible, not just the score
  • 02Lab measurements compared with field data, with the limits stated
  • 03Pipeline guardrail with a ratchet threshold that prevents regression

“We already checked, PageSpeed is green.” It is the answer I hear most often, and the reason this page starts here.

That score is a simulation: a machine loads the page once, under conditions Google chooses, and gives a grade. The numbers Google uses for ranking come from your visitors’ browsers over the last 28 days, while they do what they usually do. The two measurements can differ a lot.

On one product page layout instability was 0.007 in the lab and 0.20 in field data. Thirty times higher. The simulation loaded the page and stopped, visitors scrolled, and the shifts that matter happen while scrolling.

What I measure is what happens on the page and what causes it. Not “CLS 0.19” but “this button appears after three and a half seconds, the text next to it wraps, and the page drops by 33 pixels”. You cannot act on the first number. You can on the second.

Performance is not only front-end. On the same store, server response time measured at the origin, not at the CDN cache, went from 954 to 636 milliseconds on desktop after moving off a shared hosting that was killing PHP processes. Knowing which half is slow comes before any optimisation.

The result does not hold on its own. On one catalogue, render-blocking requests went from 31 to 13 across four dated interventions, and without a check in the pipeline the first plugin update puts them back. That is why I leave a ratchet threshold: it records where you are today and stops you going back while you work towards where you want to be.

What I need from you is read access to the site, and a staging environment if there is one. Nothing needs to stop.

When not to call me: if the site has just been rebuilt and is not live yet, there is no field data and half the work cannot be done. Wait for four weeks of real traffic.