How to improve Core Web Vitals: a practical checklist

A checklist for passing LCP, INP and CLS: which fix helps which number, the order to work in, and a four-week plan for a typical business site.

BeginnerChecklist4 min readUpdated October 30, 2026

In this guide
  1. Before you start
  2. Which fix helps which number
  3. The checklist
    1. 1. Server and cache (LCP)
    2. 2. The main image (LCP)
    3. 3. Scripts (LCP and INP)
    4. 4. Responsiveness (INP)
    5. 5. Visual stability (CLS)
    6. 6. Keep it that way
  4. A four-week plan for a typical small business site
  5. What a pass looks like
  6. Check your own page
  7. Sources

Before you start

Four things make the rest of the work easier.

  1. Know your numbers. Check the real-visitor result for mobile in PageSpeed Insights for your home page and two or three important pages. Write down LCP, INP and CLS for each. If a number is already green, you do not need to touch it. The Core Web Vitals guide explains the marks and the rules.
  2. Take a backup, and work on a copy of the site if you can.
  3. Choose one failing metric. The one that is furthest into the red, or that fails on most of your pages.
  4. Decide how you will test. The same page, the same device setting, three runs and the middle result.

Which fix helps which number

A small number of changes help more than one metric. Do those first.

FixLCPINPCLS
A page cache and a fast serverYes
The main image: right size, not lazy-loaded, high priorityYes
Width and height on images, space for embeds and bannersYes
Fewer, smaller web fonts and a matched fallbackYesYes
Remove unused scripts and pluginsYesYes
Defer scripts the first screen does not needYesYes
Control third-party scriptsYesYesYes
Inline the critical CSS and unblock the first paintYes
Break up long tasks and do less in event handlersYes
A smaller page structure and content-visibilityYes
Animate with transforms, not layout propertiesYes

Third-party code is on the list three times for a reason: chat widgets, ads and embeds slow the load, block responses and move the page.

The checklist

1. Server and cache (LCP)

See time to first byte and caching explained.

2. The main image (LCP)

See how to fix a slow LCP and image optimization.

3. Scripts (LCP and INP)

See third-party scripts and render-blocking resources.

4. Responsiveness (INP)

See how to fix a slow INP and Total Blocking Time.

5. Visual stability (CLS)

See how to fix layout shift and web fonts and speed.

6. Keep it that way

A four-week plan for a typical small business site

This is an illustration, not a promise. It shows the order, and how long the real-visitor data takes to respond.

Week 1: measure and quick wins. Record the numbers. Turn on the cache. Fix the main image. Set sizes on images. Remove unused plugins and tags. Test.

Week 2: scripts and the first paint. Defer scripts. Deal with the heaviest third party. Handle fonts. Inline critical CSS if blocking CSS is a problem. Test.

Week 3: the specific failing number. If INP fails, record the slow interactions and fix the longest part. If CLS fails, use the layout shift list. If LCP still fails, look at the four parts again. Test.

Week 4: confirm. Watch the real-visitor numbers move. They cover a rolling 28 days, so the full effect of Week 1 shows by Week 5. Do not add anything new meanwhile, so that the data is clean.

What a pass looks like

A page passes when LCP, INP and CLS are all good at the 75th percentile for real visits, for mobile and desktop separately. Passing is not permanent: new scripts, plugins and images undo it, and the data covers only the last 28 days. Check again after major changes, and set a reminder to look every month.

Check your own page

Run the free audit and tick off the checklist against the report. The items that the report flags are your list; the rest you can leave. Work through them in the order above, and test after each one.

Sources

Start here

Free website audit

Live Google data for any public page: mobile and desktop.

Mobile + desktop · Lighthouse lab test · Real-user Chrome data when Google has it

Rather have this done for you? Core Web Vitals · Book a call

Related guides

All guides →