WordPress Speed Optimisation: A Technical Field Guide

TL;DR

Most WordPress sites are slow because of too many plugins, missing caching, unoptimized images, and render-blocking scriptsnot because of the hosting plan. Before installing WP Rocket or upgrading servers, audit your plugins and dependencies. This guide shows you the exact order to diagnose and fix each issue.

Diagnose Before You Fix

Run Google PageSpeed Insights (https://pagespeed.web.dev/) on your site. The report shows specific issues: "Eliminate render-blocking resources," "Reduce JavaScript execution time," "Optimize images," etc. Don't install anything yet. Just identify the top 3 problems.

Common findings on slow WordPress sites: (a) Total uncompressed page size 3–5 MB (should be <1 MB), (b) 80–120 HTTP requests (should be <40), (c) Largest Contentful Paint (LCP) >3 seconds (should be <2.5s), (d) Cumulative Layout Shift (CLS) >0.2 (should be <0.1).

Interactive

Core Web Vitalsdrag to test your scores

LCPGood

2s

good2.5spoor > 4s

Largest Contentful Paint

INPGood

180ms

good200mspoor > 500ms

Interaction to Next Paint

CLSGood

0.06

good0.1poor > 0.25

Cumulative Layout Shift

Step 1: Audit and Prune Plugins

Most WordPress sites have 20–40 plugins, but usually only 7–10 are truly essential. Go to Plugins > All Plugins and disable (don't delete) every plugin you're not sure about. Test your site. Does it still work? If yes, delete those plugins. Repeat. Most sites can safely drop to 8–12 essential plugins.

Plugins to consider removing: WP Super Cache (use native WordPress object caching instead), Yoast SEO (use Rank Math insteadit's lighter), Elementor (switch to a custom theme), WooCommerce extensions you don't actively use. Each removed plugin saves 200–800 ms on page load.

Step 2: Enable Caching and Compression

WordPress object caching is the single biggest performance win. Install WP Redis or Memcached via your hosting provider (most managed hosts include it). Add this to wp-config.php: `define( 'WP_CACHE', true );` and install a cache adapter plugin like Redis Object Cache. This caches database queries, reducing load time by 30–50%.

Enable gzip compression in your server config (usually automatic on modern hosts). Check: use https://www.giftofspeed.com/gzip-test/ and paste your URL. If "Gzip" shows green, you're good. If not, contact your hosting provider.

Step 3: Optimize Images Aggressively

Install ShortPixel or Smush and run it on ALL images (including existing ones). Configure to: (a) convert to WebP, (b) resize to max 2400px wide, (c) compress to 70–80% quality. A typical WordPress media library (100–500 images) shrinks by 60–70% (from 300 MB to 100 MB).

For new uploads, use "lazy loading" — images below the fold only load when they enter the viewport. WooCommerce and native WordPress both support this via the `loading="lazy"` attribute. This alone cuts page load time 15–25% on image-heavy sites.

Step 4: Defer or Eliminate Render-Blocking JavaScript

Most slow WordPress sites have 200–400 KB of unoptimized JavaScript. Use Query Monitor plugin (free) to see which plugins load which scripts. Disable unused widget scripts (Elementor > Settings > Performance). Use "Async" or "Defer" loading for non-critical scripts via plugins like WP Optimize or Autoptimize.

Example: Google Analytics, Hotjar, Facebook Pixel should all load with `async` or `defer`, not synchronously. If a single tracking script blocks page render, you're wasting 1–2 seconds.

Step 5: Test Again and Document

After each fix, re-run PageSpeed Insights. Compare: before load time 4.2s, after 2.8sthat's a 33% improvement. Even if you're not at 90+ score, every 0.5s improvement translates to 3–4% better conversion rate (per Google).

Set a monitoring baseline with Google Analytics 4. Track "Web Vitals" events (Largest Contentful Paint, First Input Delay, Cumulative Layout Shift). Most improvements compound: add caching (30% speedup) + remove plugins (20% speedup) + optimize images (15% speedup) = 65% faster site.

FAQ

Is upgrading hosting (from shared to VPS) worth it?

Not if your code is unoptimized. A VPS is 2–3× faster at serving requests, but if your WordPress generates slow queries or loads 50 plugins, a VPS just runs the same slow code faster. Expect only 15–25% improvement from hosting alone. Optimize code first; upgrade hosting only if you're already at good baseline.

Does WP Rocket solve everything?

No. WP Rocket is a caching pluginit helps but doesn't fix the root cause (too many plugins, unoptimized images, slow queries). Most sites that buy WP Rocket without first auditing their plugins only see 20–30% speedup. Audit first, then add WP Rocket if you want the additional 10–15% from HTTP/2 prioritization and JavaScript deferral.

Sources

Related reading