Core Web Vitals for WordPress: Improve LCP, INP and CLS

Illustration of Core Web Vitals scores for LCP, INP and CLS

By PDS Team

Improving Core Web Vitals on WordPress means getting three measures into the “good” range for real visitors: Largest Contentful Paint (LCP) of 2.5 seconds or less, Interaction to Next Paint (INP) of 200 milliseconds or less and Cumulative Layout Shift (CLS) of 0.1 or less. On most WordPress sites, the biggest wins come from the hero image, heavy plugins and scripts, fonts and hosting. WordPress core already handles some of this for you, so the job is to keep themes and plugins from undoing it.

This Core Web Vitals WordPress guide covers how to measure, what to fix for each metric and a checklist you can work through.

What are Core Web Vitals and what scores should you aim for?

Core Web Vitals are three measures of real user experience, loading, responsiveness and visual stability, and web.dev sets a clear “good” threshold for each.

MetricWhat it measuresGood
LCP (Largest Contentful Paint)How quickly the main content loads2.5 seconds or less
INP (Interaction to Next Paint)How quickly the page responds to clicks, taps and key presses200 milliseconds or less
CLS (Cumulative Layout Shift)How much the layout jumps while loading0.1 or less

web.dev says to measure the 75th percentile of page loads, segmented across mobile and desktop. In simple terms, at least three out of four visits should meet each target, and mobile and desktop are judged separately. If you would rather have specialists diagnose and fix this, our technical SEO services include Core Web Vitals audits for WordPress sites.

How do you measure Core Web Vitals on a WordPress site?

Use field data from real users to find problems, then lab tools to understand and test fixes.

Field data

web.dev lists PageSpeed Insights, the Chrome UX Report and the Search Console Core Web Vitals report as sources of field data for all three metrics. Search Console groups similar URLs, which helps you spot a problem with one template, such as every product page or every blog post.

Lab data

Lighthouse and Chrome DevTools let you test a page on demand. web.dev notes that Lighthouse cannot measure INP, because INP needs real interactions, so it uses Total Blocking Time as a proxy. A good Lighthouse score is helpful, but real-user data is what counts.

For a wider view of crawling, indexing and page experience checks, see our technical SEO checklist.

How do you improve LCP on WordPress?

Improve LCP by making the main image or heading load early: serve it from a fast server, keep it out of lazy loading and cut render-blocking CSS and JavaScript.

web.dev’s LCP guide breaks LCP into four parts: time to first byte, resource load delay, resource load duration and element render delay. Each part points to a different fix.

Let WordPress prioritise the hero image

The WordPress core team’s notes on WordPress 6.3 explain that WordPress automatically adds fetchpriority="high" to the image it judges most likely to be the LCP image. The same release fixed cases where loading="lazy" was added to images that should load straight away, and WordPress never gives one image both attributes. Some themes, page builders and plugins override this, so check the hero image in your page source.

Other LCP fixes

  • Make the LCP image discoverable in the HTML. web.dev advises against loading it only through CSS backgrounds or JavaScript, such as some slider plugins do.
  • Never lazy-load the LCP image. Turn off lazy loading for the first image in any optimisation plugin.
  • Compress and size images properly so the browser downloads less.
  • Reduce render-blocking CSS and JavaScript from unused plugins and theme features.
  • Improve time to first byte with page caching, fewer redirects and good hosting.

How do you improve INP on WordPress?

Improve INP by reducing the JavaScript that runs on each page, so the browser can respond to clicks and taps without waiting.

web.dev’s INP guide recommends shortening long tasks on the main thread, breaking up long event handlers, keeping event callbacks light and reducing DOM size. On WordPress sites, the usual sources of heavy JavaScript are:

  • Page builders that add large scripts and deeply nested HTML.
  • Sliders, popups, chat widgets and animation libraries.
  • Several tracking and marketing tags loading on every page.
  • Plugins that load their scripts site-wide even when used on one page.

Start by listing every plugin and asking whether it is still needed. Remove what you do not use, and limit the rest to the pages that need them. Simpler layouts with fewer nested blocks also reduce the work the browser does after each interaction.

