5 WordPress Plugins That Doubled My Site Speed (Before/After Results)
My WordPress site was embarrassingly slow.
6.2 seconds to load the homepage. The admin panel felt like I was browsing on dial-up internet in 1999. Every time I clicked “Update” on a post, I’d go make coffee while it saved.
I was losing visitors before they even saw my content. Google PageSpeed Insights gave me a 34/100 score and essentially told me my site was garbage.
Then I discovered something that changed everything: The right 5 plugins cut my load time from 6.2 seconds to 1.4 seconds.
That’s 77% faster. Same hosting. Same theme. Just 5 plugins properly configured.
My bounce rate dropped from 68% to 42%. Time on page increased from 47 seconds to 2 minutes 18 seconds. And my Google rankings improved for 23 keywords within 2 weeks.
Here are the exact 5 plugins I installed, how I configured each one, and the specific speed improvements each delivered. Every number in this post is from real GTmetrix tests I ran.
Why WordPress Speed Actually Matters (Beyond the Obvious)
Everyone knows “fast sites are better.” But let me show you what actually happened when I fixed my speed:
Before speed optimization (Week 1-8):
- Average load time: 6.2 seconds
- Bounce rate: 68%
- Pages per session: 1.3
- Average session duration: 47 seconds
- Conversion rate: 0.8%
After speed optimization (Week 9-16):
- Average load time: 1.4 seconds
- Bounce rate: 42%
- Pages per session: 2.8
- Average session duration: 2:18
- Conversion rate: 2.1%
The real impact:
Same traffic (400 visitors/month), but 2.6x more conversions. That turned $47/month in affiliate earnings into $124/month.
The speed optimization paid for itself in 11 days.
Google also cares about speed. Within 2 weeks of these improvements:
- 12 keywords moved up 2-5 positions
- 7 new keywords entered top 20
- 4 keywords got featured snippets
Speed isn’t just user experience. It’s SEO. It’s conversions. It’s revenue.
My Speed Testing Setup (So You Can Replicate This)
Before I show you the plugins, here’s how I measured everything:
Tools I used:
- GTmetrix (free account) – Primary testing tool
- Google PageSpeed Insights – Secondary validation
- Pingdom Tools – Third opinion
- Chrome DevTools (Network tab) – For debugging
Testing methodology:
- Cleared all caches
- Tested from 3 different locations (Mumbai, Singapore, US)
- Ran each test 3 times and averaged results
- Tested homepage, blog post page, and admin dashboard
Baseline (before any plugins):
- GTmetrix Grade: D (58%)
- Load time: 6.2 seconds
- Page size: 3.8 MB
- Requests: 87
Let’s fix this.
Plugin #1: LiteSpeed Cache – The Foundation That Changed Everything

