Skip to content
Sagar Bharvadiya

October 30, 2026 · 4 min read

How to pass Core Web Vitals on a WordPress site

A practical guide to passing Core Web Vitals on WordPress, covering hosting, images, scripts, and when a rebuild is necessary.

WordPressCore Web VitalsWeb Performance
Cover illustration for “How to pass Core Web Vitals on a WordPress site”

Many business owners run tests on Google PageSpeed Insights only to find their WordPress site covered in red warnings. Google evaluates three core metrics: Largest Contentful Paint (LCP) for loading speed, Interaction to Next Paint (INP) for responsiveness, and Cumulative Layout Shift (CLS) for visual stability.

Passing these benchmarks on WordPress can feel frustrating. Themes, page builders, and plugins often add layers of unneeded code that bog down real visitor experiences.

In my projects, improving WordPress performance usually comes down to addressing a few specific bottlenecks. Here is a practical roadmap to get your metrics into the green, along with an honest look at when regular optimizations hit their limit.

Upgrade hosting and implement proper server caching

Your site cannot pass the 2.5-second LCP benchmark if your server takes over a second just to send the first piece of HTML. This server delay is known as Time to First Byte (TTFB). Cheap shared hosting plans share database resources with hundreds of other sites, which leads to unpredictable delays.

A managed hosting platform or a virtual private server provides dedicated resources to keep TTFB low. You also need page caching, which stores pre-rendered HTML copies of your posts and pages so WordPress does not have to query the database on every single visit.

Adding a Content Delivery Network (CDN) with edge caching ensures that static pages are served from a server physically close to your visitor, whether they are in the US, Europe, or Australia.

Fix the hero image and font loading

In most business websites, the LCP element is the hero image or the primary heading above the fold. How you load these assets makes or breaks your score, as I cover in my guide where I have Core Web Vitals explained.

Many WordPress performance plugins make the mistake of lazy-loading every image on the page. You should never lazy-load your hero image. Lazy-loading tells the browser to wait until other resources finish before requesting the image, which inflates your LCP time. Instead, load the hero image immediately and consider preloading it in your header.

Web fonts can also create problems. If a custom font takes too long to download, the browser hides the headline or swaps it abruptly, causing layout shifts. Use modern formats like WOFF2, self-host the font files instead of pulling them from third-party servers, and add a font-display swap rule in your CSS.

Audit plugins and eliminate page builder bloat

Every plugin you install on WordPress can inject extra CSS stylesheets and JavaScript files onto every page, even pages where that plugin is never used. This extra code forces the browser to spend time downloading and parsing data before it can render your content.

Visual page builders are often the biggest offenders. They tend to generate deeply nested HTML structures and load massive JavaScript bundles simply to render basic sections. This heavy JavaScript execution directly damages your INP score because the main thread stays busy when visitors try to click menus or tap buttons.

Review your active plugins and remove anything you do not actively use. If you only need a feature on your contact page, ensure that script does not load across your entire blog or homepage.

Control third-party tracking scripts and prevent layout shifts

Marketing tags, analytics trackers, heatmaps, and live chat widgets add substantial weight to your site. When multiple tracking tags fire simultaneously during page load, they choke the browser CPU and degrade responsiveness.

Defer non-essential marketing tags so they execute only after the main content renders. Delaying heavy chat widgets until a user interacts with the page or scrolls down can immediately shave seconds off your interactive load time.

To pass the CLS threshold of 0.1, always reserve visual space for dynamic elements. Missing width and height attributes on images, late-loading banner ads, and cookie consent notices that push content down are the most common causes of layout shift on WordPress.

  • Specify explicit width and height dimensions on all image and video tags.
  • Reserve fixed CSS min-height containers for embeds and ad placements.
  • Use CSS transform animations instead of animating layout properties like height or top.

When plugin fixes are not enough

There comes a point where installing another caching plugin or minification tool acts as a temporary bandage rather than a real solution. If your site relies on an outdated theme and multiple legacy plugins, stacking optimization plugins can introduce broken layouts, cache conflicts, and brittle setups.

If your team spends hours troubleshooting broken scripts after every plugin update, your underlying architecture is the issue. That is often when stepping back and planning a Speed & Core Web Vitals fix or moving to a modern setup makes practical financial sense.

Practical takeaways

Passing Core Web Vitals on WordPress does not require buying every optimization plugin on the market. Start by testing your live URLs to see which specific metrics fall short.

Ensure your hosting provides fast TTFB with reliable edge caching. Preload your hero image, avoid lazy-loading above-the-fold content, and keep layout dimensions explicit to eliminate layout shift.

Audit your plugins regularly to strip out unused JavaScript, and defer third-party marketing tags so your visitors enjoy a fast, responsive browsing experience.

Want help with this? See my Speed & Core Web Vitals fix service, or send me your site for a free review.

Need this done for you?

Speed & Core Web Vitals fix · from $500

LCP, CLS and INP brought into the green on your live site. See the service →

Is your site slow? Test it free on mobile and see the top 3 problems in 30 seconds.Free speed test
SB

Sagar Bharvadiya is a Top Rated Next.js + Sanity developer on Upwork. Get a free review of your site →

Keep reading

Free site review

Send me your link. I’ll tell you the first 3 things I’d fix.

No call needed, no obligation. Replies within 4 hours, with a rough estimate.