How to Improve WordPress Speed to 90+
Getting your WordPress site to 90+ on Core Web Vitals is not only possible — it’s essential for SEO, conversions, and overall user experience.
In 2025, Google’s performance standards are stricter than ever, but with the right setup, you can consistently hit top scores.
Below is a practical, real-world guide based on the optimization methods we use for client projects.
Why Core Web Vitals Matter in 2026
Core Web Vitals measure how fast and stable your website feels to users. They directly affect:
- SEO rankings
- Bounce rate
- Conversion rate
- Google Ads Quality Score
- Mobile performance
To pass CWV, your site must excel in:
LCP – Largest Contentful Paint
How fast the main content loads.
CLS – Cumulative Layout Shift
Visual stability (no “jumping” layout).
FID / INP – Interaction to Next Paint
User interaction responsiveness.
1. Use WP Rocket as the Main Performance Engine
We use WP Rocket as the primary caching and optimization plugin because it delivers the best results with minimal overhead.
WP Rocket features we rely on:
- Page caching
- GZIP compression
- Browser caching
- Delay JavaScript execution (huge score boost)
- Defer JavaScript
- Remove unused CSS
- Optimize CSS delivery
- Preload critical pages
- Database cleanup
- CDN compatibility
This plugin alone can improve PageSpeed by 20–40 points, especially on mobile.
2. Convert All Images to WebP or AVIF
WebP and AVIF are 2025’s standard formats.
They reduce image weight by 30–80% with no quality loss.
Why AVIF is even better:
- Better compression
- Better color accuracy
- Smaller file sizes
- Faster loading on mobile networks
We optimize images by:
- Converting all large assets (banners, hero images, product images) to WebP/AVIF
- Using responsive
srcset - Limiting hero image size to ~150–250 KB
- Removing EXIF metadata
Tools we use:
- ShortPixel
- Imagify
- Squoosh for manual optimization
3. Lazyload All Media
Lazyloading ensures images and videos load only when visible, reducing initial page weight dramatically.
What we lazyload:
- Blog images
- Product images
- Thumbnails
- Embeds
- Videos (YouTube is replaced with a preview image until clicked)
Exception:
Do NOT lazyload hero images or anything above-the-fold.
Those should be preloaded instead (see section #7).
4. Move from WP Cron to Server Cron (Real Cron Jobs)
By default, WordPress uses a fake cron system triggered by page loads (wp-cron.php).
This slows down large sites significantly.
We disable WP Cron and replace it with a real Linux cron job.
Benefits:
- Faster loading
- Better stability
- No random slowdowns
- More predictable performance
Steps:
- Add to wp-config.php:
define('DISABLE_WP_CRON', true); - Add a server cron job:
*/5 * * * * wget -q -O - https://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
5. Defer and Delay JavaScript Execution
JavaScript is one of the main causes of slow mobile PageSpeed scores.
We always apply:
Defer JS
Loads scripts after HTML is parsed.
Delay execution of JS
WP Rocket can delay all non-critical scripts until user interaction (scroll, click).
This alone often boosts mobile scores from 60 → 90+.
Examples of scripts delayed:
- Analytics
- Tag Manager
- Chat widgets
- Social sharing
- Sliders
- Pop-ups
6. Reduce and Optimize CSS
Unused CSS can block rendering and slow down LCP.
Our methods:
- Remove unused CSS via WP Rocket
- Split CSS into modular components
- Inline critical CSS for hero area
- Avoid page builders that load “CSS for everything”
- Clean up theme stylesheets
- Load fonts properly (swap + preconnect)
A typical reduction is 40–70% of original CSS weight.
7. Preload Hero Banner Images
This is one of the most important actions for LCP (Largest Contentful Paint).
We always:
- Preload the hero image
- Ensure the hero image is under 200–250 KB
- Serve it in WebP or AVIF
- Reduce resolution if unnecessary
- Use
fetchpriority="high"for the first image in 2025
This tells the browser:
“Load this image first, it’s the main part of the page.”
Expect a 20–40% improvement in LCP.
8. Optimize Fonts
Fonts often block rendering.
Best practices:
- Host fonts locally
- Use WOFF2 format
- Preload the main font
- Use
font-display: swap - Remove unused font weights
- Avoid loading 5+ different font families
Ideal:
1–2 fonts, 2–3 weights max.
9. Minimize Plugins and Use Lightweight Alternatives
Too many plugins = slow TTFB + excessive JS.
We check:
- Disable plugins you don’t need
- Replace heavy plugins (Elementor, Revolution Slider)
- Use lightweight theme (Block theme or custom ACF blocks)
- Avoid plugin duplications
Goal:
Under 20 active plugins, ideally 10–15.
10. Use a Fast Hosting Provider
Caching can’t fix a slow server.
We recommend:
- LiteSpeed hosting
- Cloud hosting (VPS)
- Managed WordPress hosting
- Edge caching/CDN (Cloudflare APO)
A good host cuts load time by 30–50%.
Final Result: 90+ on Core Web Vitals
When we combine:
✔ WP Rocket
✔ WebP/AVIF images
✔ Lazyloading
✔ Server cron (not wp-cron)
✔ Script defer/delay
✔ Reduced CSS
✔ Preloaded hero image
✔ Fast hosting