A PageSpeed Insights score above 90 often sounds like something you need paid tools, a premium CDN, or hired help for. In practice, most WordPress sites get most of the way there with three free changes: page caching, image optimization, and using a lightweight theme.
This short guide shows a practical, measured approach that you can repeat on almost any WordPress site. On the test site used here (an image-heavy content blog), the desktop Performance score went from 83 to 94 after applying the free stack below. No guide can promise a specific score for every site—results vary—but the method transfers.
Why these three levers?
– Page caching prevents WordPress from rebuilding pages on every visit, cutting server response time and Time to First Byte dramatically.
– Image optimization reduces the largest part of a page’s payload: compressing, converting to modern formats, resizing per device, and lazy-loading images shrinks load time and network transfer.
– A lightweight theme avoids loading unnecessary CSS/JS that no plugin can fully remove.
A quick honesty check: PageSpeed scores fluctuate. Mobile scores are usually harder to push up than desktop. The goal here is a reliable process you can measure, not a guaranteed number.
Step 1 — Measure your baseline
1. Go to https://pagespeed.web.dev and run a test for your URL. Record both desktop and mobile scores.
2. Run the test three times and take the middle result to avoid outliers.
3. Test a representative blog post and the homepage, since they often perform differently.
The test site began at 83 on desktop. Without a baseline, claimed improvements are guesses—so write your numbers down before changing anything.
Step 2 — Turn on page caching (free)
If your host doesn’t already provide page-level caching, install a free caching plugin. Good free options include Super Page Cache, WP Super Cache, and WP Fastest Cache. Most installs are plug-and-play: install, activate, and the defaults are usually fine.
Important tips:
– Don’t stack caching layers. If your host caches pages at the server level, adding a plugin often causes stale content issues rather than extra speed.
– Verify caching by opening your site in a private/incognito window. If repeat visits load instantly, the cache is working.
– Purge the cache after publishing changes so visitors see updates.
Deeper cache tuning (object cache, preloading, database cleanup) helps further but isn’t required for the free stack.
Step 3 — Optimize images (free option shown)
Images are typically the biggest download on a page. Use an image optimization service or plugin that can:
– Compress images
– Convert to WebP/AVIF where appropriate
– Resize images per device
– Lazy-load images below the fold
– Serve images via a CDN
Example used in this test: Optimole (free plan). It provides automatic compression, on-the-fly WebP/AVIF conversion, per-device resizing, lazy loading without jQuery, and serves images from a global CDN. The free plan includes all features for sites with up to 2,000 monthly visits (a “visit” is counted as a unique daily user). If you enable the small Optimole badge, the free allowance increases.
How to get started with an image optimizer like Optimole:
1. Plugins > Add New in wp-admin, search for the plugin, install and activate.
2. Create a free account if required and paste the API key into the plugin settings.
3. Confirm the dashboard shows the service active and monitor visit usage and saved file sizes.
4. Choose a compression mode—Speed Optimized is a good default; Quality Optimized is better for photography sites.
Worth noting: free plans often have visit caps and rely on a third-party CDN/cloud for delivery. Complete media offloading is usually a paid feature. Real file-size savings depend on how compressed your original images already are.
Step 4 — Re-measure and interpret results
With a caching plugin and image optimization active, run PageSpeed Insights again. On the test site, desktop Performance rose from 83 to 94. The caching layer reduced server response time; image optimization cut the payload and served images from a CDN.
Read results honestly:
– Scores move a few points between runs. Treat changes within 2–3 points as noise.
– Mobile scores will often remain lower; focus on the Diagnostics section to find the biggest blockers.
– A “No Data” message in field data simply means your site doesn’t have enough real-user telemetry yet.
If your score barely changes, don’t keep adding plugins. Open the Diagnostics panel and address the single largest issue it lists, then re-test. Iterating on the biggest fixes beats stacking tools.
Bottom line
A 90+ PageSpeed score on WordPress is realistic for many sites without spending money—if you focus on the two biggest levers (caching and images) and avoid a bloated theme. The measured case here reached 94 desktop with just those changes and zero dollars spent.
Process over promises: measure your baseline, change one thing at a time, and re-measure. That feedback loop is the real trick, not any single plugin.
What were your before-and-after scores? Share your numbers and experiences so others can learn from real results.