Learn how to achieve 100/100 PageSpeed scores without breaking your site.
Why This Matters
A 1-second delay in page load time can reduce conversions by 7%. Most WordPress sites load in 3-4 seconds. That’s costing businesses real money, every single day.

The good news: you don’t need to be a developer to hit 100/100 on PageSpeed. You need a system, not magic.
Part 1: The Foundation (Do This First)
1. Choose Your Hosting
Before optimizing a single line of code, hosting matters. A lot.
- Shared hosting: Unlikely to exceed 75/100 even with perfect optimization
- Managed WordPress hosting: Can reach 90-95/100 easily (Kinsta, WP Engine, Pressable)
- Quality VPS: Can reach 95-100/100 with proper setup (DigitalOcean, Vultr, Linode)
- Poor hosting: Will sabotage optimization efforts
If on shared hosting with unlimited sites, you’re fighting gravity. This is the #1 reason sites can’t hit 100/100 no matter what’s optimized.
Action: If under 40/100 with everything optimized, hosting is likely the bottleneck.
2. Install the Right Tools
You need exactly four things:
- WP Rocket or Perfmatrix – Caching and optimization (handles 70% of the work)
- Imagify or ShortPixel – Image optimization (handles most of the remaining work)
- Google PageSpeed Insights – Your testing tool (free)
- GTmetrix – Secondary testing tool to catch things PageSpeed misses (free)
That’s it. Don’t install a dozen “speed plugins”—they conflict and slow you down more.
Part 2: Quick Wins (30 minutes, +15-25 points)
Enable Caching
In WP Rocket (or your chosen caching plugin):
- Go to Settings → Caching
- Turn on Browser Caching (check)
- Turn on Minify CSS and Minify JavaScript (check both)
- Turn on GZIP Compression (check)
- Leave everything else at defaults initially
Run a PageSpeed test. You’ll probably jump 15-25 points immediately.
Remove Unused Plugins
Every inactive plugin still loads on your site in some cases. Go through and delete anything you’re not actively using. This is free speed.
Common culprits: old SEO plugins, abandoned backup plugins, unused social media integrations.
Clean Your Database
WP Rocket includes a database cleaner. Run it once and enable automatic cleanup:
WP Rocket → Database → Run Cleaner
This removes old revisions, spam comments, and transients. Safe to do monthly.
Part 3: Image Optimization (The 20-Point Jump)
This is where most sites gain the most speed without any code changes.
Step 1: Compress Existing Images
In Imagify or ShortPixel:
- Compress your entire media library
- Choose “Normal” compression (usually best balance)
- Let it run (this takes 1-4 hours depending on library size)
Step 2: Set Up Automatic Optimization
Configure your plugin to auto-compress all new uploads:
Imagify → Settings → Auto-Optimize
- Turn on “Automatic Optimization”
- Set compression level to “Normal”
- Enable WebP generation (this is important)
Step 3: Lazy Load Images
In WP Rocket:
Settings → Media → Lazy Load → Check “Enable”
This delays image loading until they’re about to scroll into view. Massive speed gain for image-heavy sites.
Step 4: Properly Size Featured Images
This one isn’t automated. Go through your top pages and ensure featured images are:
- Actually used at the size you display them
- Not 5MB files squeezed into 300px containers
- In WebP format when possible
Wrong sizing here can cost you 5-10 points alone.
Part 4: JavaScript & CSS (The Intermediate Work)
This is where most people get scared. Don’t be. It’s mechanical.
Defer JavaScript
In WP Rocket:
Settings → File Optimization → Defer JavaScript Loading → Check “Enable”
This tells the browser to load JavaScript after your page displays, instead of before. Your page looks interactive faster.
Critical CSS (Optional But Powerful)
WP Rocket can generate Critical CSS automatically:
Settings → File Optimization → Critical CSS → Check “Generate”
This pre-loads only the CSS needed for above-the-fold content. Can add 3-7 points if done right. If you see broken styling after enabling this, revert and skip it.
Exclude Non-Critical Resources
PageSpeed will tell you which JavaScript and CSS files aren’t needed on specific pages. In WP Rocket:
Settings → File Optimization → Exclude Scripts/CSS
Start with the ones PageSpeed explicitly recommends excluding. Don’t guess here—let the tool tell you.
Part 5: Content Delivery (The 5-10 Point Boost)
Use a CDN
A CDN serves your images and static files from servers near your visitors. It’s essential for 100/100 if you have international traffic.
Options:
- Cloudflare Free – Good enough for most sites, included in many hosting plans
- Bunny CDN – Cheap ($0.01/GB), excellent performance
- AWS CloudFront – Powerful but requires configuration knowledge
WP Rocket integrates with all of them. Once enabled, it automatically serves images through the CDN.
DNS Performance
Use a fast DNS provider:
- Cloudflare DNS – Free, fast, blocks malware
- Quad9 – Free, privacy-focused
- Google DNS (8.8.8.8) – Free, reliable
Change this in your domain registrar. Can shave 100-200ms off your time to first byte.
Part 6: Testing & Troubleshooting
Running the Test
Use Google PageSpeed Insights (it’s what matters most):
- Go to pagespeedinsights.web.dev
- Enter your site URL
- Run for both Mobile and Desktop
- Check the “Opportunities” section (sorted by impact)
Target: Address the top 5-6 opportunities. The rest are often noise.
If You’re Stuck at 85/100
Common culprits:
- Fonts loading slowly – Consider system fonts or preload critical fonts in WP Rocket
- Third-party scripts – Analytics, ads, Facebook pixel, etc. defer these if possible
- Render-blocking resources – PageSpeed will tell you which ones; defer or delay them
- Cumulative Layout Shift (CLS) – Images or ads moving around as they load; add width/height attributes
- Hosting bottleneck – TTFB over 1.5 seconds means your host is the problem
If Images Still Aren’t Optimized
Run this check:
- Open DevTools (F12)
- Go to Network tab
- Load a page
- Filter by images
- Check file sizes vs. displayed size
- If JPEGs are 500KB+ and displayed at 400px wide, you have an image sizing problem
Fix it by re-uploading at the correct dimensions or using a plugin that automatically resizes.
Part 7: Don’t Break Your Site
This is critical. Optimization can break things if you’re not careful.
Before Enabling Each Setting
- Take a screenshot of your site on desktop and mobile
- Enable the setting
- Clear all caches
- Check the site on desktop and mobile
- If something looks wrong, disable immediately
Common Breakages & Fixes
| Problem | Cause | Fix |
|---|---|---|
| White screen of death | Defer JS too aggressive | Disable JS deferral, exclude problem scripts |
| Buttons don’t work | CSS minification issue | Revert minification, try WP Rocket’s default |
| Images missing | Lazy load conflict | Disable lazy load, enable in CDN instead |
| Slideshow broken | JavaScript deferral | Exclude slider plugin from deferral |
| Form validation broken | JS timing issue | Exclude form plugin from minification |
When in doubt, disable the last thing you enabled and test again.
Part 8: Maintenance (Keep It Fast)
Speed optimization isn’t one-time. Set these recurring tasks:
- Weekly: Clear cache manually after posts/updates
- Monthly: Run database cleanup, check PageSpeed, check broken links
- Quarterly: Review unused plugins, update images, check CDN settings
This takes about 30 minutes per month and keeps you at 95+/100.
Real-World Examples
Three WordPress sites were optimized to 100/100 recently. Here’s what moved the needle most:
Site A (Ecommerce):
- Before: 52/100
- Image optimization: +18 points
- Caching + minification: +20 points
- CDN: +8 points
- Final: 98/100
Site B (Blog):
- Before: 68/100
- Lazy loading + deferral: +15 points
- Font optimization: +10 points
- Final: 93/100
Site C (Service Site):
- Before: 45/100
- Switched hosts: +35 points
- Image optimization: +12 points
- Final: 97/100
The pattern: hosting accounts for 30-40% of the score. Everything else accounts for 60-70%.
The Checklist
Before you declare victory:
- Caching enabled (browser + server)
- Images compressed and lazy loaded
- JavaScript deferred on non-critical pages
- CSS minified
- CDN enabled (if available)
- Fonts preloaded or optimized
- Unused plugins removed
- Database cleaned
- Tested on mobile and desktop
- Tested in incognito mode (clears cache)
Check all 10? You’re at 95+/100.
Final Thoughts
100/100 PageSpeed doesn’t require code changes, plugins, or expensive services for most WordPress sites. It requires:
- Decent hosting
- A good caching plugin
- Image optimization
- One afternoon of configuration
- Monthly maintenance
Most sites that claim they “can’t” hit 100/100 are either on poor hosting or haven’t actually tried the steps. If stuck, moving to better hosting first will likely show an immediate 15-20 point jump.