How do you fix CLS on WordPress?

Fix CLS by reserving space for anything that loads late, such as images, ads, embeds and fonts, so content does not jump.

web.dev’s CLS guide lists the main causes and fixes:

CauseFix
Images and videos without sizeInclude width and height attributes, or set a CSS aspect-ratio
Ads, embeds and iframesReserve space with a minimum height or aspect-ratio
Banners or notices inserted at the topPlace them lower, overlay them, or show them after a user action
Web fonts swapping inPreload key fonts and choose a close fallback font
AnimationsAnimate transform instead of properties such as top or left

Cookie banners, announcement bars and late-loading header elements are common culprits on WordPress themes. Test pages on a mobile connection and watch for jumps as they load.

Which WordPress features, plugins and hosting choices help?

Recent WordPress versions include several performance features, and good hosting plus a light theme make the rest of the work much easier.

Speculative loading

The WordPress core team’s notes on WordPress 6.8 explain that speculative loading is turned on for the front end of sites by default, except for logged-in users and sites without pretty permalinks. By default it prefetches a page when a user starts to click a link, which can make the next page load faster. It uses the Speculation Rules API, which Chrome, Edge and Opera support, and other browsers simply ignore it. The separate Speculative Loading plugin uses more aggressive settings by default.

Performance Lab

The WordPress Performance Team builds the Performance Lab plugin, a collection of performance feature projects being tested for core. Test any feature plugin on a staging site first.

Hosting and maintenance

Slow servers raise time to first byte, which delays everything else. Page caching, an up-to-date PHP version and regular plugin updates all support good page speed optimisation. Our web hosting services include managed WordPress hosting and maintenance.

What does a Core Web Vitals checklist for WordPress look like?

Use this checklist after any redesign, theme change or new plugin.

AreaCheck
MeasureSearch Console Core Web Vitals report reviewed for mobile and desktop
LCPHero image in the HTML, not lazy-loaded, compressed and correctly sized
LCPPage caching on, time to first byte checked
INPUnused plugins removed, scripts limited to the pages that need them
CLSImages, embeds and ads have reserved space, fonts preloaded
CoreWordPress, theme and plugins up to date
VerifyField data checked again after fixes have had time to collect

Core Web Vitals WordPress FAQs

The targets are the same for every site. web.dev defines good as LCP of 2.5 seconds or less, INP of 200 milliseconds or less and CLS of 0.1 or less, measured at the 75th percentile of page loads for mobile and desktop separately. WordPress sites are judged on real-user data just like any other site.

It helps, but rarely fixes everything. Page caching can reduce server response time, which improves LCP. It does little for INP, which depends on JavaScript, or for CLS, which depends on layout. You still need to optimise images, remove heavy scripts and reserve space for late-loading content.

They often measure different things. PageSpeed Insights shows a Lighthouse lab test for one page plus field data where available, while Search Console reports field data grouped across similar URLs. Lab results change with test conditions. For Core Web Vitals, focus on field data from real users.

They can, depending on how they are used. Some page builders add extra scripts, styles and nested HTML that slow loading and responses. Using fewer widgets, simpler layouts and the builder’s own performance settings helps. For very slow sites, a lighter theme or block-based build may be worth considering.

Lab tools show changes straight away, but field data takes longer because it is based on real visits collected over time. Improvements therefore appear gradually rather than overnight. Check Search Console again a few weeks after your fixes go live, and avoid making many unrelated changes at once so you can tell which fix helped.

No. INP replaced First Input Delay as a Core Web Vital in March 2024. FID measured only the delay before the first interaction was handled, while INP looks at responsiveness across interactions during the whole visit. Remove FID targets from any old reports.

Need help with Core Web Vitals?

If your WordPress site is failing Core Web Vitals or feels slow, our technical SEO services can find the causes and fix them. We work with businesses in Noida, Delhi NCR and across India. Contact our team to request a speed audit.

References

Tags
Drive more revenue for your company
pds ecommerce seo.png

What to read next