Your WordPress website might be beautiful. It might rank well for a handful of keywords. It might even be converting visitors at a reasonable rate. But if it takes more than 3 seconds to load on a mobile phone, you are losing customers before they even see what you offer.
According to Google, a 1-second delay in mobile load time can reduce conversions by up to 20%. A website that scores 38 on PageSpeed Insights — like one of our healthcare clients had before we worked with them — is not just slow. It is actively costing the business money every single day.
In this guide, we will walk you through the exact steps we take when we optimise WordPress websites for speed. These are the same techniques that took premier-allergy.com from a PageSpeed score of 38 to 91, and dadeconstruction.com from 65 to 91. No fluff, no vague advice — just the specific, actionable steps that actually move the needle.
| “A 1-second delay in mobile load time can reduce conversions by up to 20%. Speed is not a technical problem — it is a revenue problem.” |
Why Your WordPress Speed Score Matters More Than You Think
Most business owners know intuitively that a slow website is bad. What many do not know is exactly how bad, and through how many channels it hurts their business simultaneously.
It Affects Your Google Rankings
Google uses Core Web Vitals — a set of page experience metrics including Largest Contentful Paint (LCP), Cumulative Layout Shift (CLS), and Interaction to Next Paint (INP) — as confirmed ranking factors. A website with poor Core Web Vitals scores is at a structural disadvantage in Google search, regardless of how good its content is. You can write 50 SEO-optimised articles and still be outranked by a faster competitor.
It Affects Your Bounce Rate
Google’s own research shows that as page load time increases from 1 second to 3 seconds, the probability of bounce increases by 32%. From 1 second to 5 seconds, it increases by 90%. From 1 second to 10 seconds, it increases by 123%. Every second your page takes to load, a percentage of your visitors — people who actively searched for what you offer — give up and go to a competitor.
It Affects Your Ad Spend Efficiency
If you are running Google Ads, every click you pay for lands on your website. If that page loads slowly, a significant percentage of those paid clicks bounce before converting. You are paying for traffic that your slow website is throwing away. Speed optimisation is one of the highest-ROI improvements you can make to a Google Ads campaign.
Step 1: Measure First — Know Your Baseline
Before touching anything, establish your current PageSpeed score so you can measure the impact of every change you make. Use Google’s free PageSpeed Insights tool at pagespeed.web.dev. Test both mobile and desktop scores — mobile is the one that matters most for both user experience and Google’s ranking signals.
Write down your scores and the specific diagnostics listed under ‘Opportunities’ and ‘Diagnostics’. These are your priority list. Common culprits you will see include: render-blocking resources, oversized images, unused JavaScript and CSS, no server-side caching, and no CDN.
| Score Reference Guide 0–49: Poor — your website is actively hurting your business 50–89: Needs Improvement — significant gains available 90–100: Good — maintain this with monthly monitoring |
Step 2: Install and Configure WP Rocket
WP Rocket is the single most impactful speed optimisation plugin for WordPress. It handles caching, GZIP compression, lazy loading, CSS and JavaScript minification, and database optimisation — all in one place. It is a paid plugin ($59/year for one site) and it is worth every cent.
Key WP Rocket Settings to Enable
- File Optimisation → Minify CSS Files: ON
- File Optimisation → Combine CSS Files: ON (test carefully — can break layouts on some themes)
- File Optimisation → Minify JavaScript: ON
- File Optimisation → Remove Unused CSS: ON (Load CSS Asynchronously)
- File Optimisation → Defer JavaScript Execution: ON
- Media → LazyLoad Images: ON
- Media → LazyLoad iFrames and Videos: ON
- Media → Replace YouTube iFrames with Preview Image: ON
- Preload → Preload Cache: ON
- Preload → Prefetch DNS Requests: Add Google Fonts, GA4, and any other external domains
- Advanced Rules → Never Cache URLs: /wp-admin/, /cart/, /checkout/ (for WooCommerce)
After enabling each setting, clear the cache (WP Rocket → Dashboard → Clear Cache) and retest your PageSpeed score. Make changes one at a time so you can identify which settings help and which cause issues on your specific theme.
Step 3: Compress and Convert Your Images to WebP
Images are typically the single largest contributor to slow page load times. A WordPress website with unoptimised images — full-resolution JPEGs uploaded directly from a camera or stock site — can easily have a homepage that requires 8–15MB of image data to load. Properly optimised, that same homepage can serve the same visual quality in under 500KB.
Use Imagify for Automatic WebP Conversion
Imagify is the best image optimisation plugin for WordPress. It automatically converts all uploaded images to WebP format (Google’s modern image format that is 25–35% smaller than equivalent JPEG or PNG), compresses them without visible quality loss, and serves the WebP version to browsers that support it (virtually all modern browsers) while falling back to JPEG/PNG for older browsers.
- Install Imagify and connect your API key (free plan available for smaller sites)
- Bulk optimise all existing images: Imagify → Bulk Optimization → Optimize All
- Set compression level to ‘Aggressive’ — this provides the best size reduction without visible quality loss for most images
- Enable WebP format in Imagify settings
- Enable ‘Resize larger images’ — set max width to 1920px (there is no reason to serve a 4000px wide image on a website)
Step 4: Add Cloudflare CDN
A Content Delivery Network (CDN) stores cached copies of your website’s static assets (images, CSS, JavaScript) on servers distributed around the world. When a visitor in Los Angeles visits your website hosted on a server in New York, a CDN serves those assets from a California server — reducing the physical distance data needs to travel and dramatically improving load times for geographically distributed visitors.
Cloudflare offers a free plan that provides CDN functionality, DDoS protection, and a significant performance boost for most WordPress websites. Here is how to set it up:
| 01 | Create a Cloudflare account at cloudflare.com Sign up for a free account and add your domain. |
| 02 | Update your nameservers Cloudflare will provide two nameserver addresses. Log in to your domain registrar (GoDaddy, Namecheap, etc.) and replace the existing nameservers with the Cloudflare ones. DNS changes propagate within 24–48 hours. |
| 03 | Enable proxy on your A record In Cloudflare DNS settings, ensure the orange cloud icon is active on your A record — this routes traffic through Cloudflare’s network. |
| 04 | Install the Cloudflare WordPress plugin The official plugin syncs your WordPress cache with Cloudflare, automatically purging the CDN cache when you publish new content. |
| 05 | Enable Cloudflare Speed settings In Cloudflare dashboard → Speed → Optimization: enable Auto Minify (CSS, JS, HTML), enable Brotli compression, and enable Rocket Loader if your JavaScript is not already deferred by WP Rocket. |
Step 5: Choose the Right Hosting
No amount of plugin configuration can fully compensate for poor hosting. If your WordPress website is on a cheap shared hosting plan — where your site shares server resources with hundreds or thousands of other websites — your speed ceiling is low regardless of what optimisations you apply.
Hosting Tiers and What They Mean for Speed
Shared hosting ($3–$10/month): Your website competes for CPU and RAM with hundreds of others. A traffic spike on any neighbouring site affects your performance. Not recommended for business websites.
Managed WordPress hosting ($25–$50/month): Servers are specifically configured for WordPress. Flywheel and WP Engine fall into this category. PHP-FPM, object caching, staging environments, and WordPress-specific security are all standard. This is the minimum we recommend for any serious business website.
We migrated dadeconstruction.com to Flywheel and achieved a PageSpeed score of 91 from day one — before any plugin optimisation — simply because the server environment was properly configured for WordPress.
| “No plugin combination will fully compensate for bad hosting. The server is the foundation. Everything else is optimisation on top of it.” |
Step 6: Audit and Reduce Your Plugins
Every WordPress plugin you install adds code to your website. Some of that code is executed on every page load — even if the plugin’s functionality is not used on that specific page. A WordPress website with 40+ plugins is almost always slower than one with 20 well-chosen ones.
Go through every plugin on your site and ask: is this actually being used? Is it being used enough to justify its performance cost? Common offenders include slider plugins (use CSS transitions instead), social sharing plugins that load heavy JavaScript, old contact form plugins that have not been updated in years, and redundant security plugins that duplicate functionality.
Use the Query Monitor plugin (free) to identify which plugins are generating the most database queries and how long they take. This data, combined with your PageSpeed Insights diagnostics, will show you exactly where to focus your removal and replacement efforts.
The Results Are Real
The speed optimisation process described above is exactly what we applied to premier-allergy.com. Their website was loading in over 8 seconds on mobile with a PageSpeed score of 38. After implementing WP Rocket caching, Imagify WebP compression, Cloudflare CDN, and moving to appropriate hosting configuration, their score reached 91. The site now loads in under 2 seconds on mobile.
For dadeconstruction.com, the new Flywheel build combined with WP Rocket and Imagify delivered a 91 score from launch day. It has maintained that score since.
These results are achievable for any WordPress website. The process is methodical, not magical. Measure, optimise one layer at a time, and retest. Every point you gain is a ranking signal improved, a bounce rate reduced, and a conversion opportunity recovered.




