Technical SEO
What are Core Web Vitals?
Core Web Vitals measure loading, responsiveness and visual stability. Learn the LCP, INP and CLS thresholds, how they are measured and how to fix them.
The three metrics and what good looks like
Core Web Vitals are three metrics Google uses to describe how a page feels to real visitors: how fast the main content loads, how quickly the page responds to input, and how much the layout moves around.
- Largest Contentful Paint (LCP)
- Time until the largest image or text block in the viewport is rendered. Good is 2.5 seconds or less; poor is over 4 seconds.
- Interaction to Next Paint (INP)
- How quickly the page visibly responds to clicks, taps and key presses, based on the slowest interactions during a visit. Good is 200 milliseconds or less; poor is over 500 milliseconds.
- Cumulative Layout Shift (CLS)
- How much visible content moves unexpectedly while the page is open. Good is 0.1 or less; poor is over 0.25.
A page passes a metric when at least 75 percent of real page loads meet the good threshold, assessed separately for mobile and desktop. INP replaced First Input Delay (FID) as a Core Web Vital in March 2024.
Field data and lab data
Field data comes from real Chrome users who have opted in, collected in the Chrome User Experience Report (CrUX) over a rolling 28-day window. PageSpeed Insights shows it at the top of its report, the Core Web Vitals report in Search Console uses it, and the thresholds apply to it.
Lab data comes from Lighthouse, which loads the page once on a simulated device and network. It is repeatable and useful for debugging, but it is not what Google assesses. Lighthouse cannot measure INP because nobody interacts with the page during the test; Total Blocking Time is the closest lab proxy.
Low-traffic pages may lack field data of their own. PageSpeed Insights then shows origin-wide data if it has it, or none.
How to improve LCP
Slow LCP usually has one of four causes: the server is slow to respond, the LCP image is discovered late, the image is too heavy, or CSS and scripts block rendering.
- Speed up server response with caching and, where it helps, a CDN.
- Do not lazy-load the hero image; keep lazy loading for images below the fold.
- Reference the LCP image directly in the HTML rather than from CSS or JavaScript, and mark it high priority with the fetchpriority attribute.
- Serve images compressed, at the size they are displayed, in a modern format such as WebP or AVIF.
- Inline critical CSS and defer scripts not needed for the first render.
How to improve INP and CLS
Poor INP usually means the main thread is busy running JavaScript when the visitor interacts.
- Break long tasks into smaller pieces and yield to the main thread between them.
- Remove or defer JavaScript the page does not need, including third-party tags.
- Keep event handlers light: show visual feedback first, then do the heavy work.
Poor CLS comes from content that arrives without space reserved for it.
- Set width and height attributes, or a CSS aspect ratio, on images, video and iframes.
- Reserve space for ads, embeds and banners before they load.
- Do not insert content above existing content unless the visitor asked for it.
- Reduce shifts from font swapping with font-display and fallback fonts sized to match.
- Animate with transform rather than properties that change layout, such as top or width.
How much they matter for ranking
Core Web Vitals are part of the page experience signals Google's ranking systems use, but relevance comes first. Google says it will still show the most relevant content even when its page experience is poor, and that good scores alone do not guarantee a high ranking.
Where many pages are similarly useful, a good experience can help, and it matters to visitors regardless of search. Aim to pass all three metrics in field data rather than chasing a perfect lab score.
Put it to work
- Free auditCheck your homepage in about a minute and see a preliminary score with your top issues.
- MovesDrafted fixes with a projected score impact. You approve, the connector applies.
More in Technical SEO
- What is structured data and schema markup?Structured data describes a page's content in a format machines can read. Learn JSON-LD, the common schema types, rich results and how to test markup.
- What is a canonical tag?A canonical tag tells search engines which URL is the main version of duplicate pages. Learn how it works, how to set it and which mistakes to avoid.
- What is an XML sitemap and what goes in it?An XML sitemap lists the URLs you want search engines to find. Learn what to include, how lastmod is used, the size limits and how to submit one.
- Can crawlers see content rendered by JavaScript?Googlebot renders JavaScript, but many AI crawlers appear to read only the raw HTML. Learn how rendering works and how to keep key content visible to both.
- Which redirect should you use: 301, 302, 307 or 308?Permanent and temporary redirects send different signals. Learn when to use 301, 302, 307 and 308, and how to avoid chains, loops and migration mistakes.
- How to control crawling, indexing and snippetsRobots.txt controls crawling, noindex controls indexing and canonicals consolidate duplicates. Learn what each one does and when to use which.
- How to write title tags and meta descriptionsTitles and meta descriptions shape how a page appears in search results. Learn how to write them, why Google rewrites them and how long they should be.