Core Web Vitals get treated as a single score to be raised. They are three unrelated measurements of three unrelated failures, and a change that helps one can hurt another — deferring all JavaScript improves INP and can destroy LCP if the hero image is lazy-loaded behind it.
LCP — the server, then the image
Largest Contentful Paint on a WordPress page is usually two numbers added together: time to first byte, and the delay before the browser discovers the hero image. Fix them in that order. A 900ms TTFB caps your LCP at 900ms no matter what you do to the image.
- Page caching that actually serves the cached copy — verify with a response header, not the plugin's dashboard.
- Object caching for the queries that survive page caching, on any store or logged-in area.
- The hero image in the HTML with fetchpriority="high" and NO loading="lazy".
- Modern image formats and correct srcset, so the phone downloads a phone-sized file.
- Self-hosted or preconnected fonts — a font request on the critical path is a real delay.
INP — how much code runs on a tap
Interaction to Next Paint measures the delay between a user tapping and the screen changing. On WordPress the usual cause is quantity: fifteen plugins each attaching their own listeners, a slider library, an analytics stack, and a page builder's runtime — all competing for one main thread on a mid-range Android.
Measure which script owns the long task before removing anything. Deferring a script that was not on the critical path buys nothing, and deleting a plugin whose 4KB of JavaScript was never the problem is how a site loses a feature and keeps its score.
CLS — space that was not reserved
- Every image and video carries width and height attributes, or an aspect-ratio.
- Ad slots, embeds and cookie banners get a reserved box before they arrive.
- Webfonts declare a fallback with matched metrics, so the swap does not reflow the paragraph.
- Nothing is injected above existing content after load — a promo bar belongs in the HTML.
The lab score is not the metric
Sources
Related services
Related work
Read next
- PerformanceA slow WordPress site does not always need another optimization pluginHow do you find out why a WordPress site is slow, rather than guessing?
- PerformanceCloudflare in front of WordPress: what it fixes, hides and createsWhat does putting Cloudflare in front of WordPress actually change?
- PerformanceSpeed is not a score. It is the part of the funnel nobody instrumentsHow do I justify spending money on site performance?
- WordPressElementor is a tool — the development skill is knowing when to put it downWhen does a WordPress page builder stop being the right tool?
- WordPressThe order a web project has to be built in, and what deferring costsWhat order should a web project actually be built in?
