Technical

How to fix Core Web Vitals

Quick answer

Core Web Vitals measure loading (LCP), responsiveness (INP), and visual stability (CLS). Google's good thresholds are LCP within 2.5 seconds, INP of 200 milliseconds or less, and CLS of 0.1 or less, at the 75th percentile of real visits. Find the failing metric in field data, then fix the template behind it.

Why it matters

Google recommends good Core Web Vitals for success with Search and says they align with what its core ranking systems seek to reward. It also says page experience has many aspects and that site owners should not focus on only 1 or 2. Treat these metrics as part of building a page people can use, not a trick.

Because most pages on a site share a few templates, a single fix to a template, such as the hero image on service pages, can move hundreds of URLs. That makes this one of the more efficient technical jobs.

Key takeaways

  • Use real-user field data first. Lab scores from Lighthouse help you debug, but they can disagree with what visitors experience.
  • The thresholds are LCP at 2.5 seconds or less, INP at 200 milliseconds or less, and CLS at 0.1 or less, measured at the 75th percentile.
  • Fix templates, not single URLs.
  • Never lazy-load the LCP image, and always give images and embeds dimensions.

Step by step

  1. Check field data for your site

    Open the Core Web Vitals report in Search Console and run your key URLs through PageSpeed Insights, which shows real-user data from the Chrome User Experience Report. Look at mobile first. Note whether the problem is on 1 page, a group of pages, or the whole origin.

  2. Find the failing metric and the template

    Group failing URLs by page type, such as service pages, blog posts, or product pages. Pick the group with the most traffic and the failing metric. That is your first target.

  3. Fix slow loading, LCP

    Find the largest element in the viewport, usually a hero image or a heading. Make sure it is discoverable in the initial HTML, serve it at the right size in a modern format, and give it fetchpriority=high. Never set loading=lazy on it. If server response is slow, look at hosting, caching, and a CDN.

  4. Fix layout shifts, CLS

    Add width and height to images and videos, or reserve the space with CSS aspect-ratio. Reserve space for ads, embeds, and iframes. Avoid inserting banners above content that has already rendered, and check how web fonts swap in.

  5. Fix slow responses, INP

    Find the slow interaction, such as opening a menu or submitting a form, using field data and DevTools. Reduce long tasks on the main thread by removing or deferring heavy scripts and breaking up work in event handlers. Audit third-party tags, since chat widgets and trackers are common causes.

  6. Verify in the lab, then wait for field data

    Re-test the template in Lighthouse and the DevTools Performance panel to confirm the change. Field data comes from real visits over time, so give the Search Console report several weeks to reflect it. Do not judge from 1 lab run.

  7. Stop it coming back

    Set a simple rule for new work: every image has dimensions, new scripts need a reason, and hero images are compressed before upload. Re-check your top templates after each redesign or plugin install.

The 3 metrics

MetricWhat it measuresGood
Largest Contentful Paint (LCP)How quickly the largest image or text block renders2.5 seconds or less
Interaction to Next Paint (INP)How quickly the page responds to taps, clicks, and key presses200 milliseconds or less
Cumulative Layout Shift (CLS)How much visible content moves unexpectedly0.1 or less

All 3 are assessed at the 75th percentile of page loads, segmented across mobile and desktop. A page passes when it meets the target for all 3.

An image with dimensions set, which lets the browser reserve space before it loads:

<img
  src="/images/team-van.webp"
  width="1200"
  height="800"
  alt="Service van outside a customer's home"
/>

How Doily helps

Doily's site audit crawls your site and reports Core Web Vitals alongside a health score and ranked fixes, so you can see which templates to fix first.

Questions

Do I need a perfect Lighthouse score?

No. Lighthouse is a lab test. Google's recommendation is to meet the good thresholds for real visitors at the 75th percentile on all 3 metrics. Use Lighthouse to find causes, not as the goal.

Do Core Web Vitals guarantee rankings?

No. Google says good Core Web Vitals align with what its ranking systems reward, and also says to look at page experience overall. Fast pages with weak content will not rank on speed alone.

Why do my mobile and desktop results differ?

Devices and networks differ, and Google recommends measuring the 75th percentile segmented across mobile and desktop. Fix the weaker one first, which is usually mobile.

Sources

Primary sources, checked Oct 11, 2026.

Get found everywhere.

Doily opens to new workspaces soon.