If you've ever run your website through Google PageSpeed Insights, you've probably seen three odd abbreviations: LCP, INP and CLS. Together they're called Core Web Vitals, and they're Google's way of measuring how a page feels to a real visitor. Is it quick to load? Does it respond when you tap? Does it stay still, or jump around?
You don't need to be technical to understand them. Let's take them one at a time.
LCP: how fast the page loads
LCP stands for Largest Contentful Paint. It measures how long it takes for the biggest thing on screen, usually the hero image or main product photo, to appear.
A good LCP is 2.5 seconds or less.
When LCP is poor, the cause is usually one of these: a huge, uncompressed hero image; that hero image being lazy-loaded when it should load immediately; slow hosting (common with cheap WordPress plans); or scripts and stylesheets that have to load before anything shows.
The fixes follow naturally. Compress and resize the hero image, let it load straight away, trim the scripts that load before it, and use decent hosting.
INP: how quickly it responds
INP means Interaction to Next Paint. When someone taps a button, opens the menu or picks a size, how long before something visibly happens? INP replaced an older metric called First Input Delay in 2024.
A good INP is 200 milliseconds or less.
Poor INP almost always comes down to too much JavaScript: apps, plugins, trackers, chat widgets and popups all competing for the browser's attention. Removing what you don't use and delaying what isn't urgent usually sorts it out.
CLS: whether the page stays still
CLS, or Cumulative Layout Shift, measures how much the page jumps around while it loads. You know the feeling: you go to tap a link and it moves because a banner appeared above it.
A good CLS is 0.1 or less.
The usual causes are images and videos without set dimensions, announcement bars or cookie notices that pop in after load, and fonts that change size when they swap in. Setting image sizes and reserving space for banners fixes most of it.
Why your score changes every time you test
PageSpeed Insights shows two kinds of data, and it helps to know the difference.
Field data, the section about what your real users are experiencing, comes from actual Chrome visitors over the past 28 days. This is what Google uses.
Lab data is a single simulated test. It's handy for diagnosing problems, but it wobbles from run to run depending on network conditions.
New or small sites often don't have field data yet. That's normal; use the lab numbers as a guide until they do.
Where to check yours
PageSpeed Insights is the easiest place to test individual pages. Google Search Console has a Core Web Vitals report that groups your pages into good, needs improvement and poor, which is more useful for spotting patterns across the site. Developers will also use Chrome DevTools to dig into specific problems.
Do they really affect rankings?
A little. Core Web Vitals are a genuine ranking signal, but a modest one. Helpful, relevant content still matters far more. Where they make a big difference is sales: a quick, stable page keeps more visitors and turns more of them into customers. That alone makes them worth fixing.
A sensible place to start
Test your three most important pages, typically the homepage, your best-selling collection and your best-selling product. Fix whichever metric is worst first; on mobile it's usually LCP. Re-test after each change, then check the Search Console report once a month.
If you're on Shopify, our post on why Shopify stores slow down lists the fixes we use most often.
Two questions we hear a lot
Do I need a perfect 100? No. Passing all three Core Web Vitals matters far more than the headline score.
Why does my score keep changing? Lab tests vary with network and server conditions. Watch the trend and your field data rather than any single test.
If you'd like help getting into the green, our speed optimisation packages for Shopify and WordPress come with a guaranteed minimum Grade B. Let's talk.