Speed and Core Web Vitals

How Can I Fix My Website's Core Web Vitals?

Open PageSpeed Insights, read the right numbers, and fix one metric at a time. This guide goes through LCP, INP, and CLS, with the exact fixes for each.

Answered by Aditi Chaturvedi · Updated August 25, 2026 · 11 min read

How to fix Core Web Vitals in five steps: read field data not the lab score, fix LCP over 2.0s with images and server speed, fix INP over 200ms by cutting JavaScript, fix CLS over 0.1 by reserving layout space, re-test after 28 days.

Short answer

Run PageSpeed Insights and read the field data, not the lab score. Then fix the failing metric: LCP over 2.0 seconds means slow images or a slow server, INP over 200 milliseconds means too much JavaScript, CLS over 0.1 means the layout jumps while loading. Fix in that order and re-test after 28 days, because field data updates slowly.

Read the report right first

Go to PageSpeed Insights, enter your URL, and ignore the big score for a moment. The report has two halves, and most people read the wrong one.

Reading PageSpeed Insights

Field data and lab data are not the same thing

Field data

The top section of the report

  • Measured on real visitors to your site
  • Averaged over the last 28 days
  • This is what Google uses for rankings
  • Updates slowly: a fix takes weeks to show

Lab data

The score and the diagnostics below it

  • One simulated load on a test device
  • Changes the moment you re-run the test
  • Google does not use it for rankings
  • Use it to debug, not to celebrate

The field data at the top is what Google actually uses. If it says your LCP is 3.1 seconds, that is what real visitors experienced over the last 28 days. The score below it comes from one simulated load, changes every run, and is for debugging only.

For a site-wide view, open the Core Web Vitals report in Google Search Console instead. It groups your pages by template, so you can see that the blog layout passes and the product layout fails, which is the level you fix at.

The five numbers and what they mean

Three metrics are the actual Core Web Vitals. Two more appear in the same report and help you diagnose the first three.

Core Web Vitals thresholds

The five numbers on your PageSpeed report

MetricWhat it measuresGoodPoorFirst fix to try
LCPHow long the largest element takes to showUnder 2.0sOver 4.0sCompress the hero image, speed up the server
INPHow fast the page reacts to a click or tapUnder 200msOver 500msCut JavaScript, defer third-party scripts
CLSHow much the layout jumps while loadingUnder 0.1Over 0.25Set width and height on images and ads
FCPHow long until anything shows at allUnder 1.8sOver 3.0sRemove render-blocking CSS and JS
TTFBHow fast the server sends the first byteUnder 500msOver 1.8sAdd caching or a CDN

LCP, INP, and CLS are the three Core Web Vitals. FCP and TTFB are supporting metrics shown in the same report.

Each metric fails for different reasons, so each has its own fix list. Work through the one that is failing, not all three at once.

Fix LCP: the page shows too slowly

LCP measures how long the largest element takes to appear, and the largest element is almost always the hero image. The fixes, in order of how often they work:

  • Compress the hero image. Serve it as WebP or AVIF, sized to the space it fills. A 2MB JPEG in a 800px slot is the single most common LCP failure.
  • Preload it. Add a preload tag for the hero image so the browser fetches it first instead of discovering it late.
  • Speed up the server. Get TTFB under 500 milliseconds with page caching or a CDN. The browser cannot paint what the server has not sent. The free HTTP header checker shows whether your caching and compression headers are set.
  • Remove render-blocking CSS and JavaScript. Anything loaded in the head before the content delays the first paint. Inline the critical CSS and defer the rest.

Fix INP: the page reacts too slowly

INP measures how fast the page responds when someone clicks, taps, or types. It fails when JavaScript keeps the browser busy. The fixes are all about cutting script work:

  • Remove unused scripts. Old trackers, abandoned A/B tools, and duplicate analytics are the usual finds. Every script you delete is free speed.
  • Defer third-party scripts. Chat widgets, video embeds, and social buttons do not need to load before the page is usable. Load them after.
  • Break up long tasks. A script that runs for 500 milliseconds straight blocks every click during it. Split heavy work so the browser can respond in between.

Fix CLS: the layout jumps around

CLS measures how much the page moves while loading: the paragraph you were reading jumps because an image loaded above it. The fix is to reserve space for everything before it arrives:

  • Set width and height on every image and video. The browser then holds the space before the file loads. This one attribute fixes most CLS failures.
  • Reserve fixed space for ads and embeds. Give the slot a set height even when the ad has not filled it yet.
  • Preload web fonts. Text that renders in a fallback font and then reflows when the real font arrives counts as shift.
  • Never inject banners above rendered content. A cookie notice that pushes the whole page down is a self-inflicted CLS failure.

What order to fix things in

Keep the order simple, and let the data pick the target:

  1. Read field data, not the score. Fix what real visitors experience, and ignore lab-only wobbles.
  2. Fix by template, not by page. The Search Console report already groups pages by layout. One template fix repairs hundreds of URLs at once.
  3. Start with LCP. When more than one metric fails, LCP usually has the fastest standard fixes: an image and a server setting.
  4. Ship, then wait 28 days. Confirm the fix in a lab test the same day, and in field data a month later.

Why one slow template hurts the whole site

