Core Web Vitals are Google’s three user experience metrics: how quickly the main content appears (LCP), how quickly the page responds to a click or tap (INP), and how much the layout shifts while loading (CLS). A green score means each of the three metrics stays under Google’s threshold for most real visitors. They have been part of Google’s ranking signals since 2021, and in March 2024 INP replaced the previous metric, FID. Below we explain what each metric measures, where the thresholds are, where WordPress sites most often miss them, and the order in which to tackle the fixes.

In short

  • Three metrics: LCP (main content rendering), INP (responsiveness to interaction) and CLS (layout stability).
  • Thresholds for a green score: LCP up to 2.5 s, INP up to 200 ms, CLS up to 0.1.
  • Google assesses field data from real visitors (CrUX), not a lab test; the 75th percentile is what counts.
  • On WordPress, the most common causes are oversized images, render-blocking fonts and too much JavaScript from plugins.
  • Make the fixes in order: images and fonts first, then scripts, and caching last.

What are Core Web Vitals

Core Web Vitals are a subset of Google’s Web Vitals metrics, which Google uses as a page experience signal in ranking. They measure three things a visitor feels directly: how fast the page appears, how fast it responds and whether it stays still while they read. You can see the results in Google Search Console (the Core Web Vitals report) and in PageSpeed Insights, which shows field data and lab data separately.

LCP: main content rendering

LCP (Largest Contentful Paint) measures the time from the start of loading until the largest element in the viewport has rendered, usually the main image or heading. The threshold for a green score is 2.5 seconds. On WordPress, the usual causes of a slow LCP are a hero image that isn’t preloaded and is served in an oversized format, web fonts that block text rendering, and a slow first server response when the page isn’t cached. Example: a homepage with a multi-megabyte hero JPG has an LCP of four to six seconds; the same image in WebP, with defined dimensions and preloaded, renders in under two seconds.

INP: responsiveness to interaction

INP (Interaction to Next Paint) measures how long it takes from a click, tap or key press until the next screen update, and it accounts for the slowest interactions across the whole visit. The threshold is 200 milliseconds. In March 2024, INP replaced FID, which only measured the first interaction. The main cause of poor INP is an overloaded browser main thread: analytics and ad scripts, A/B testing tools, and plugins that each add their own event listeners. Example: in a store where five plugins run their scripts on every click, the menu takes half a second to respond to a click; after removing unnecessary plugins and deferring analytics, the response drops below 100 milliseconds.

CLS: layout stability

CLS (Cumulative Layout Shift) adds up all unexpected content shifts during loading. The threshold is 0.1. The most common culprits are images and embeds without a set width and height, font swapping that changes text size, and banners and ads injected above content that is already visible. Example: a cookie banner that slides in at the top of the page and pushes content down is enough for a red CLS on its own; if the banner is an overlay and doesn’t move the content, there’s no problem.

How Google measures: field data and the 75th percentile

For ranking, what counts is field data from the Chrome User Experience Report (CrUX), collected from real visitors using Chrome. A page gets a green score if it stays under the threshold for 75 percent of visits. The lab score in Lighthouse is useful for finding causes, but it isn’t what Google assesses. Pages with little traffic have no field data of their own and are assessed based on similar pages on the same site.

The most common causes on WordPress

  • A hero image that isn’t preloaded, is in an oversized format or has no set dimensions.
  • Web fonts loaded from external servers without the setting that lets text render in a fallback font first.
  • Too many plugins, each loading its own CSS and JavaScript on every page, even where they aren’t needed.
  • Analytics, chat and ad scripts that load before the content instead of after it.
  • No server-level caching, so every visit waits on PHP and the database.
  • Embedded maps, videos and banners without reserved space.

How to get to a green score, step by step

  1. Measure field data. In Search Console, check which groups of pages are red or orange, and in PageSpeed Insights, which metric is dragging them down.
  2. Fix images. Use a modern format (WebP or AVIF), the right size for each layout, a set width and height, a preloaded hero image, and lazy loading for images outside the viewport.
  3. Fix fonts. Self-host them, preload the main font, and use the setting that renders text immediately in a fallback font.
  4. Cut JavaScript. Remove plugins you don’t need, defer non-essential scripts, and load analytics and chat only after interaction or consent.
  5. Turn on caching. Server-side page caching and critical CSS in the document head. A caching plugin helps, but it doesn’t replace the previous steps, because it only masks a slow foundation.
  6. Check again in a few weeks. Field data updates with a delay, so the effect of the fixes shows up in Search Console gradually.

Frequently asked questions

Does a caching plugin fix Core Web Vitals?

Not on its own. Caching shortens the server response and helps with LCP, but it doesn’t fix oversized images, fonts and JavaScript, which cause poor INP and CLS. Those fixes happen in the theme and plugins, not in the caching settings.

Why is the lab score green while Search Console shows red?

Lighthouse measures a single load under ideal conditions, while Search Console shows the 75th percentile of real visitors, often on slower phones and mobile networks. Field data is what counts for ranking.

What replaced FID?

INP, in March 2024. FID only measured the delay of the first interaction, while INP accounts for all interactions during a visit, so it is stricter and better reflects real responsiveness.

How often is the data refreshed?

CrUX covers a rolling 28-day period, so fixes show up in field data gradually, usually within a few weeks.

To see where your site stands today, get a free check: the report includes speed measured with real visitors. For a complete page-by-page list of findings, order the technical SEO + GEO audit.