The Complete WordPress Speed Optimisation Guide (2025)
Everything you need to score 90+ on Lighthouse. Covers caching, image optimisation, fonts, JavaScript deferral, Core Web Vitals, and the exact hosting choices that make the biggest difference.
In 2025, a slow WordPress site isn't just annoying — it's costing you rankings, leads, and revenue. Google's Core Web Vitals are now a confirmed ranking signal, and users expect pages to load in under 3 seconds. A 1-second delay reduces conversions by up to 7%. This guide covers every optimisation I apply to client sites to consistently hit 90+ on Google Lighthouse and PageSpeed Insights.
Why WordPress Speed Matters More Than Ever in 2025
Google's ranking algorithm now incorporates page experience signals directly. Sites that score "Good" on Core Web Vitals gain a ranking advantage over competitors in the same niche. For UK businesses competing on local search, this can be the deciding factor between position 3 and position 8 — a difference that can mean hundreds of leads per month.
Beyond rankings, speed affects every metric you care about: bounce rate, time on site, conversion rate, and customer trust. A WooCommerce store I optimised in Q1 2025 saw a 34% increase in completed checkouts within 30 days of speed improvements — no other changes were made.
Understanding Core Web Vitals
Before optimising, you need to understand what Google measures:
- ✦LCP (Largest Contentful Paint) — how fast the main content loads. Target: under 2.5 seconds.
- ✦INP (Interaction to Next Paint) — responsiveness to clicks/taps. Target: under 200ms. Replaced FID in March 2024.
- ✦CLS (Cumulative Layout Shift) — visual stability (no content jumping). Target: under 0.1.
- ✦TTFB (Time to First Byte) — server response speed. Target: under 600ms.
Step 1: Choose the Right Hosting
Hosting is the single biggest factor in TTFB. Shared hosting from cheap providers (GoDaddy, Bluehost budget tiers) routinely produce TTFB of 800ms–2,000ms — impossible to overcome with any amount of optimisation. For UK businesses I recommend:
- ✦Kinsta or WP Engine (managed WordPress) — TTFB consistently under 200ms, UK datacentre available.
- ✦SiteGround Business or higher — good value for smaller sites, UK data centre, LiteSpeed server.
- ✦Cloudways (DigitalOcean London) — best performance per £ for growing sites.
- ✦cPanel hosting: choose providers with LiteSpeed (not Apache) and NVMe storage.
Step 2: Implement Page Caching
Caching serves pre-built HTML files instead of running PHP on every request. This alone can reduce TTFB from 800ms to under 100ms. For most WordPress sites, the best options are:
- ✦WP Rocket — easiest to configure, excellent results, paid (£49/yr). Industry gold standard.
- ✦LiteSpeed Cache — free, outstanding performance if your host runs LiteSpeed. My first choice for cPanel hosting.
- ✦W3 Total Cache — free, more complex, good for advanced users.
Key settings to enable: page cache, browser cache (1 year for static assets), GZIP compression, minify HTML/CSS/JS, lazy load images, and preload critical assets.
Step 3: Optimise Every Image
Images account for 60–80% of a typical WordPress page's weight. Unoptimised images are the fastest way to kill your Lighthouse score.
- ✦Convert all images to WebP format (30–50% smaller than JPEG at same quality). Use ShortPixel or Imagify.
- ✦Set explicit width and height attributes on every img element to prevent CLS.
- ✦Lazy load all images below the fold. Native lazy loading (loading='lazy') works in all modern browsers.
- ✦Use srcset for responsive images so mobile gets smaller files.
- ✦Compress images to under 150KB for above-fold content, under 300KB everywhere else.
- ✦Use a CDN to serve images from a server near your user (Cloudflare free tier is excellent).
fetchpriority="high" to your LCP image and preload it in the <head> tag. This alone can improve LCP by 400–800ms.Step 4: Minimise & Defer JavaScript
Render-blocking JavaScript is the most common cause of poor INP and slow LCP. Every plugin you install adds JavaScript — most of it unnecessary on most pages.
- ✦Defer non-critical JavaScript: add defer or async attributes, or use a caching plugin's JS deferral.
- ✦Remove unused plugins. Each plugin adds JS — audit with Query Monitor or Asset Cleanup Pro.
- ✦Use Asset Cleanup (free) or Perfmatters to disable plugins on pages where they're not needed.
- ✦Replace heavy page builders (Elementor, Divi) with lighter alternatives (Kadence Blocks, GenerateBlocks) for new builds.
- ✦Eliminate jQuery dependency where possible — it adds 87KB to every page load.
Step 5: Optimise CSS Delivery
- ✦Inline critical CSS (above-fold styles) and defer the rest. WP Rocket and LiteSpeed Cache both do this automatically.
- ✦Remove unused CSS with tools like PurgeCSS or your caching plugin's CSS optimisation.
- ✦Minify all CSS files to remove whitespace and comments.
- ✦Combine CSS files to reduce HTTP requests (but be careful — HTTP/2 makes this less critical).
Step 6: Set Up a CDN
A Content Delivery Network serves your static files (images, CSS, JS) from servers closest to your visitor. Cloudflare's free plan is the easiest starting point for any UK business:
- ✦Sign up for Cloudflare free and point your domain's nameservers.
- ✦Enable Auto Minify (HTML, CSS, JS) in Cloudflare settings.
- ✦Enable Brotli compression (better than GZIP).
- ✦Set browser cache TTL to 1 year for static assets.
- ✦Enable Rocket Loader for JavaScript optimisation.
Step 7: Database Optimisation
WordPress stores everything in a MySQL database. Over time it fills with post revisions, transients, spam comments, and orphaned data — all slowing queries.
- ✦Install WP-Optimize or Advanced DB Cleaner to remove post revisions, spam, transients.
- ✦Limit post revisions: add define('WP_POST_REVISIONS', 5); to wp-config.php.
- ✦Schedule weekly database optimization.
- ✦Use persistent object caching (Redis or Memcached) if your host supports it.
Step 8: Fix WordPress Theme Issues
- ✦Use a lightweight theme. GeneratePress, Astra, or Kadence score 90+ out of the box. Avoid Divi/Avada/Jupiter for new builds.
- ✦Remove Google Fonts from the theme — host fonts locally instead (GDPR benefit too).
- ✦Disable emojis (remove emoji script from wp_head) — saves one HTTP request.
- ✦Remove wlwmanifest, RSD links, and shortlink from wp_head.
Real Results: Before & After
Frequently Asked Questions
How long does WordPress speed optimisation take?↓
A full optimisation audit and implementation typically takes 4–8 hours for a standard WordPress site. Complex WooCommerce stores with many plugins can take 1–2 days. Most clients see measurable results within 24 hours of implementation.
Will speed optimisation break my website?↓
If done correctly, no. The key is to test changes in a staging environment first, and implement one change at a time. Caching plugins occasionally conflict with specific themes or plugins, which is why testing before going live is essential.
What Lighthouse score should I aim for?↓
For most businesses, scoring 80+ on mobile is a solid target and achievable on almost any setup. Scoring 90+ on mobile is excellent and puts you in the top tier. Scores above 95 are possible but often require a complete rebuild on a faster stack.
Is speed optimisation worth the cost for a small business?↓
Absolutely. For a £500–£1,500 investment, most small business clients see measurable improvements in rankings, bounce rate, and conversions within 30–60 days. The ROI typically exceeds 10x within 12 months.
Need help implementing this?
Sajid Aslam is a UK-based WordPress Expert and Digital Consultant based in Chatham, Kent. Get a free consultation — no obligation.
Book a Free Consultation