Fix Core Web Vitals on WordPress: what LCP, INP and CLS measure, the plugin and hosting causes behind bad scores, and the fixes that work.
Core Web Vitals are Google's three field metrics for user experience, and since March 2024 they are LCP, INP and CLS. LCP (Largest Contentful Paint) measures loading: how quickly the biggest visible element appears, with a good threshold of 2.5 seconds. INP (Interaction to Next Paint) measures responsiveness: how quickly the page answers clicks and taps, with a good threshold of 200 milliseconds. CLS (Cumulative Layout Shift) measures visual stability: how much the page jumps around as it loads, with a good threshold of 0.1. They are measured from real users in Chrome, reported in Search Console, and they remain a ranking consideration for Google.
The usual suspects explain most bad scores. Slow LCP: an uncompressed hero image, no preload for the main image, render-blocking CSS and JavaScript, and cheap shared hosting. Slow INP: heavy jQuery-based themes, bloated page builders, ad scripts and third-party widgets running on every page. Poor CLS: images and videos without width and height attributes, late-loading ads and banners, web fonts that swap in after layout, and sliders that change size as they rotate. The pattern is almost always the same: too many plugins, too much JavaScript, and media that was never optimised.
Work through the metrics in order. For LCP: compress and convert images to WebP, preload the hero image, enable page caching, and remove any plugin or script that is not earning its place; if your host is slow, moving to a faster host with server-side caching is the single biggest lever. For INP: disable unused plugins, defer non-critical JavaScript, and replace heavy sliders with static images. For CLS: add explicit dimensions to every image and video, reserve space for ads, and self-host fonts or use system fonts instead of loading several webfonts. Each fix is small; doing all of them is what moves the score.
One structural fix helps all three metrics at once: move to a theme that is lean by default. Many of the fastest WordPress sites in the wild use minimal themes with no page builder, and their owners report that Core Web Vitals largely look after themselves once the bloat is gone. If a redesign is not on the cards, at least audit which plugins load scripts on every page, and switch the heavy ones off everywhere except where they are genuinely needed, because a plugin that serves one widget on one page should not slow down the whole site.
Measure with PageSpeed Insights and the Chrome UX Report, which shows real-user data for your site over the previous 28 days, and fix one metric at a time so you know what moved the needle. Verify each change in staging with a lab test, then watch the field data update over the following month, because CrUX lags behind your fixes. Make speed a budget: no new plugin without a before-and-after speed test, and a quarterly review of what is installed. Core Web Vitals reward the boring work, and on WordPress the boring work is nearly always the same: fewer plugins, smaller images, better hosting.