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)
- Start clean. Keep a tidy site structure and a lightweight theme. Most “speed crises” are page weight and plugin sprawl, not missing magic flags.
- Cache early, invalidate smartly. Page cache + automatic purges on publish/update do most of the heavy lifting. Fine-tuning can come later.
- 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.
- 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.
- CDN where it counts. Use a CDN for static assets and global traffic. The goal is less distance, fewer hops, more cache hits.
- 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/











