All articles
Web DesignJuly 8, 20263 min read

Core Web Vitals in plain English

Three metrics Google uses to judge whether your site feels good to use, explained without the jargon, plus what actually fixes each one.

Core Web Vitals are three measurements Google uses to assess how your site feels to a real person. They're a genuine ranking factor and, more usefully, they correlate with whether people stay.

Here's what each one means and what actually moves it.

LCP — how fast the main thing appears

Largest Contentful Paint measures how long until the biggest visible element — usually your hero image or headline — finishes rendering.

It's a proxy for "how long before this page looks like something." Target under 2.5 seconds.

Usually caused by: an oversized hero image, a slow server, or fonts and scripts blocking rendering.

What fixes it: compress and correctly size that hero image, serve it in WebP, and make sure it isn't lazy-loaded — lazy-loading your largest above-the-fold image actively makes this worse, which is a mistake we see often. Then check server response time.

CLS — how much the page jumps around

Cumulative Layout Shift measures unexpected movement while the page loads. You go to tap a link, an ad loads above it, everything shifts, you tap the wrong thing.

Target under 0.1.

Usually caused by: images and embeds without dimensions, banners injected at the top, and web fonts swapping in at a different size.

What fixes it: always set width and height (or aspect-ratio) on images and iframes so the browser reserves the space. Reserve space for anything that loads late. Use font-display: swap with a fallback that's close in size.

CLS is often the cheapest of the three to fix and the most immediately noticeable to users.

INP — how fast it responds when tapped

Interaction to Next Paint replaced First Input Delay in 2024. It measures the delay between someone interacting and the page visibly responding — across the whole visit, not just the first tap.

Target under 200 milliseconds.

Usually caused by: too much JavaScript. The browser is busy running code and can't respond to the tap.

What fixes it: ship less JavaScript. Audit third-party scripts — chat widgets, tracking, A/B testing tools are common offenders. Break up long tasks. On WordPress, this usually means fewer plugins.

How to actually measure

Two kinds of data, and confusing them causes arguments.

Lab data — a simulated load, like a PageSpeed Insights test. Consistent, good for debugging, not real.

Field data — measurements from actual Chrome users on your site. This is what Google uses for ranking. It appears in PageSpeed Insights when you have enough traffic, and in Search Console.

Field data lags by about a month. Fix something today and the reported score moves in a few weeks. Don't panic when it doesn't change overnight.

Sensible priorities

If you're failing all three, fix in this order:

  1. LCP, because it's usually images and images are usually easy.
  2. CLS, because it's usually missing dimensions and that's a small change.
  3. INP, because it usually means cutting JavaScript, which is the biggest job.

Keep it in proportion

Core Web Vitals are a tiebreaker, not a trump card. A fast page about nothing will not outrank a slightly slower page that genuinely answers the question.

Get out of the red, then go back to worrying about whether your pages say anything worth reading.

Want to know how your own site measures up?

Run a free audit. Our crawler checks your live pages for the technical and on-page issues covered in articles like this one, and tells you what to fix first. Takes about a minute.