Skip to content

Core Web Vitals & measurement

Without reliable measurement, optimisation becomes guesswork. This category explains the metrics Google uses for user experience — Largest Contentful Paint, Interaction to Next Paint and Cumulative Layout Shift — and how they come about. We show the difference between lab data and field data from real visits, explain percentiles and why an average misleads, and describe how to set up measurements realistically on mobile connections. Added to this are debugging approaches: reading waterfall charts, spotting main-thread blocking, tracing layout shifts and documenting results so improvements remain provable over time. We additionally show how to automate measurements so that regressions after a release are noticed immediately rather than weeks later.

In short and in plain language

On this page you will find all posts on the topic “Core Web Vitals & measurement”. The newest posts are at the top.

Below each title there is a short text about it. Click on a post. Then you can read the whole text.

Above the list you also see the other topics. At the bottom, a link takes you back to all posts.

How to Read the Core Web Vitals Report in Search Console

The Core Web Vitals report bundles URLs into groups. Learn to read status, group value and example URL, and turn them into a work order for the template.

18 min read

Adding Black Week Promo Banners Without Layout Shift

Add Black Week notice bars, countdowns, pop-ups and badges without anything jumping: reserve space, deliver from the server and keep CLS at 0.1 or below.

20 min read

Templates, Not the Home Page: Where Load Time Is Made

Teams optimize the home page while visitors land on category, product and article pages. How to measure by template and prove the order of work.

15 min read

Speed Behind the Login: Measuring Portals Without Field Data

Behind a login the public field dataset holds nothing. How to measure inside the portal, which metrics carry, and where the limits differ from a home page.

15 min read

Performance Measurement Without Consent: What Is Allowed

Section 25 TDDDG comes before the GDPR: when a Vitals measurement is device access, how narrow the exemption is and what stays measurable without consent.

15 min read

Target Device, Not Test Device: Speed on Weak Hardware

Why the developer machine is the wrong yardstick, which reference device matches the 75th percentile and how both turn into a performance budget that holds.

15 min read

fetchLater: Sending Beacons Without Costing Speed

Farewell events often fail to deliver the final measurement on mobile. How fetchLater() fixes that, which quota applies and what the fallback looks like.

12 min read

Adaptive Loading: A Light Version for Slow Networks

Instead of slowing every visitor with the full bundle, the shop serves a lighter variant on slow connections, driven by Save-Data and effectiveType.

11 min read

Web Workers: Offload the Main Thread to Improve INP

Offloading compute-heavy JavaScript to a web worker keeps the main thread free, lowers Total Blocking Time and brings INP under the 200 ms threshold.

12 min read

Break Up Long Tasks: Lower INP with scheduler.yield

Break long JavaScript tasks over 50 ms into chunks with scheduler.yield(), free the main thread between the chunks and keep the INP steadily under 200 ms.

12 min read

Long Animation Frames: Find the Scripts Slowing INP

The Long Animation Frames API reveals since Chrome 123 exactly which script causes a slow INP interaction – so you optimize deliberately instead of blindly.

13 min read

Break Down LCP into Four Phases: the Subpart Analysis

Stop optimizing Largest Contentful Paint blindly: measure TTFB, load delay, load time and render delay individually and target the biggest lever deliberately.

12 min read

Cookie Banners and Core Web Vitals: Fixing the LCP Trap

Cookie banners move LCP, INP and CLS: how to measure the consent layer impact in the field, rebuild it properly and take it out of the critical path for good.

13 min read

Soft Navigations: Measuring Core Web Vitals in SPAs

Single-page apps only report the first load to CrUX. How the Soft Navigations API from Chrome 151 measures route changes and splits LCP, INP and CLS per route.

14 min read

Reduce DOM Size: Fewer Nodes, Faster Interactions

Reduce DOM size: cut style and layout work with pagination, virtualization, content-visibility and flatter markup to improve INP and Core Web Vitals.

12 min read

Mobile Performance: Speeding Up Shops on Phones

How throttled CPU, slow networks, viewport and touch shift mobile Core Web Vitals and which levers speed up your shop on the phone where revenue happens.

13 min read

Optimizing INP: Improving Interaction to Next Paint

Optimizing INP: how to bring Interaction to Next Paint below 200 milliseconds. Targeted relief for long tasks, event handlers and third-party scripts.

13 min read

Reading a Lighthouse Report and Prioritizing Fixes

How to read a Lighthouse report correctly: which five metrics weight the score, why opportunities act indirectly and how to prioritize by estimated savings.

14 min read