Most WordPress sites that fail Core Web Vitals do so for a handful of reasons: slow server response without page caching, heavy page builders and themes, too many plugins loading scripts on every page, unoptimised hero images, and third-party scripts. The fix is rarely another optimisation plugin. Measure with real-user data first, add server-level caching, reduce what loads on each page, optimise the largest image, and control scripts. Recent WordPress versions already handle lazy loading, image priority hints and modern formats.
The targets
| Metric | Good | What it measures |
|---|---|---|
| Largest Contentful Paint (LCP) | 2.5 seconds or less | When the main content appears |
| Interaction to Next Paint (INP) | 200 milliseconds or less | How quickly the page responds to clicks and taps |
| Cumulative Layout Shift (CLS) | 0.1 or less | How much the layout jumps while loading |
Google assesses each at the 75th percentile of real visits, reported in Search Console’s Core Web Vitals report.
Step 1: measure with field data
- Search Console’s Core Web Vitals report shows which URL groups fail, based on real Chrome users over 28 days.
- PageSpeed Insights shows field data for a URL and a lab test with specific recommendations.
- Test on a mid-range Android phone. Many Indian visitors use one, and desktop tests hide the problem.
Step 2: fix server response
- Use full-page caching at the server or host level, so most visitors receive a stored HTML page instead of waiting for PHP and the database.
- Add a persistent object cache, such as Redis, for sites with logged-in users or WooCommerce.
- Run a supported PHP version; PHP 8.x is substantially faster than older versions.
- Use a CDN for static files, especially for visitors far from your server.
Step 3: reduce what loads on every page
- Audit plugins: remove those you do not use, and check which ones load CSS and JavaScript on pages that do not need them.
- Page builders add large amounts of markup, CSS and JavaScript. For key templates, a lightweight theme or block-based layout is often faster than any optimisation of a heavy builder.
- Self-host fonts, load only the weights you use, and use font-display: swap. This site loads three self-hosted font families and no external font service.
Step 4: fix the LCP image
- Since WordPress 6.3, core adds fetchpriority=”high” to the image it judges most likely to be the LCP element, and does not lazy-load it. Check that your theme or a plugin is not overriding this.
- Upload the hero image at the size it is displayed, compressed, in WebP or AVIF; WordPress supports AVIF uploads since version 6.5.
- Avoid sliders and carousels at the top of the page; they delay LCP and are rarely used by visitors.
Step 5: prevent layout shifts
- Make sure images and embeds have width and height attributes.
- Reserve space for ads, cookie banners and embedded widgets.
- Avoid inserting content above existing content after load, such as late-loading announcement bars.
Step 6: control JavaScript for INP
- Delay chat widgets, heatmaps and marketing tags until after interaction or load, or remove the ones nobody uses.
- Load scripts only on pages that need them, such as form scripts on the contact page.
- Check for jQuery-heavy sliders, animations and builder scripts running on every scroll.
On optimisation plugins
Caching and optimisation plugins can help, especially on shared hosting without server caching. Use one, configure it carefully, and test after each setting; combining several optimisation plugins often breaks pages or undoes each other’s work.
Check the result
- Test key templates in PageSpeed Insights after each change.
- Watch Search Console’s report over the following 28 days as field data updates.
- Validate the fix in Search Console once the URL group passes.
Frequently asked questions
How much do Core Web Vitals affect rankings?
Google describes them as one part of page experience, which is one of many signals. Relevance and content quality matter more, but slow pages lose visitors and conversions regardless of rankings.
Is WordPress too slow for good Core Web Vitals?
No. Well-built WordPress sites pass comfortably. Slowness usually comes from themes, builders, plugins and hosting choices.
Does speed affect AI search?
Crawlers have time limits; very slow responses can be dropped. Fast, server-rendered pages are easier for every crawler to fetch.
Sources
- web.dev, “Web Vitals” and metric thresholds
- Google Search Central, “Understanding Core Web Vitals and Google search results”
- WordPress core release notes: 6.3 (fetchpriority) and 6.5 (AVIF support)