What Are Core Web Vitals and Why Do They Matter?
Core Web Vitals are Google's three page experience metrics: LCP, INP, and CLS. Here is what each one measures, the thresholds, and how to fix common problems.
16 May 2026 · 8 min read
Core Web Vitals are a set of three performance metrics Google uses as ranking signals. They measure how a page feels to a real user: how fast it loads, how quickly it responds to input, and how stable the layout is while loading.
Google introduced Core Web Vitals as a ranking factor in 2021. They remain part of the Page Experience ranking system and are measured continuously by Google using data from real Chrome users, not lab tests.
The three Core Web Vitals
LCP: Largest Contentful Paint
LCP measures how long it takes for the largest visible element on the page to finish loading. That element is usually a hero image, a large block of text, or a video thumbnail.
| LCP score | Rating |
|---|---|
| Under 2.5 seconds | Good |
| 2.5 to 4 seconds | Needs improvement |
| Over 4 seconds | Poor |
LCP is the metric most directly linked to how users perceive page speed. If the main content appears in under 2.5 seconds, most users perceive the page as fast. Above 4 seconds, bounce rates increase significantly.
Common causes of poor LCP:
- Unoptimised images (too large, wrong format, no lazy loading)
- Render-blocking resources (JavaScript or CSS loaded in the
<head>that delays rendering) - Slow server response times
- No CDN or poor CDN configuration
INP: Interaction to Next Paint
INP measures how quickly the page responds to user interactions: clicks, taps, and keyboard inputs. It replaced FID (First Input Delay) as a Core Web Vital in March 2024.
| INP score | Rating |
|---|---|
| Under 200ms | Good |
| 200ms to 500ms | Needs improvement |
| Over 500ms | Poor |
INP is more comprehensive than FID because it measures all interactions throughout the page's lifetime, not just the first one. A page with a fast initial load but sluggish JavaScript interactions that fire when a user clicks a button will score poorly on INP.
Common causes of poor INP:
- Heavy JavaScript execution blocking the main thread
- Large event handlers that do too much work on user interaction
- Too many third-party scripts running simultaneously
- Unnecessary re-renders in JavaScript frameworks
CLS: Cumulative Layout Shift
CLS measures how much the visible content shifts unexpectedly during loading. A page with a high CLS score is one where elements jump around as images, fonts, or ads load in.
| CLS score | Rating |
|---|---|
| Under 0.1 | Good |
| 0.1 to 0.25 | Needs improvement |
| Over 0.25 | Poor |
Layout shift is one of the most noticeable page quality problems for users. Clicking a link that moves just as you tap it is a classic CLS symptom. Ads and cookie banners loading above content and pushing everything down are another.
Common causes of poor CLS:
- Images without defined width and height attributes
- Ads or embeds without reserved space
- Dynamically injected content loading above existing content
- Custom fonts loading and causing text to reflow
How do Core Web Vitals affect rankings?
Core Web Vitals are a ranking factor, but a tie-breaker rather than a primary signal. Google is explicit: a page with excellent content and poor Core Web Vitals will outrank a page with poor content and excellent Core Web Vitals.
The practical implication: fixing Core Web Vitals is unlikely to produce large ranking jumps on its own. But for competitive queries where multiple pages are similarly authoritative and relevant, page experience is a differentiator. For pages already close to ranking, fixing poor Core Web Vitals can push them over the line.
More importantly, Core Web Vitals directly affect user behaviour. Slow pages produce higher bounce rates, lower engagement, and fewer conversions, regardless of how search engines weight them.
How to measure Core Web Vitals
Google Search Console
The Core Web Vitals report in Search Console uses field data from real Chrome users. It groups pages into Good, Needs Improvement, and Poor based on actual user sessions. This is the most reliable source because it reflects real conditions, including slow devices and variable network speeds.
PageSpeed Insights
PageSpeed Insights shows both field data (from Chrome User Experience Report) and lab data (from Lighthouse). Lab data is useful for diagnosing specific issues in a controlled environment. Field data shows real-world performance.
Chrome DevTools and Lighthouse
Run Lighthouse in Chrome DevTools for a detailed breakdown of exactly what is causing each metric to underperform, with specific recommendations.
CrUX (Chrome User Experience Report)
The underlying dataset that powers Search Console and PageSpeed Insights. Available via BigQuery for large-scale analysis.
How to fix Core Web Vitals issues
Fixing LCP
- Optimise images: compress to WebP or AVIF, serve at the correct dimensions, add
loading="lazy"to images below the fold, and addfetchpriority="high"to the LCP image - Reduce server response time: aim for under 600ms Time to First Byte (TTFB). Use a CDN, upgrade hosting, or enable caching
- Eliminate render-blocking resources: move non-critical JavaScript to the bottom of the page or use
deferandasyncattributes - Preload the LCP resource: add
<link rel="preload">for the LCP image or font
Fixing INP
- Audit JavaScript execution: use Chrome's Performance panel to identify long tasks on the main thread
- Break up long tasks: JavaScript tasks over 50ms block the main thread. Split them into smaller chunks using
scheduler.postTask()orsetTimeout - Defer non-critical third-party scripts: analytics, chat widgets, and ad scripts that load on page interaction can delay INP
- Reduce input handlers: make event listeners as lightweight as possible
Fixing CLS
- Define image dimensions: always add
widthandheightattributes to<img>tags so the browser reserves space before the image loads - Reserve space for ads and embeds: add a minimum height to ad containers
- Use
font-display: optionalorswap: prevents invisible or unstyled text causing layout shifts as fonts load - Avoid inserting content above existing content: if you must inject banners or notifications, do so below the fold
Core Web Vitals and mobile vs desktop
Google uses mobile Core Web Vitals data for mobile ranking and desktop data for desktop ranking. Pages with poor mobile CWV scores are penalised in mobile search, which matters because the majority of Google searches are on mobile.
Check both mobile and desktop scores in Search Console. They often differ significantly, especially LCP, where mobile devices on slower connections show much worse scores than desktop.
What is a good Core Web Vitals score?
All three metrics should be in the "Good" range for at least 75% of real user sessions. That is the threshold Google uses to classify a page as passing Core Web Vitals in Search Console.
A page that passes Core Web Vitals on desktop but fails on mobile is still flagged as having issues. Both need to pass.
Core Web Vitals are one component of a complete technical SEO audit. Download Crawly to run a full crawl of your site and identify every technical issue alongside performance signals.