To pass PageSpeed Insights with WordPress you need to act on four fronts: server caching, optimized images, minified code, and a hosting provider with a low TTFB. No single plugin solves everything — the right combination does.
This guide covers each optimization layer in order of impact, with concrete recommendations and no filler. By the end you'll know exactly what to change and why.
Why PageSpeed Insights Matters Beyond the Score
PageSpeed Insights (PSI) measures your site's real Core Web Vitals: LCP (load of the main element), INP (response to interactions), and CLS (visual stability). Since 2021, these metrics have been an official Google ranking signal.
A low score isn't just an SEO problem. Google studies show that every additional second of load time reduces conversions by up to 20%. For a site serving Mexico and Latin America, that translates to sales or leads that never happen.
The practical targets are:
- LCP ≤ 2.5 s
- INP ≤ 200 ms
- CLS ≤ 0.1
- Mobile PSI score ≥ 75 (green)
Step 1 — Choose the Right Hosting Before Touching Plugins
TTFB (Time to First Byte) depends 100% on the server. If your host delivers the first response in more than 600 ms, no caching plugin will fully compensate.
Minimum criteria for hosting that supports good PSI scores:
| Criterion | Minimum acceptable | Ideal |
|---|---|---|
| TTFB (Mexico/LATAM) | < 600 ms | < 200 ms |
| Storage | SATA SSD | NVMe |
| Web server | Apache + mod_cache | LiteSpeed / Nginx |
| PHP version | 8.1 | 8.2 or higher |
| CDN included | Optional | Recommended |
If your current TTFB exceeds 600 ms, consider migrating before investing time in WordPress tweaks. A web performance specialist can diagnose your exact situation and recommend the right hosting plan for your needs.
Step 2 — Install and Configure a Caching Plugin
Page caching is the highest-impact optimization after hosting. It converts dynamic PHP pages into static HTML files that the server delivers without executing any code.
Options by server type
- LiteSpeed Cache — free, native integration with LiteSpeed servers. Best option if your host supports it.
- WP Rocket — paid (~$59 USD/year). Works on any server; guided setup minimizes configuration errors for beginners.
- W3 Total Cache — free, more options but also more complex. Requires trial and error.
Essential settings in any caching plugin
- Enable page caching for non-logged-in users.
- Enable object caching (Redis or Memcached if your host offers it).
- Minify HTML, CSS, and JS.
- Defer non-critical JavaScript (
deferorasync). - Enable cache preloading so even the first visit is fast.
Warning: JS minification can break themes or plugins. Enable it incrementally and test after each change.
Step 3 — Optimize Images (the #1 Cause of High LCP)
Unoptimized images are the most common cause of poor LCP scores. Three actions fix 80% of cases:
Convert to WebP or AVIF
WebP format reduces image file size by 25–35% compared to JPEG while maintaining the same visual quality. AVIF offers up to 50% savings but has slightly lower browser support.
Plugins like Imagify, ShortPixel, or Converter for Media automate conversion and serve the correct format based on the visitor's browser.
Apply lazy loading
Add the loading="lazy" attribute to all images not visible in the initial viewport. WordPress does this by default since version 5.5, but verify your theme hasn't disabled it.
Define explicit dimensions
Omitting width and height attributes on images causes CLS (layout shift). Always include both attributes or use CSS with aspect-ratio.
Preload the LCP image
Identify the LCP element in PSI (usually the hero banner) and add a <link rel="preload"> in the <head>. This tells the browser to download that image as early as possible.
<link rel="preload" as="image" href="/wp-content/uploads/hero.webp">
Step 4 — Reduce Third-Party JavaScript
Third-party scripts (Google Analytics, Meta Pixel, live chat, sliders) block the main thread and inflate INP. They are the second most common cause of low mobile scores.
- Load Google Analytics with deferred consent using a solution like Iubenda or Cookiebot so it doesn't block initial rendering.
- Replace heavy sliders (Revolution Slider, etc.) with native Gutenberg blocks or static images.
- Use the Asset CleanUp plugin or WP Rocket's exclusion feature to disable scripts on pages where they're not needed.
- Load live chat with
setTimeoutor after the user's first interaction.
Step 5 — Enable a CDN and Gzip/Brotli Compression
A CDN (Content Delivery Network) serves static files (images, CSS, JS) from the node closest to the visitor. For a Mexican site with LATAM traffic, Cloudflare (free) is the most practical option.
Minimum steps with free Cloudflare
- Point your DNS to Cloudflare.
- Enable Auto Minify for HTML, CSS, and JS.
- Set up a cache rule for static files (TTL: 1 month).
- Try Rocket Loader cautiously — test it first, as it can break custom JS.
Brotli compression (superior to Gzip) is automatically enabled in Cloudflare and on LiteSpeed hosting. On Apache, it requires the mod_brotli module, or mod_deflate for Gzip as a fallback.
If you need a full technical review of your site, the team at elenlace.com offers Core Web Vitals performance audits for businesses in Mexico and Latin America.
Explore more web performance articles in our performance section.
Key Takeaways
- Hosting is the foundation: a high TTFB cannot be fixed with plugins alone.
- Page caching is the single highest-impact optimization after choosing the right host.
- WebP/AVIF images with explicit dimensions and lazy loading improve LCP and CLS simultaneously.
- Third-party JavaScript is the primary cause of poor mobile INP scores.
- A CDN like Cloudflare speeds up static asset delivery at zero or very low additional cost.
- Optimization is iterative: measure in PSI, apply one change, measure again.
Still failing PageSpeed Insights after these fixes? Reach out to us — we run a complete performance audit and deliver a concrete action plan for your site.
FAQ
What PageSpeed Insights score is considered good?
Google classifies results in three ranges: green (90–100), orange (50–89), and red (0–49). The realistic target for most WordPress sites is reaching the green zone on desktop and at least 75 on mobile. A score of 75+ on mobile is sufficient to avoid search ranking penalties.
Is WP Rocket worth its price?
For most WordPress sites, yes. Its guided setup minimizes human error, and its CDN integration and script exclusion options save hours of manual configuration. The most powerful free alternative is LiteSpeed Cache, but it only works on LiteSpeed servers.
Why is my mobile score so much lower than desktop?
PageSpeed Insights simulates a slow 4G connection (10 Mbps) and a mid-range device for mobile measurements. This exposes issues that aren't noticeable on desktop with fiber: heavy images, render-blocking JS, and server response times are all amplified under those conditions.
How often should I check my PageSpeed Insights metrics?
Always check before and after installing or updating a major plugin or theme. As routine maintenance, once a month is enough to catch regressions. Also set up Google Search Console alerts to be notified automatically when your Core Web Vitals drop into the red zone.
Useful resources
Other providers and guides worth comparing: