Core Web Vitals are Google's measurements of real-world page experience. They are a ranking signal, though relevant content still carries more weight. They also correlate with conversion: faster pages keep visitors on the site. Three metrics make up the set, and each has a clear target.
The three metrics
| Metric | Measures | Good |
|---|---|---|
| Largest Contentful Paint (LCP) | When the main content becomes visible | 2.5 seconds or less |
| Interaction to Next Paint (INP) | How the page responds to taps and clicks | 200 milliseconds or less |
| Cumulative Layout Shift (CLS) | How much content jumps around while loading | 0.1 or less |
Google evaluates the 75th percentile of real visits, split by mobile and desktop. Your lab score in Lighthouse can look fine while real users on slow phones still fail.
Measure first
- Search Console has a Core Web Vitals report grouped by URL pattern, built from Chrome user data.
- PageSpeed Insights shows field data and a Lighthouse lab test for one URL.
- The
web-vitalslibrary lets you send real user measurements to your analytics. - Chrome DevTools Performance panel shows what blocks the main thread.
Improve LCP
The LCP element is usually a hero image, a large heading or a video poster. Find it in PageSpeed Insights, then work through the delay sources:
- Server response. Use a CDN, cache HTML where possible and fix slow database queries. Aim for a Time to First Byte under 800 milliseconds.
- Discovery. The browser must find the image early. Do not load the hero image through CSS background or client-side JavaScript. Use an
<img>tag withfetchpriority="high"and never lazy-load the LCP image. - Size. Serve AVIF or WebP, resize to the display size and use
srcset. - Render blocking. Inline critical CSS, defer the rest, and remove unused CSS and scripts from the head.
Improve INP
INP replaced First Input Delay in March 2024. It reports the slowest interaction during a visit, so one heavy handler can fail the page. The causes are long tasks on the main thread:
- Break up work longer than 50 milliseconds with
scheduler.yield(),setTimeoutorrequestIdleCallback. - Ship less JavaScript: split bundles by route, remove unused libraries and use server rendering for non-interactive parts.
- Delay third-party scripts like chat widgets, heat maps and tag managers until after the page is interactive.
- Avoid forced synchronous layout, where code reads layout values right after writing styles in a loop.
- In React, memoize expensive components, virtualize long lists and use
useTransitionfor non-urgent updates.
Improve CLS
- Set
widthandheight, oraspect-ratio, on every image, video and iframe. - Reserve space for ads, banners and embeds before they load.
- Do not insert content above existing content after load, such as a cookie banner that pushes the page down. Overlay it or reserve its space.
- Load fonts with
font-display: swaporoptional, preload the key font and usesize-adjustfallbacks to match metrics. - Animate with
transforminstead of properties that change layout.
Framework help
Next.js provides next/image for sizing and lazy loading, next/font for self-hosted fonts without layout shift, and next/script to control third-party script timing. Astro ships zero JavaScript by default. WordPress sites gain from page caching, an image optimization plugin and a lightweight theme.
Prioritize the work
- Pick the page templates with the most traffic and the worst field data.
- Fix LCP first on those templates, since it usually has the largest effect.
- Remove or defer the heaviest third-party scripts.
- Fix layout shifts from images and banners.
- Re-measure. Field data in Search Console updates over a rolling 28-day window, so allow time to see results.
Prevent regressions
Add Lighthouse CI or a performance budget to your pipeline so a new library or an uncompressed image fails the build. Review the marketing team's tag manager changes, since a new tracking script often undoes engineering work.
Keep expectations realistic
Common questions
Why does my Lighthouse score differ from Search Console?
Lighthouse runs one simulated test on one device and network. Search Console reports field data from real Chrome users over 28 days, at the 75th percentile. Trust field data for ranking questions, and use Lighthouse to diagnose causes.
Do Core Web Vitals apply to the whole site?
Google groups similar URLs and assesses each group, so a slow template, such as product pages, can fail while the home page passes. Fix the template, and every page in the group improves.
How long until rankings change?
Field data needs about a month to reflect your fix, and ranking effects are usually small and gradual. Improvements still help visitors immediately, which supports conversion regardless of the ranking signal.
Passing Core Web Vitals gives a modest ranking benefit, and it improves user experience, which helps conversions and bounce rate. It does not replace quality content, good titles and relevant links. If your site fails the thresholds, request a performance audit from our team or see our website development services.

