The Power of Manual Website Optimisation: Achieving 100/100 on PageSpeed
Achieving a Perfect 100: How I Optimised My Website and VPS (Without Plugins)
A few weeks ago, I wouldn’t have imagined diving into the world of manual web optimisation—but here we are. What started as a simple curiosity turned into a full-on performance overhaul for my website photoscotland.net. With a bit of persistence, plenty of learning, and the steady help of ChatGPT, I’ve managed to achieve something I never thought I would: near-perfect scores across all PageSpeed Insight categories—100 for Performance, SEO, Accessibility, and Best Practices.
Letting Go of LiteSpeed Cache
The first major decision was to remove the LiteSpeed Cache plugin. While widely used, it didn’t suit my setup and actually slowed things down. I decided to configure everything manually, which gave me better control and noticeably better results.
Manual Optimisations via Child Theme
The child theme—previously a blank slate—was transformed into the core of my optimisation strategy. Here’s what I implemented:
-
A custom
style.css
file filled with performance-focused CSS -
A
functions/
directory for lightweight PHP-based enhancements -
A
js/
folder with locally-served JavaScript files, replacing external CDN scripts -
Custom CSS/JS using the theme’s built-in tools for extra fine-tuning
By reducing third-party requests and optimising everything at the source, load times dropped significantly.
Server-Side Optimisation with OpenLiteSpeed
Using the OpenLiteSpeed admin panel, I also made several key server-level optimisations:
-
Adjusted rewrite rules in the Virtual Host configuration
-
Refined context settings to enhance cache behavior and compression
-
Added a few directives to
.htaccess
to tighten delivery and improve compatibility
These low-level improvements ensured the server was just as optimised as the frontend.
Redis Object Caching (Without a Plugin)
Staying true to my no-plugin policy, I also integrated Redis object caching manually. With ChatGPT’s help, I downloaded the object-cache script directly from the official WordPress object cache drop-in, extracted only the necessary object-cache.php
file, and dropped it into the wp-content/
directory.
Then, I added the appropriate Redis config lines to my wp-config.php
file. This approach gave me all the speed benefits of Redis caching without having to install a plugin—keeping my setup lightweight and efficient.
Cleaning and Tuning the VPS
No optimisation would be complete without addressing the server itself. My VPS runs AlmaLinux with CyberPanel and OpenLiteSpeed, and here too, I made several improvements:
-
Identified and removed unnecessary services
-
Fixed CyberPanel log errors and misconfigurations
-
Ensured smooth, clean operation with no bloat or hidden performance killers
These behind-the-scenes tweaks helped ensure the site’s performance wasn’t just about pretty scores, but actual reliability.
The Results
Thanks to all of the above, PageSpeed Insights now shows:
Scores may fluctuate slightly depending on testing conditions, but the consistency and speed are vastly improved.
To improve the overall experience, I’ve redirected mobile users away from the homepage and instead send them to /landscapes
. The homepage features a fullscreen slideshow which looks stunning on desktops, but doesn’t translate well to smaller screens where it serves little practical purpose. This redirect ensures that mobile visitors land on content that’s more relevant, faster, and easier to navigate.
It’s Still Evolving
This is an ongoing process. Web optimisation isn’t something you do once and forget. There are still improvements I want to make—media delivery, smarter lazy loading. But what I’ve achieved so far has made a huge difference, and it’s been worth every bit of effort.
Final Thoughts
None of this would’ve happened if I hadn’t had ChatGPT guiding me through the technical details, helping me troubleshoot when things broke, and showing me the cleaner, plugin-free path forward. Doing it manually gave me a deeper understanding of my own site and its performance.
If you’re tempted to optimise your own WordPress site and VPS without relying on heavy plugins, take it from me—it’s absolutely doable. Just start simple, back everything up, and stay curious.