Technology

Hitting 100/100 PageSpeed on WordPress with LiteSpeed

If you’ve ever wondered whether a WordPress site can feel instant on mobile without expensive add-ons or a total rebuild, the short answer is yes. A colleague recently shared a practical setup that pairs Coolify (for easy container hosting) with OpenLiteSpeed and the LiteSpeed Cache plugin. It’s a lean path to great Core Web Vitals—and, yes, a 100/100 PageSpeed score is achievable on well-optimized pages.

Below is the high-level, non-technical playbook and the “why” behind it.

Full walkthrough & configs: https://hasto.pl/wordpress-on-coolify-100-pagespeed-with-litespeed/

Why this combo works

  • Server-level smarts: LiteSpeed’s cache lives close to the web server, so responses return fast without PHP doing extra work.
  • One tool, many wins: The LiteSpeed Cache plugin handles image optimization, page caching, CSS/JS tuning, and CDN hooks in one place—less stacking, less breaking.
  • Edge first, origin simple: Terminate HTTPS at the edge (your proxy) and keep the app talking HTTP internally for clarity and fewer moving parts.

What to focus on (without going deep into configs)

  1. Start clean. Keep a tidy site structure and a lightweight theme. Most “speed crises” are page weight and plugin sprawl, not missing magic flags.
  2. Cache early, invalidate smartly. Page cache + automatic purges on publish/update do most of the heavy lifting. Fine-tuning can come later.
  3. Images matter more than you think. Serve modern formats (e.g., WebP) and lazy-load below-the-fold media. This alone can swing mobile scores dramatically.
  4. Be kind to the main thread. Minimize render-blocking CSS/JS and trim third-party scripts (pixels, pop-ups, heavy embeds). Keep only what moves the business.
  5. CDN where it counts. Use a CDN for static assets and global traffic. The goal is less distance, fewer hops, more cache hits.
  6. Steady state > peak score. A perfect 100 is great, but stability under load, clean logs, and predictable deploys matter more day-to-day.

A simple, sustainable process (teams love this)

  • Set a page-weight budget. For example: aim for ≤150KB CSS, ≤150KB JS, hero image ≤150KB on mobile. Budgets keep everyone honest.
  • Test like a user. Measure both lab (PageSpeed Insights, Lighthouse) and field data (CrUX), on mobile first. Watch LCP, CLS, and INP trends.
  • Change one thing at a time. Make a small tweak, test, ship. If scores dip, revert quickly. Performance is an ongoing practice, not a one-off project.
  • Plugin discipline. Quarterly audit: remove anything unused or duplicative. Many sites can drop 20–40% JS/CSS weight just by cleaning up.
  • Content hygiene. Editors can help: smaller hero images, fewer auto-play embeds, shorter above-the-fold carousels, and compressed screenshots.

Common bottlenecks (and easy wins)

  • Heavy builders & multipurpose themes: Consider lighter blocks or partial templates for key landing pages.
  • Chat widgets & trackers: Load them after interaction or on specific pages only.
  • Fonts: Limit variants, use font-display: swap, and consider system fonts for critical routes.
  • Video above the fold: Replace with a poster image + click-to-play.

What you’ll find in the full guide

The full piece walks through a working stack with Coolify + OpenLiteSpeed + LiteSpeed Cache, including a clean layout for files/logs, safe defaults, and practical tuning that helps avoid timeouts under load. It’s meant to be followed step-by-step, but it stays maintainable—no black-box tweaks.

If you’re starting from a typical WordPress install and want a fast, reliable baseline, this approach is a strong, modern default. Iterate from there with real user data, and treat performance as a habit.

Read the complete setup (with examples): https://hasto.pl/wordpress-on-coolify-100-pagespeed-with-litespeed/