Core Web Vitals are now a confirmed Google ranking factor. LCP (Largest Contentful Paint), INP (Interaction to Next Paint), and CLS (Cumulative Layout Shift) directly affect both your rankings and your conversion rate. Here is the checklist I use on every WordPress site I build or audit.

Hosting

Everything starts with hosting. Shared hosting with underpowered servers will cap your performance regardless of what else you do. For WordPress sites, I recommend managed WordPress hosting on SiteGround or Cloudways with a server location matched to your primary audience geography. A good server should return a Time to First Byte (TTFB) under 200ms.

Theme and Page Builder

Elementor, Divi, and WPBakery add significant JavaScript and CSS to every page. A custom-coded theme loads a fraction of what a page builder outputs. If you are on a page builder and performance is a priority, consider rebuilding on a lightweight theme or commissioning a custom theme. This single change typically improves LCP by 40-60%.

Image Optimisation

Images are usually the largest contributor to page weight and LCP. Use WebP format (supported by all modern browsers). Compress images before uploading using ShortPixel or Imagify. Set explicit width and height attributes on all images to prevent CLS. Add loading=’lazy’ to all below-the-fold images. Preload your LCP image (the largest visible image on initial load).

Remove Unused Plugins

Every active plugin adds PHP execution time and potentially CSS and JavaScript to your pages. Audit your plugin list and deactivate anything that is not actively contributing value. Be particularly aggressive about removing plugins that add scripts to the frontend.

Caching

Use a page caching plugin (WP Rocket or LiteSpeed Cache depending on your host) to serve static HTML to non-logged-in visitors. Configure browser caching headers to allow return visitors to load cached assets. If your host supports object caching with Redis or Memcached, enable it.

CSS and JavaScript

Minify and combine CSS and JavaScript files. Defer or async load non-critical JavaScript. Remove render-blocking resources. Use the Coverage tab in Chrome DevTools to identify unused CSS and JavaScript that can be removed or deferred.

CDN

Serve static assets (images, CSS, JavaScript) through a Content Delivery Network so they load from a server close to the user. Cloudflare’s free tier is a good starting point for most sites.

Testing

Test with Google PageSpeed Insights (which uses real-world Core Web Vitals data), GTmetrix, and WebPageTest. Run tests from a location matching your target audience. Aim for LCP under 2.5 seconds, CLS under 0.1, and INP under 200ms on mobile.

Performance optimisation is not a one-time task. Re-test after every major plugin update or theme change. What passes today can regress tomorrow.