Service · Core Web Vitals
Core Web Vitals optimization from field data, not a lab score you chase forever
Core Web Vitals are a set of user-experience metrics Google measures from real Chrome users: how fast the main content paints (LCP), how quickly the page responds to input (INP), and how much the layout shifts while loading (CLS). We fix the causes that show up in your field data, template by template, and we skip the busywork that only moves a lab number.
The three metrics
What each vital measures and what breaks it
Understanding the cause is most of the fix. The same green-yellow-red badge can hide three completely different problems.
| Metric | What it measures | Good threshold | Usual causes |
|---|---|---|---|
| LCP (Largest Contentful Paint) | Time until the main content of the viewport renders | Under 2.5s (we aim lower on templates we control) | Slow TTFB, unoptimised hero image, render-blocking CSS and JS |
| INP (Interaction to Next Paint) | Responsiveness to user input across the whole visit | Under 200ms | Long main-thread tasks, heavy JavaScript, third-party scripts |
| CLS (Cumulative Layout Shift) | Unexpected movement of content during load | Under 0.1 | Images without dimensions, injected ads or banners, late-loading fonts |
Scroll table horizontally →
One more distinction worth holding onto: these three measure different things, so a single page can pass one and fail another. A page can paint fast and still feel sluggish to tap, or respond instantly and jump around as it loads. We diagnose each metric separately, on the templates that carry your traffic, rather than treating the overall badge as one number to chase.
Overrated
- Chasing a perfect Lighthouse score on a page nobody visits.
- Obsessing over a 0.01 CLS improvement on a low-traffic template.
- Micro-optimising images that are already well under a second.
- Treating a green lab badge as proof the field data will follow.
Underrated
- Fixing the LCP image on your highest-traffic template once.
- Auditing third-party scripts for their INP cost, honestly.
- Setting explicit width and height on every image to kill CLS.
- Reading field data segmented by device, where mobile usually hides the real problem.
Approach
How we work a vitals engagement
Read the field data
Start in CrUX and the Search Console vitals report, segmented by device and grouped by template, so we fix causes not symptoms.
Reproduce in the lab
Use WebPageTest and Lighthouse to reproduce the worst template under realistic throttling and trace the specific bottleneck.
Spec template-level fixes
Write fixes that apply once per template and benefit every page on it, with clear before-and-after targets.
Confirm with real users
Verify with real user monitoring and watch the 28-day field window move, rather than declaring victory on a lab run.
INP is the metric most teams find hardest since it replaced FID. If you want the detail, our post on what actually moves INP goes deep on the main-thread work behind it.
FAQ
Core Web Vitals questions
Are Core Web Vitals a ranking factor?
They are a real but modest signal, part of Google's page experience signals. They rarely outweigh relevance and content. The honest framing: Core Web Vitals are worth fixing because slow pages lose users and conversions, and because a poor score can be a tie-breaker, not because a green score wins rankings on its own.
Should we optimise for the lab score or the field score?
Field data, which is what Google uses. Lab tools like Lighthouse are useful for debugging a single page in controlled conditions, but they do not reflect your real users on real devices and networks. We work from the Chrome UX Report and the Core Web Vitals report in Search Console, then use lab tools to reproduce and fix.
What actually moves INP?
Reducing long tasks on the main thread, breaking up heavy JavaScript, deferring non-critical scripts, and avoiding large synchronous work on interaction. INP measures responsiveness across the whole visit, so third-party scripts and heavy hydration are common culprits. Chasing layout tweaks does nothing for it.
How long until scores improve in Search Console?
The field data in CrUX and Search Console is a 28-day rolling window, so even a perfect fix takes weeks to fully show. We confirm the fix immediately in lab conditions and with real user monitoring, then watch the field data catch up over the following month.
Can you improve vitals without slowing feature work?
Usually. Most of the biggest wins are template-level: the LCP image, render-blocking resources, and a few heavy scripts. Fixing those once benefits every page on that template, which is far more efficient than page-by-page tuning and does not compete much with feature delivery.
Related reading
Performance is one input among many. Working with a technical SEO agency keeps vitals in proportion, fixed properly, but not at the expense of crawl and indexation work that matters more.
Start here
Failing Core Web Vitals on your key templates?
Send the URLs. We will tell you which fixes are template-level wins and which are a waste of a sprint.