Since Google's March 2026 core update, Core Web Vitals are scored site-wide rather than page by page. A few slow templates now drag on the whole domain, so a failing product-page layout is not just a product-page problem.

Keep the effect in proportion. Speed decides close contests between similar pages. It does not move a page from position 4 to position 40, and it will not rescue content that does not deserve to rank. If your whole site is struggling, run the 20-minute SEO problem check before spending a sprint on speed.

How to check a fix worked

Verify twice, because the two halves of the report update at different speeds:

  • Same day: re-run PageSpeed Insights and check the lab numbers moved. This proves the fix works, not that visitors feel it.
  • After 28 days: check the field data and the Search Console report. The template should move from Poor toward Good as the rolling average takes the fix in.

Fix the templates with traffic first

A failing template with no visitors can wait. A failing template that carries your search traffic cannot. CrawlRaven's 200-point crawl includes speed checks across every page and joins them with your Search Console data, so slow pages are ranked by the traffic actually at stake.

With the MCP server connected, you can ask for that priority list in one line:

Where speed work pays first
List the pages on [your site] with the most impressions over the last 28 days, grouped by page type, so I know which templates are worth speed work first.
Did the fix pay off?
Compare clicks and average position for [your site] over the 28 days since [fix date] against the previous period, for the pages under [template path].

One honest limit: the MCP tools read search performance, not vitals, so the vitals themselves come from PageSpeed Insights and Search Console. The prompts tell you where the fix is worth making and whether traffic moved after it.

Opinion· The trap to avoid
Do not spend a month chasing a 100 score. The lab score is not a ranking input, and the last 10 points cost more than the first 40. Get every template to Good in field data, then go back to content and links. Past that line, speed work stops paying.

Frequently asked questions

What is a good Core Web Vitals score?

Good means all three metrics pass on real visitor data: LCP under 2.0 seconds, INP under 200 milliseconds, and CLS under 0.1. There is no single combined score. The performance number out of 100 in PageSpeed Insights is a lab estimate, and Google does not use it for rankings.

Which Core Web Vitals metric should I fix first?

Fix whichever one is failing in your field data, and if more than one is failing, start with LCP. It is usually the easiest win: most LCP failures come down to a large hero image or a slow server, and both have standard fixes. INP takes longer because it usually means reworking JavaScript.

How do I fix LCP on my website?

Find the largest element on the page, usually the hero image. Compress it, serve it as WebP or AVIF, and preload it. Then cut server response time below 500 milliseconds with caching or a CDN, and remove render-blocking CSS and JavaScript above it. Those four steps fix most LCP failures.

How do I fix INP on my website?

Reduce JavaScript work. Remove scripts you no longer use, defer third-party scripts like chat widgets and trackers, and break long tasks into smaller ones so the page can respond between them. INP failures are almost always script weight, not images or server speed.

How do I fix CLS on my website?

Stop the layout from moving while it loads. Set width and height on every image and video, reserve fixed space for ads and embeds, and preload your web fonts so text does not reflow when they arrive. Never inject a banner above content that has already rendered.

Why does my PageSpeed score change every time I run it?

The score comes from one simulated load, and network conditions vary between runs, so the number wobbles. That is normal. The field data section above the score does not wobble: it is a 28-day average from real visitors. Judge your site on the field data and use the score only for debugging.

How long until Core Web Vitals improve after a fix?

Up to 28 days. Field data is a rolling 28-day average of real visits, so a fix you ship today mixes into the average slowly. Verify the fix immediately with a lab test, then check the field data after four weeks to confirm real visitors see the improvement too.

Do Core Web Vitals affect my Google rankings?

Yes, and since Google's March 2026 core update they are scored site-wide rather than per page, so a few slow templates can drag down the whole domain. They decide close contests between similar pages rather than causing large drops: slow vitals will not take a page from position 4 to 40.

My site has no Core Web Vitals data. Is that bad?

No. Field data needs enough real visitors to measure, and small sites do not have enough yet. Your site has not failed anything. Use the lab numbers as a rough guide, keep pages light, and the field data will appear as traffic grows.

Can a free tool check Core Web Vitals?

Yes. PageSpeed Insights is free and shows both field and lab data for any public page. Google Search Console has a free Core Web Vitals report that groups your pages by template, which is the fastest way to see which layout is failing. Both are made by Google.

Do Core Web Vitals matter for AI search?

Speed matters there too. Fast pages are easier for AI crawlers to fetch, and our research found pages with FCP under 0.4 seconds earn 6.7 times more AI citations than slower ones. The fixes are the same either way: lighter pages, faster servers, less JavaScript.

Aditi Chaturvedi
About the Author

Aditi Chaturvedi

15+ years of growing SaaS websites through SEO | Author, 200-Point Audit Checklist

Aditi has spent 15+ years helping SaaS companies scale organic traffic through technical SEO and content strategy. She is the author of the CrawlRaven 200-Point Audit checklist used by agencies and in-house teams to systematically improve search performance.

Free plan — no credit card

Stop exporting. Start shipping.

Connect Search Console, import your Ahrefs or Semrush lists, and get one ranked plan. Start free with one site, or grab a limited lifetime deal from $29, only 2 licenses left.

3
Data sources joined
200+
Point audit checks
1
Ranked plan out