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 scripts — not 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).
Core Web Vitals — drag to test your scores
2s
Largest Contentful Paint
180ms
Interaction to Next Paint
0.06
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 instead — it'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.8s — that'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 plugin — it 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.