LCP — how long until the page looks ready
Largest Contentful Paint measures the moment the biggest thing in the viewport finishes rendering. Usually that is a hero image or a headline. It is a proxy for the question a visitor is actually asking: is this page loading, or is it broken?
The common causes of a bad LCP are boring and fixable: an oversized hero image, a font that blocks text from rendering, a slow server response, or a page that waits on JavaScript before it can show anything at all. Server-rendered HTML and a correctly sized, correctly prioritised hero image solve most of it.
CLS — whether the page moves under your thumb
Cumulative Layout Shift measures content jumping around after it has already appeared. Everyone has experienced the failure mode: you go to tap a link, an ad or an image loads above it, and you tap something else entirely.
It is almost always caused by elements that arrive without a reserved space — images without dimensions, embeds, banners injected at the top of the page, or a web font that swaps to a differently-sized fallback. Reserving space for anything that loads late fixes nearly all of it.
INP — whether the page answers when you touch it
Interaction to Next Paint replaced First Input Delay in 2024. It measures the delay between an interaction and the screen visibly updating — across the whole visit, not just the first tap.
A bad INP almost always means too much JavaScript running on the main thread. The browser is busy, so it cannot repaint. The fix is usually to ship less JavaScript rather than to optimise the JavaScript you ship.
Why they matter beyond the score
Core Web Vitals are a ranking signal, but a small one, and chasing the number is the wrong reason to care. They matter because they measure real friction: pages that look broken, move under your finger, or ignore your taps.
The honest framing is this. Good vitals will not rescue a page that does not deserve to rank. Bad vitals will quietly cost you visitors who were already going to convert. That is why performance belongs in the build rather than in a clean-up pass afterwards.
How to measure yours
Use two tools and understand the difference. PageSpeed Insights gives you lab data from a simulated device — repeatable and good for debugging. The Core Web Vitals report in Search Console gives you field data from real visitors on real devices, which is what Google actually uses.
When the two disagree, trust the field data and use the lab data to work out why.