Blog/WordPress/Performance
WordPress · Performance

How I Boosted a WordPress Site Speed from 42 to 91 — Without Changing the Design

April 2025 8 min read
WordPressPerformanceCore Web Vitals

Page speed is not just a vanity metric. It directly affects bounce rate, conversion rate, user experience — and since Google's Core Web Vitals update, it's a ranking factor too. When a client came to me with a WordPress site scoring 42 on Google PageSpeed Insights, I knew there was a lot of room to improve — without a full redesign.

In this article I'll walk through the exact process I used to take that site from 42 to 91 on mobile, and from 58 to 96 on desktop. No design changes. No new theme. Just smart optimisation.

Step 1 — Diagnose First, Fix Second

Before touching anything, I ran a full audit using three tools:

  • Google PageSpeed Insights — for Core Web Vitals data (LCP, INP, CLS)
  • Screaming Frog — to find render-blocking resources and unoptimised images
  • Chrome DevTools Network tab — to see exactly what was loading and in what order

The main culprits were: unoptimised images (averaging 800KB per image), 14 plugins loading JavaScript on every page, render-blocking CSS from an unused page builder, and no caching configuration.

Key Insight
70% of performance problems on WordPress sites come from four things: unoptimised images, too many plugins, no caching, and render-blocking resources. Fix these and you'll see the biggest gains.

Step 2 — Image Optimisation

Images were the biggest win. The site had over 200 images, none of them compressed or converted to modern formats. Here's what I did:

  • Installed ShortPixel to bulk-convert all existing images to WebP
  • Added loading="lazy" and decoding="async" to all images below the fold
  • Used srcset to serve appropriately sized images to different viewports
  • Set explicit width and height attributes on all images to eliminate CLS

This alone took the LCP from 8.2 seconds to 3.1 seconds.

Step 3 — Caching Setup

The site had no caching at all — every page request was hitting PHP and MySQL every time. I configured WP Rocket with:

  • Page caching enabled with preloading
  • Browser caching for static assets (1 year for images, CSS, JS)
  • GZIP compression
  • Database optimisation scheduled weekly

Step 4 — Eliminate Render-Blocking Resources

This is where most developers lose time. The site was loading 14 JavaScript files and 8 CSS files on every page — even ones that were only needed on specific pages. I:

  • Used Asset CleanUp Pro to disable plugin CSS/JS on pages that didn't need them
  • Deferred all non-critical JavaScript
  • Inlined critical CSS for above-the-fold content
  • Removed a page builder that was loading 200KB of CSS on every page (replaced with clean HTML/CSS for those templates)
// functions.php — defer non-critical JS
function defer_non_critical_scripts($tag, $handle) {
  $defer = ['slider-js', 'animations-js', 'social-share'];
  if (in_array($handle, $defer)) {
    return str_replace(' src', ' defer src', $tag);
  }
  return $tag;
}
add_filter('script_loader_tag', 'defer_non_critical_scripts', 10, 2);

Step 5 — Server-Level Improvements

The site was on shared hosting. After the code-level optimisation I moved it to a VPS on Kinsta, which uses Google Cloud infrastructure. This gave us:

  • Server response time under 200ms (TTFB)
  • Built-in CDN via Cloudflare
  • PHP 8.2 (the site was still on PHP 7.4)
  • Redis object caching

The Result

After all of the above, the PageSpeed score went from 42 → 91 on mobile and 58 → 96 on desktop. LCP dropped from 8.2s to 1.4s. CLS dropped from 0.28 to 0.01. The client saw a 23% reduction in bounce rate within 30 days.

The best part? The client's design team noticed nothing had changed visually. Same site, dramatically faster.

If your WordPress site is scoring below 70, the steps above will almost always move the needle significantly. The order matters — fix images and caching first, as they're the highest-impact changes. Then tackle render-blocking resources. Server improvements are the last mile.

Need help with your site's performance? Get in touch and I'll run a free audit.

NK
Navneet Kashyap
Web Developer & Digital Strategist
10+ years building fast, SEO-optimised websites across WordPress, HubSpot, Webflow, and Shopify. Based in New Delhi, working with clients across Asia, Europe, and the Americas.