The three metrics Google actually measures
Core Web Vitals are three specific measurements Google’s own definition takes of how your site feels to use, not just how it looks.
- LCP (Largest Contentful Paint) — how long it takes for the main content of the page (usually a hero image or heading) to actually appear.
- CLS (Cumulative Layout Shift) — how much the page jumps around as it loads. Think of a button shifting down just as you’re about to tap it, because an ad or image above it loaded late.
- INP (Interaction to Next Paint) — how quickly the page responds when someone clicks or taps something. This replaced an older metric called FID in 2024 and is a better measure of real responsiveness.
Why Google cares about this
These three metrics have been an official ranking signal since 2021, but the more important reason to care about them isn’t the algorithm — it’s that they directly correlate with whether someone sticks around. A page that takes five seconds to show anything, or that jumps around while loading, gets abandoned. Google is just measuring the same thing your visitors are already feeling.
What actually causes bad scores
In practice, these three almost always come back to the same handful of culprits:
- Bad LCP — usually large, unoptimised images, or a slow server response before the page even starts rendering.
- Bad CLS — images or embeds loading without their final size reserved in advance, or web fonts swapping in and reflowing the text.
- Bad INP — too much JavaScript running on the main thread, often from stacked third-party scripts: chat widgets, analytics pixels, heat-mapping tools, all firing at once.
The simple fixes
None of these require a rebuild to address:
- Compress images and serve them in modern formats (WebP/AVIF instead of raw JPEG/PNG).
- Reserve space for images and embeds before they load, and load fonts in a way that doesn’t cause a visible swap.
- Audit every third-party script on the site and cut the ones that aren’t earning their keep.
- Avoid heavy page builders that inject their own runtime JavaScript just to render a layout.
How the scores are actually graded
Google buckets each metric into Good, Needs Improvement, or Poor, and only the 75th percentile of real visits counts — so a handful of slow loads on a bad connection won’t tank your score, but a consistent pattern will.
- LCP: under 2.5s is Good, 2.5–4s is Needs Improvement, over 4s is Poor.
- CLS: under 0.1 is Good, 0.1–0.25 is Needs Improvement, over 0.25 is Poor.
- INP: under 200ms is Good, 200–500ms is Needs Improvement, over 500ms is Poor.
A realistic timeline for improving your scores
Lab tools like PageSpeed Insights update the moment you re-run them, but the field data Google actually uses for ranking — the numbers in Search Console’s Core Web Vitals report — is a rolling 28-day average of real visitor traffic. That means even a same-day fix won’t show up as “resolved” in Search Console for close to a month, because it’s still averaging in the slow visits from before the fix.
This is the part that trips people up: the site can be genuinely fast today and still show a Poor or Needs Improvement badge in Search Console for a few weeks afterward. That’s expected, not a sign the fix didn’t work — check the lab score first for immediate feedback, then let the field data catch up.
Tools worth using beyond PageSpeed Insights
PageSpeed Insights is the right starting point because it gives you both a lab score and, if your site has enough traffic, real field data from the Chrome User Experience Report. But it’s worth pairing with two other free tools: the Core Web Vitals report inside Google Search Console, which tracks trends over time and groups problem pages together rather than testing one URL at a time, and the Lighthouse panel built into Chrome DevTools, which runs the same underlying audit locally and lets you throttle the simulated connection speed to see how the site performs on a slower mobile network.
WebPageTest.org is worth knowing about for a deeper look — it lets you test from specific locations (useful if a chunk of your customers are in a particular city or region) and shows a filmstrip view of the page loading frame by frame, which makes it much easier to see exactly what a visitor is staring at during that LCP delay.
How to check your own site
Run your URL through Google’s PageSpeed Insights — it’s free and gives you the actual LCP, CLS, and INP numbers, plus specific suggestions. If you want the real-world version (not just a lab simulation), the Core Web Vitals report inside Google Search Console shows how your site is actually performing for real visitors over the last 28 days.
If your scores are bad and a rebuild is on the table, see our custom web design page — every site we build is hand-coded specifically to avoid this problem, for the reasons covered in our hand-coded vs WordPress breakdown. Local businesses should also see our local SEO checklist, since speed is only half of what moves map-pack rankings.