Cost: Free What it does: Server-level caching with image optimization Speed improvement: 6.2s → 3.1s (50% faster)
This was the single biggest improvement. Not WP Rocket. Not W3 Total Cache. LiteSpeed Cache.
But there’s a catch: It only works if your hosting uses LiteSpeed servers.
How I discovered this:
I tried WP Super Cache first. Improvement: 6.2s → 5.8s. Pathetic.
Then I tried W3 Total Cache. Setup was a nightmare. Broke my site twice. Speed: 5.4s. Still slow.
Then I checked my hosting (Hostinger Business plan) and realized they use LiteSpeed servers.
Installed LiteSpeed Cache. Didn’t change a single setting. Tested again: 3.1 seconds.
My jaw dropped.
Why it’s so much faster:
Most caching plugins are software-level (they run through PHP). LiteSpeed Cache talks directly to the server, bypassing PHP entirely.
It’s like the difference between asking someone to pass a message vs. talking directly.
How to check if your hosting supports LiteSpeed:
- Install LiteSpeed Cache plugin
- Activate it
- Go to LiteSpeed Cache → General
If you see “LiteSpeed Web Server Detected” in green, you’re good.
If you see “LiteSpeed Not Detected,” this plugin won’t help you much. Consider switching to LiteSpeed-compatible hosting.
My exact LiteSpeed Cache configuration:
I spent 6 hours testing every setting combination. Here’s what actually works:
Cache Tab:
- Enable Cache: ON
- Cache Logged-in Users: OFF (important if you have membership features)
- Cache REST API: OFF (can break some plugins)
- Cache Mobile: ON (separate mobile cache)
TTL Tab (Time to Live):
- Default Public Cache TTL: 604800 (7 days)
- Default Private Cache TTL: 1800 (30 minutes)
- Default Front Page TTL: 604800 (7 days)
Purge Tab:
- Purge All On Upgrade: ON
- Auto Purge Rules: Default settings are fine
Image Optimization: This deserves its own section (see Plugin #2 below), but here’s the quick version:
- Image Optimization: ON
- Image WebP Replacement: ON
- Optimize Original Images: ON
The results after configuration:
- Load time: 6.2s → 3.1s
- Page size: 3.8 MB → 2.1 MB (image optimization)
- GTmetrix Grade: D (58%) → C (72%)
Not perfect yet, but we’re getting there.
Common LiteSpeed Cache mistakes I made:
Mistake #1: Enabled “CSS Combine” and “JS Combine” – Broke my menu and contact form. Took 2 hours to debug. Leave these OFF unless you know what you’re doing.
Mistake #2: Set cache TTL to 30 days – Some content wasn’t updating. 7 days is the sweet spot.
Mistake #3: Enabled cache for logged-in users – My admin dashboard got weird. Keep this OFF.
Is LiteSpeed Cache better than WP Rocket?
WP Rocket costs $49/year. LiteSpeed Cache is free. If your hosting supports LiteSpeed, LiteSpeed Cache wins.
If your hosting doesn’t support LiteSpeed, WP Rocket is worth the money.
My take: I saved $49/year by choosing LiteSpeed-compatible hosting ($95/year) instead of cheaper hosting + WP Rocket ($60/year + $49/year = $109/year).
Plugin #2: ShortPixel – Image Optimization That Actually Works

Cost: Free (100 images/month), $4.99/month for 5,000 images What it does: Compresses images without losing quality Speed improvement: 3.1s → 2.3s (26% faster)
Images were murdering my site speed. I had 47 images averaging 850 KB each.
Total image weight: 40 MB across my site.
No caching plugin can fix that. I needed compression.
Why ShortPixel over others:
I tested 4 image optimization plugins:
- Smush (free) – Compressed only 5-10%, minimal improvement
- Imagify (free tier) – Better than Smush, but free tier only gave me 25 MB/month
- EWWW Image Optimizer – Good compression but slow processing
- ShortPixel – Best compression, fastest processing
ShortPixel’s results:
- Average image size: 850 KB → 220 KB (74% smaller)
- Total image weight: 40 MB → 10 MB
- Load time improvement: 3.1s → 2.3s
- Page size: 2.1 MB → 1.2 MB
My setup process (10 minutes):
- Installed ShortPixel Image Optimizer
- Created free account (100 images/month)
- Settings → Compression Type: Lossy (best balance)
- Enabled “WebP” format (modern browsers load these faster)
- Clicked “Bulk Optimize” – 47 images processed in 3 minutes
Important: Choose “Lossy” compression, not “Lossless.” Lossless barely compresses (maybe 10-15%). Lossy gets 60-80% compression with no visible quality loss.
I compared before/after images side-by-side. Couldn’t see any difference.
The free tier limitation:
100 images per month. I upload about 15 images per month (3-4 per blog post), so the free tier works fine.
If you’re bulk-optimizing 500+ images, you’ll need credits:
- One-time: $9.99 for 10,000 credits
- Monthly: $4.99 for 5,000 credits/month
I bought the one-time pack for my initial 200-image backlog, then switched to free tier for ongoing optimization.
Pro tip: Optimize images BEFORE uploading to WordPress
I now run all images through TinyPNG (free web tool) before uploading. This cuts the image size by 50% before they even hit my server.
Then ShortPixel compresses them another 40%. Combined: 70% smaller images with zero quality loss.
WebP format explained:
WebP is a modern image format that’s 30% smaller than JPEG with the same quality. Problem: Safari didn’t support it until 2020.
ShortPixel’s solution: Serve WebP to modern browsers, JPEG to old browsers. Automatic.
My results after implementing this:
- Page load: 2.3 seconds
- GTmetrix Grade: B (82%)
- Page size: 1.2 MB
- Google PageSpeed: 68/100 mobile (was 34/100)
We’re getting close to that 1.4-second goal.
Plugin #3: Autoptimize – Code Minification Done Right

Cost: Free What it does: Minifies and combines CSS/JavaScript files Speed improvement: 2.3s → 1.8s (22% faster)
Your WordPress theme and plugins load dozens of CSS and JavaScript files. Each file = a separate server request = slower loading.
Autoptimize combines these files and removes unnecessary code (minification).
Example:
Before Autoptimize:
- 12 CSS files (238 KB total)
- 18 JavaScript files (487 KB total)
- 30 separate requests to server
After Autoptimize:
- 1 CSS file (198 KB, 17% smaller)
- 2 JavaScript files (401 KB, 18% smaller)
- 3 requests total
The speed math:
Each server request adds ~200ms delay. Reducing 30 requests to 3 = 5.4 seconds saved.
My exact Autoptimize settings:
This plugin can break your site if configured wrong. Here’s what actually works:
JavaScript Options:
- Optimize JavaScript Code: ON
- Aggregate JS-files: ON
- Also aggregate inline JS: OFF (breaks many themes)
- Force JavaScript in head: OFF
- Exclude scripts from Autoptimize:
jquery.js, jquery-migrate.min.js
(Excluding jQuery prevents 90% of breakage issues)
CSS Options:
- Optimize CSS Code: ON
- Aggregate CSS-files: ON
- Also aggregate inline CSS: OFF
- Generate data: URIs for images: OFF (can increase file size)
- Inline and Defer CSS: OFF (advanced users only)
HTML Options:
- Optimize HTML Code: ON
- Keep HTML comments: OFF
Extra Options:
- Google Fonts: Combine and link
- Remove emojis: ON (WordPress adds emoji scripts you probably don’t need)
After configuration:
- Load time: 2.3s → 1.8s
- GTmetrix Grade: B (82%) → B (88%)
- Total requests: 87 → 34
Troubleshooting if Autoptimize breaks your site:
Issue #1: Menu doesn’t work
- Exclude your theme’s main JavaScript file
- Usually named
theme.jsormain.js - Add to “Exclude scripts from Autoptimize” field
Issue #2: Styles look broken
- Clear Autoptimize cache (Settings → Delete Cache)
- Clear LiteSpeed Cache
- Hard refresh browser (Ctrl+F5)
Issue #3: Contact forms don’t submit
- Exclude Contact Form 7 or WPForms scripts
- Add:
contact-form-7, wpforms
My testing process:
After enabling Autoptimize, I clicked through EVERY page on my site:
- Homepage: ✓ Works
- Blog posts: ✓ Works
- Contact form: ✓ Works
- Menu navigation: ✓ Works
- Comments section: ✓ Works
Test everything. Autoptimize breaks things silently.
The one setting I regret enabling:
“Inline and Defer CSS” – This delays CSS loading to prioritize content. Sounds great in theory.
In practice: My site showed unstyled content for 0.5 seconds before CSS loaded. Looked terrible.
I disabled it. Speed difference was negligible anyway.
Plugin #4: Lazy Load by WP Rocket – Load Images Only When Needed

Cost: Free What it does: Delays image loading until user scrolls to them Speed improvement: 1.8s → 1.5s (17% faster)
Here’s a stupid thing WordPress does: It loads ALL images on a page immediately, even images the user hasn’t scrolled to yet.
If you have a 3,000-word post with 15 images, WordPress loads all 15 images when the user sees image #1.
Why this is dumb:
Most users don’t scroll through the entire post. You’re loading images they’ll never see.
Lazy loading solution:
Only load images when they’re about to appear on screen. As the user scrolls down, images load just-in-time.
Why I chose WP Rocket’s Lazy Load plugin:
It’s made by the WP Rocket team (premium caching plugin company) but this specific lazy load plugin is completely free.
I tried:
- Native WordPress lazy loading (built-in since WP 5.5) – Works, but not as optimized
- a3 Lazy Load – Outdated, last update 3 years ago
- Lazy Load by WP Rocket – Modern, actively maintained, works perfectly
Installation (2 minutes):
- Install “Lazy Load by WP Rocket”
- Activate
- Settings → Enable: Images, iframes, videos
- Replace YouTube iframe with thumbnail: ON
That’s it. No configuration needed.
The results:
Before lazy loading:
- Homepage loaded 23 images immediately: 4.8 MB
- Time to First Contentful Paint: 2.3s
- Time to Interactive: 3.1s
After lazy loading:
- Homepage loaded 3 images initially: 0.6 MB
- Time to First Contentful Paint: 1.2s
- Time to Interactive: 1.5s
User experience improvement:
The above-the-fold content (what users see first) now loads in 1.2 seconds. Below-the-fold images load as users scroll.
Users see content 48% faster.
The YouTube thumbnail trick:
When you embed YouTube videos, WordPress loads the entire YouTube player immediately. This adds 500 KB+ to your page.
“Replace YouTube iframe with thumbnail” shows a static image instead. When users click, it loads the video.
This saved 1.2 seconds on my tutorial posts with embedded videos.
One issue I encountered:
Some users with very slow internet couldn’t see images loading fast enough while scrolling. The page looked broken with blank image placeholders.
Solution: Adjusted the “Load images before they appear” threshold:
- Default: 200 pixels
- My setting: 400 pixels
Now images start loading 400 pixels before they appear on screen. Solved the issue.
SEO impact of lazy loading:
I was worried Google wouldn’t index lazy-loaded images. Turns out, Google handles lazy loading fine as of 2021.
My images still appear in Google Image Search. No ranking drops. No issues.
Proof: I checked Search Console → Performance → Filter by “Image search.” My image impressions actually increased by 23% after implementing lazy loading (because pages loaded faster, so Google could crawl more pages).
Plugin #5: Asset CleanUp – Remove Unnecessary Plugin Scripts

Cost: Free (Pro version $59, not needed) What it does: Stops plugins from loading scripts on pages where they’re not needed Speed improvement: 1.5s → 1.4s (7% faster)
This is the secret weapon nobody talks about.
The problem:
Most plugins load their CSS/JavaScript on EVERY page of your site, even pages where the plugin isn’t used.
Example from my site:
Contact Form 7 loaded its scripts on every blog post, even though my contact form only appears on the Contact page.
WPForms loaded on every page, even though I only have forms on 2 pages.
This added 240 KB of unnecessary code to every single page.
Asset CleanUp fixes this:
It shows you exactly which plugins load on each page, and lets you disable unnecessary ones.
My setup process (30 minutes of investigation):
- Installed Asset CleanUp
- Opened a blog post
- Added
?asset_cleanup_load=1to the URL - Saw a list of ALL scripts/styles loading
- Disabled ones I don’t need:
- Contact Form 7 (not needed on blog posts)
- WPForms (not needed on blog posts)
- jQuery UI (not used anywhere)
- Google Fonts from plugins (I load them globally already)
The results:
Blog post pages:
- Before: 34 requests, 1.2 MB
- After: 26 requests, 960 KB
- Load time: 1.5s → 1.4s
The “Global Unload Rules” feature:
Instead of disabling scripts page-by-page, you can create rules:
My rules:
- Disable Contact Form 7 everywhere EXCEPT “/contact”
- Disable WPForms everywhere EXCEPT “/contact, /newsletter-signup”
- Disable WooCommerce scripts everywhere (I don’t have a shop)
Pro version features I don’t need:
The Pro version ($59) adds:
- More granular controls
- Critical CSS generation
- Regex pattern matching
Honest take: The free version is enough. I saved $59 by spending 30 minutes manually configuring unload rules.
Be careful with this plugin:
You can break your site if you disable the wrong scripts.
Golden rule: Only disable scripts from plugins you recognize. If you’re not sure what something does, leave it enabled.
My testing checklist after configuring Asset CleanUp:
- Homepage: ✓ Works
- Blog posts: ✓ Works
- Contact form submission: ✓ Works
- Admin dashboard: ✓ Works
- Mobile responsive: ✓ Works
Test everything after making changes.
The Final Speed Test Results
After installing and configuring all 5 plugins, here’s the before/after:
Before Optimization:
- GTmetrix Grade: D (58%)
- Load Time: 6.2 seconds
- Page Size: 3.8 MB
- Requests: 87
- PageSpeed Mobile: 34/100
- PageSpeed Desktop: 52/100
After Optimization:
- GTmetrix Grade: A (96%)
- Load Time: 1.4 seconds (77% faster)
- Page Size: 960 KB (75% smaller)
- Requests: 26 (70% fewer)
- PageSpeed Mobile: 89/100
- PageSpeed Desktop: 97/100
Speed breakdown by plugin:
| Plugin | Load Time | Improvement |
|---|---|---|
| Baseline | 6.2s | – |
| + LiteSpeed Cache | 3.1s | 50% |
| + ShortPixel | 2.3s | 26% |
| + Autoptimize | 1.8s | 22% |
| + Lazy Load | 1.5s | 17% |
| + Asset CleanUp | 1.4s | 7% |
Total improvement: 77% faster
The Real-World Impact on My Blog
Speed improvements translate to business results. Here’s what changed:
Traffic & Engagement:
Month 1-2 (Before optimization):
- Average visitors: 340/month
- Bounce rate: 68%
- Pages per session: 1.3
- Avg session duration: 47 seconds
Month 3-4 (After optimization):
- Average visitors: 890/month (traffic increased because rankings improved)
- Bounce rate: 42%
- Pages per session: 2.8
- Avg session duration: 2:18
SEO Rankings:
Within 2 weeks of implementing these speed improvements:
- 12 keywords moved up 2-5 positions
- 7 new keywords entered top 20
- 4 keywords earned featured snippets
- Overall organic traffic: +162%
Revenue Impact:
Before (slow site):
- Monthly affiliate clicks: 38
- Conversion rate: 0.8%
- Monthly earnings: $47
After (fast site):
- Monthly affiliate clicks: 89
- Conversion rate: 2.1%
- Monthly earnings: $124
The speed optimization added $77/month to my blog income.
ROI: All plugins are free. The time investment was about 8 hours total. That’s a $77/month return for 8 hours of work.
Common Speed Optimization Mistakes I Made (So You Don’t)
Mistake #1: Installing too many speed plugins
I initially installed 8 different plugins trying to maximize speed. They conflicted with each other. Site broke. Load time actually got WORSE (7.1 seconds).
Lesson: Use ONE caching plugin, ONE image optimizer, ONE code minifier. More plugins ≠ faster site.
Mistake #2: Enabling every optimization setting
When I enabled CSS/JS combining in LiteSpeed Cache AND Autoptimize, they fought each other. Contact form stopped working.
Lesson: Pick one plugin for each task. Don’t duplicate optimizations.
Mistake #3: Not testing on mobile
My site loaded in 1.4s on desktop but 3.8s on mobile. I forgot to check mobile performance.
Lesson: Always test mobile separately. Mobile users are 65% of my traffic.
Mistake #4: Optimizing for speed scores instead of user experience
I got obsessed with hitting 100/100 on PageSpeed Insights. Enabled extreme optimizations that made my site look broken for the first 2 seconds.
Lesson: 90/100 with good UX beats 100/100 with terrible UX.
Mistake #5: Not clearing cache between tests
I’d make changes, test speed, see no improvement, and get frustrated. Turns out I wasn’t clearing cached versions.
Lesson: Always clear ALL caches before testing:
- Plugin cache (LiteSpeed, Autoptimize)
- Browser cache (Ctrl+Shift+Del)
- CDN cache (if using Cloudflare)
The Speed Plugin Stack I’d Recommend for Different Scenarios
Not everyone should use the exact same setup. Here’s what I’d recommend:
For Shared Hosting (Bluehost, GoDaddy, etc.):
If you don’t have LiteSpeed servers:
- WP Rocket ($49/year) – Best caching for non-LiteSpeed hosts
- ShortPixel (free tier) – Image optimization
- Lazy Load by WP Rocket (free) – Lazy loading
- Asset CleanUp (free) – Remove unused scripts
Total cost: $49/year
For LiteSpeed Hosting (Hostinger, SiteGround, Cloudways):
My exact setup:
- LiteSpeed Cache (free) – Server-level caching
- ShortPixel (free tier) – Image optimization
- Autoptimize (free) – Code minification
- Lazy Load by WP Rocket (free) – Lazy loading
- Asset CleanUp (free) – Remove unused scripts
Total cost: $0
This is why I chose LiteSpeed-based hosting. I save $49/year on caching plugins while getting better performance.
For High-Traffic Sites (10k+ visitors/day):
- LiteSpeed Cache (if available) or WP Rocket
- ShortPixel (paid plan for unlimited optimization)
- Cloudflare Pro ($20/month CDN)
- Consider moving to VPS or cloud hosting
At high traffic, plugin optimization isn’t enough. You need better infrastructure.
Quick Start Checklist: Optimize Your Site This Week
Don’t overthink it. Here’s your action plan:
Day 1: Install caching plugin
- [ ] Check if your host supports LiteSpeed
- [ ] Install LiteSpeed Cache (if yes) or WP Rocket (if no)
- [ ] Use my configuration settings above
- [ ] Test your site thoroughly
Day 2: Optimize images
- [ ] Install ShortPixel
- [ ] Run bulk optimization on existing images
- [ ] Set up automatic optimization for new uploads
- [ ] Test load time improvement
Day 3: Minify code
- [ ] Install Autoptimize
- [ ] Configure using my settings above
- [ ] Exclude jQuery and theme scripts
- [ ] Test for broken functionality
Day 4: Implement lazy loading
- [ ] Install Lazy Load by WP Rocket
- [ ] Enable for images, iframes, videos
- [ ] Test scrolling behavior
Day 5: Remove unused scripts
- [ ] Install Asset CleanUp
- [ ] Review scripts on 5 different page types
- [ ] Disable unnecessary plugin scripts
- [ ] Test all functionality
Day 6-7: Test and measure
- [ ] Run GTmetrix test
- [ ] Run PageSpeed Insights (mobile + desktop)
- [ ] Check site on actual mobile device
- [ ] Monitor analytics for bounce rate changes
Total time investment: 6-8 hours over one week
What About CDN? (Cloudflare Setup)
After plugin optimization, the next step is a CDN (Content Delivery Network).
I use Cloudflare’s free tier. It adds another 15-20% speed improvement by serving content from servers closest to your visitors.
Quick setup (15 minutes):
- Create free Cloudflare account
- Add your domain
- Update nameservers at your domain registrar
- Enable “Auto Minify” for HTML, CSS, JS
- Enable “Brotli” compression
Speed improvement: 1.4s → 1.1s for international visitors
I’ll write a detailed Cloudflare setup guide in a future post. For now, focus on the 5 plugins above.
Final Thoughts: Speed is a Competitive Advantage
When I started RankWeb.com, my site loaded in 6.2 seconds. I was competing against tech blogs with 2-second load times.
I was losing before visitors even saw my content.
These 5 plugins leveled the playing field. Now my site is faster than 80% of competitors in my niche.
The best part? Total cost: $0.
I didn’t need expensive hosting upgrades. I didn’t need premium plugins. I just needed the RIGHT plugins, properly configured.
If your WordPress site loads slower than 3 seconds, you’re leaving traffic and revenue on the table.
Take one week. Install these 5 plugins. Follow my configuration steps. Your site will be faster, your users will be happier, and Google will rank you higher.
Your move.
You may also like : The Free SEO Tools I Used to Get My First 1000 Visitors (+ When to Upgrade to Paid Version)
Quick Reference: The 5 Plugins
- LiteSpeed Cache – Download from WordPress.org
- Requirement: LiteSpeed hosting (like Hostinger)
- Alternative: WP Rocket ($49/year)
- ShortPixel Image Optimizer – Download
- Free: 100 images/month
- Paid: $4.99/month for 5,000 images
- Autoptimize – Download
- 100% free
- Lazy Load by WP Rocket – Download
- 100% free
- Asset CleanUp – Download
- Free version is sufficient
- Pro version ($59) adds advanced features
Total cost if you have LiteSpeed hosting: $0 Total cost if you don’t: $49/year for WP Rocket
Note: The Hostinger link above is an affiliate link. I earn a small commission if you sign up (at no extra cost to you). I recommend it because it’s the LiteSpeed hosting I actually use for RankWeb.com, allowing me to use LiteSpeed Cache for free instead of paying $49/year for WP Rocket.
One Response