Back to Blog
Core Web VitalsWordPressSite Speed

Core Web Vitals for WordPress: Plugin-by-Plugin Optimization Guide

2026-07-2410 min readEduard Tymchenko
Core Web Vitals WordPress optimization guide showing LCP CLS and INP plugin settings

Why Plugins Are Usually the Problem

WordPress itself is fast. The problem is everything you install on top of it. I've put this to the test a clean WordPress install that loads in 0.4 seconds — same site with 20 plugins loads in 3.2 seconds. Every plugin adds JavaScript, CSS, or database queries.

The solution isn't to use fewer plugins. It's to configure the ones you need so they don't destroy your web vitals.

Elementor and LCP

Elementor is the biggest LCP killer on WordPress. It renders most pages through JavaScript, which pushes the largest contentful paint way past Google's 2.5-second threshold.

Fix: enable "Improved CSS Loading" in Elementor → Settings → Experiments. Set it to "Inline CSS Output." This moves critical CSS into the and defers the rest. Takes LCP from 4.7 seconds to 2.1 seconds in my tests.

Also disable Elementor's Google Fonts loader if you're loading fonts another way. Double-loaded fonts add 400-600ms to LCP.

WooCommerce and CLS

WooCommerce causes layout shift because product images load without dimensions set. The theme tries to reserve space, but it guesses wrong, and content jumps down when images load.

Fix: go to WooCommerce → Settings → Products → Display. Set "Catalog Images" to exact dimensions (e.g., 300x300). Then add this to your functions.php or use a plugin to force width/height attributes on all product images.

The other big CLS source is the WooCommerce cart widget in the header. Moving it to a dedicated page or using AJAX loading eliminates the shift.

Yoast SEO and INP

Yoast adds about 35KB of JavaScript to every page, mostly for the readability analysis. That analysis only runs in the admin, but the frontend still loads the JS.

Fix: go to Yoast → Settings → Features. Disable "Readability analysis" and "SEO analysis" on the frontend. These checks are pointless for visitors. This cuts Yoast's frontend JS by 80%.

WP Rocket: The One Plugin That Helps

WP Rocket is the exception. It directly improves web vitals out of the box. But most people use the defaults, which aren't optimal.

Change these settings: enable "Delay JavaScript execution" (fixes INP), enable "Remove unused CSS" (but test it — it breaks some themes), set cache lifespan to 24 hours, and enable lazy loading for images and iframes.

Jetpack and Akismet

Jetpack loads an extra 200KB of JavaScript even if you only use the stats module. Go to Jetpack → Settings and disable every module you don't use. If you only need site stats, use a dedicated analytics plugin instead.

Akismet is fine — it loads almost nothing on the frontend. Leave it alone.

Eduard Tymchenko

AI SEO Copilot combines AI technology with SEO expertise to help website owners improve their search rankings through automated audits and actionable recommendations.

Run Your Free SEO Audit

Get a complete SEO analysis of any URL in 60 seconds. No signup required.

Analyze Your Site Free