You have a WordPress website, and you know how critical your WordPress website’s speed and performance are. So, you have tried all the possible things to see your WordPress website load almost instantly.
You have tried the most expensive caching plugin and moved your website from shared hosting to a costly Managed WordPress server. You have switched from an Apache server to a Litespeed Web Server and implemented a global CDN to serve your static assets.
And you still see your website takes more than 1 second to finish loading.
Sure, since you started using a CDN, upgraded PHP, and implemented the caching plugin, you can see a better score on your Google PageSpeed Insights test. But, still, your WordPress website is not loading for you within a second.
You are now pulling your hair and feeling lost. You are not alone.
My goal is to make your WordPress website load within a few milliseconds if you are in this situation. I will show you a simple yet effective method to make your WordPress website run faster without paying for a managed VPS service.
The solution I will show you is simple and instantly gives you results. This strategy will require 4 steps to make it work. You can save some more money because you will stop paying for those expensive VPS services and caching plugins at the end of the day.
So let’s jump straight to the action-packed result-oriented method to boost the performance of your WordPress website.
Why Your WordPress Website Website Is Slow?
Before we look at ways to improve the performance and stability of your WordPress website, let us understand why your WordPress website is slow.
I wouldn’t say WordPress is the most performance-tuned Content Management System available now. Yes, WordPress is not a fine-tuned website builder tool and little outdated when compared with alternatives like Ghost CMS.
WordPress is relatively faster when you use the core and just for blogging. But I can understand that that’s not enough.
And with just the core of WordPress, you technically can’t do anything at all. When I said the core of WordPress, I meant using the default WordPress theme with only the default WordPress plugins that you got preinstalled.
The more plugins and content you add to your WordPress, the slower it will become. Suppose you use a multi-purpose theme or page builder tool. In that case, there is a higher chance that you won’t experience the same performance you were getting when you used the default WordPress theme.
The reason behind this is that the theme you installed and the plugins you added will add more dependencies to your WordPress website. Those plugins and theme authors do have various levels of skill sets. Some of them will focus on fine-tuning their plugins and themes. Unfortunately, some developers will ship without thinking about performance and speed.
You see, unfortunately, you do not have much control over this. All you can do is cherry-pick well-optimized WordPress themes and plugins and uninstall those heavy plugins that cause the performance bottleneck.
Another reason WordPress is slow is that WordPress relies on PHP and a database.
So when you try to access a page on your WordPress website, your browser’s request will go to PHP. And then, PHP will get all the data from the database, and then PHP will generate an HTML file. Then PHP will send this generated HTML file back to your web browser. Your browser will then display the webpage.
The exact process will repeat when someone else tries to access the same page. That means PHP needs to contact the database, collect the necessary data, compile the HTML file, and send it back to the web browser. Even though these processes will happen within a few milliseconds, it is still a bottleneck for a WordPress website.
A lower version of PHP or a web server with insufficient resources cannot handle all this in milliseconds, especially if your database is extensive.
Yes, we have caching plugins to eliminate this request time, and I will explain that a bit in the coming section.
Why Is Your Expensive WordPress Caching Plugin Isn’t Enough?
You might have watched a YouTube video or read a blog post that says to buy a particular caching plugin to boost the performance score of your WordPress website. The plugin’s website says that if you want to see your website loading like a rocket, then you need to buy our plugin and install it.
You opened your credit card, subscribed to their plan, and installed that expensive caching plugin. You immediately ran a Google PageSpeed test, and you found that you are getting 100 out of 100 for desktop and 90+ for mobile. You are the happiest person in the world, and you started dancing.
You are now feeling accomplished, don’t you? No, you are not; I suppose you might be wrong.
Let me explain how they fooled you, well, kind of.
I will try to explain to you in simple terms to know the root cause of the underlying issue quickly.
These caching and optimization plugins are very good at one thing: optimizing your WordPress website.
Since you have installed so many plugins and your theme is relatively heavy. On top of that, you have added scripts like your Google Analytics script and external fonts and large images. All of these extra scripts will make your WordPress website heavier than when you started initially.
So these optimization plugins will fine-tune those JavaScript files and CSS files and reduce the number of external HTTP requests by using techniques such as delay and defer.
So when someone visits the website, these caching plugins will block these heavy JavaScript files, and the user will experience a relatively faster loading time. But the actual cause and bloated plugin dependencies are still there. These plugins just delayed the execution of those files. Thus, you won’t notice the bottleneck of these plugins and bloated themes made on your website.
Your caching and performance plugin just behaved like a gatekeeper.
However, some caching plugins will do extra work to make you extremely happy. Remember when you tested your website using the Google PageSpeed Insight tool and got an excellent score? These plugins are purposely designed to defer files aggressively when using these popular testing tools.
That means when you use such online testing tools; your caching plugins know that this is a testing tool and not a real human visitor trying to visit your website. So then, these caching plugins will defer even more files and resources to cheat the testing algorithm. And in fact, cheating this testing algorithm and getting a better score is very easy to achieve.
Why are they doing this?
Because the reason is you and me, we kept crying for a better score on Google PageSpeed Insights. These caching plugin developers are our service providers, and they are in the money-making business. They’ve seen the high demand popping up, so they chimed in and started offering so-called Core Web Vitals optimization.
So now you are happy; the plugin developers are so glad. But the actual customers who are visiting your website are still experiencing slowness because nobody addressed their root cause.
To verify my above claim, you can do the test yourself. Just test your WordPress website using Google’s Page Speed Insight online tool. And run another test using the built-in Lighthouse tool in your browser console.
I am very much sure that the result will vary significantly. The result you will see in your browser console will be the result that most of your visitors will be experiencing.
Application-Level Caching Is Still Using PHP and Database
So I said these plugins are good at fine-tuning the performance and boosting your Core Web Vitals. However, they offer caching along with performance optimization. And unfortunately, the caching won’t help or is not happening as it should happen.
There are a few types of caching. Client-side caching, server-side caching, CDN level caching, Database side caching, etc.
Remember when I said your PHP would compile all the assets into an HTML file for every visitor request and send it back to the browser? These caching plugins say that they will store this HTML file that has already been built and compiled.
The server and PHP do not recompile when someone else requests the same page. Instead, the server can use already compiled and stored HTML files so that the caching plugin will speed up the delivery.
Okay, now this concept looks promising, and you might be wondering that’s the way it should do. But there is a limitation, and that is another bottleneck here.
This caching is not server-level caching. We call it application-level caching. So when the visitor tries to access the already cached HTML file, the PHP still needs to work along with the caching plugin and check a couple of other parameters. So behind the scenes, they still need to collaborate and work to get the actual HTML file delivered.
This is a technical limitation of every PHP-based application. Therefore, even if your server is based on an NVMe SSD and using the latest PHP release, application-level caching will still create this delay.
NVMe SSD-based cloud servers improve the speed of all read and write operations; thus, premium service providers like Rovity are using them.
PHP Based Applications Are Generally Slow
You read it correctly. PHP-based web applications are relatively slow. Whether you are using expensive web servers like LiteSpeed Enterprise or super costly managed VPS servers.
I found that LiteSpeed Web Server is not as fast as they boast; thus, I switched away from LiteSpeed Enterprise. Now all of Rovity’s premium hosting servers are no more using LiteSpeed Enterprise.
Upgrading to the latest PHP version will help you significantly improve your WordPress website performance, but that is still limited by design.
For comparison, I suggest you check popular alternatives like Ghost CMS that does not use PHP. Instead, it uses NodeJS, and without further fine-tuning, all those pages and admin dashboard load instantly. If you are using Ghost CMS, you don’t need to pay to install any additional plugin to fine-tune the performance of your website.
You see, the problem is the foundation of the back end of the CMS you prefer to use. Even though at Rovity, we are offering Ghost CMS within our shared hosting plans, I am not suggesting you switch from WordPress to Ghost.
That doesn’t mean that Ghost is not as better as WordPress. I will have switched to Ghost CMS if my WordPress site is only for blogging.
I am not blaming PHP; it is one of the most popular open-source programming languages. But I do not deny that PHP is slower than alternative languages. You should understand that if you are using a PHP-based application, you will experience slower performance when compared to NodeJS-based applications.
It is by design, and we all are helpless.
Server Level Caching Is the Solution
The solution is to store the compiled HTML file on a well-optimized server-level caching engine. This is the best reliable and 100% working solution. But most of the hosting service providers do not have the infrastructure in place.
This is true, mainly if the hosting service provider uses a control panel like cPanel. So, you haven’t seen technologies like this exist to save you.
So in the next section, I will show you 4 steps to make your WordPress website load instantly, like a rocket. This superfast experience is optimized for actual visitors, not testing tools like Google PageSpeed Insights. Here there is no cheating. There are no strings attached; it just works.
And, if you are ready to apply this working solution, I am sure that you can save a considerable amount that you are spending currently. You can stop using luxurious managed VPS and managed WordPress hosting services.
These steps that I will show you are easy to follow, and you don’t require to do anything out of the box from your skillset.
Step 1 – Subscribe and Migrate Rovity’s Cloud Hosting Network
This server-level cache solution is built inside our Rovity’s cloud-based network. So to access the caching solution and make use of it, you will need to migrate your WordPress website to our hosting server infrastructure.
The AWS Mumbai region hosts our infrastructure, and when compared with other service providers, our pricing is very cheap. Apart from this server cache, we offer many premium features to all our subscription plans.
So if you have already subscribed to Rovity’s hosting plans, then you have already completed Step 1. If you have not yet subscribed, you will need to subscribe to our plans to start seeing your WordPress website leap into the skies.
We have a monthly plan as low as 149 Indian rupees. To initiate the test, you don’t need to change the Name Server of your primary domain and migrate the original files to the Rovity account. Once you subscribe to any plan, you need to contact us through our live chat or support ticket. And then, we will clone your existing WordPress website into one of our test domains. And then, you can compare both of the websites in real-time.
If you do not see a significant improvement, cancel the subscription, and we will give you a full refund. If you find that the test domain works much better than your original domain, then take action and migrate your website permanently to our premium infrastructure.
You see, you will not lose anything, but once you are satisfied, you will give your WordPress the boost that it deserves. At the same time, you will also reduce your monthly hosting expenses significantly.
So now I assume that you have already subscribed to one of your preferred plans and now let us go to step 2.
Step 2 – Change the PHP Mode
This second step is crucial, and you must follow the sequence correctly. That means do not skip this step and go to the 3rd step.
Okay, now I want you to log into your DirectAdmin control panel. Once logged in to your DirectAdmin control panel, make sure you have changed the preferred domain name.
Suppose if you have subscribed to our Gold or Diamond plan, you will have the option to add additional domains to your single DirectAdmin account.
So click on the domain drop-down menu at the top and choose the domain you will work with now because the changes we will do will apply to that particular domain only. So it would be best if you double-check the domain you selected.
Now, click on the Change link next to the PHP Version. You can refer to the above screenshot.
When you click on the Change PHP Version link, the PHP Version selector popup will open. Here in this popup window, you can see 2 PHP versions.
PHP X.x lsphp and PHP X.x php-fpm.
These aren’t just the PHP versions; we are changing the PHP mode here.
So, you must switch to php-fpm, which means do not use lsphp.
Click on the Save button, and DirectAdmin will change the PHP mode to PHP FPM.
Once you have changed the PHP Mode/Version, we can go to the 3rd step.
Step 3 – Add Nginx Templates
Our next step is to enable Nginx-powered server-level caching. Rovity’s engineers have configured a sophisticated Nginx-powered caching mechanism for most CMS available on the market.
Previously Nginx wasn’t an option on a shared hosting server because Nginx will not honor your .htaccess rules. So most WordPress plugins and themes may not work as per their expectations. Because these plugins, especially the caching plugins, required write access to the .htaccess file to insert their configuration rules.
With our setup, you can now have the power of Nginx, and at the same time, you can use the .htaccess file. Both will work hand-in-hand, so you are not leaving anything behind. You are fully compatible with your current WordPress configuration and group of themes and plugins.
So now click on the Nginx URL Rewrites icon under the Advanced Features category. You will then see the Nginx Templates page.
The foundation of this powerful caching mechanism will happen here. If you are new to this page, the page will look almost empty.
So first click on the Enable button, and then see the Add Template button. Please note that you will not see this button unless you click on the Enable button first.
When you click on the Add Template button, you will see a new popup window.
Leave the Location field as it is.
Now click on the Template drop-down and select WordPress (FastCGI Cache). Make sure you haven’t chosen just WordPress. It must be WordPress (FastCGI Cache).
Now click on the Add Template button inside this popup.
Once you are done with this, our Nginx-powered server caching engine will start caching your WordPress site. Please note that our system will only cache the cacheable pages. That means our system won’t cache dynamic pages like your WordPress admin dashboard.
Rovity offers free CDN with 74+ PoPs around the globe, and we use this to serve static assets like JavaScript, CSS, fonts, images, etc. This will speed up your website even more.
So in most cases, nothing will break, and unlike other solutions, the public will not see your admin menu bar.
Step 4 – Enable Purge in Your WordPress Admin Dashboard
So with step 3, the server cache will be working fine now.
And you must be wondering how do you purge the cache? Will it automatically purge the cache when you update a page or post? Or do you need to explicitly click on any button for every change you made to get the cache cleared?
Well, that is all about Step 4. So to work on Step 4, you will need to log in to your WordPress admin dashboard.
We will now install a plugin that will allow us to purge the cache manually and automatically. So whenever you update an existing page or post, the cache will purge automatically and instantly. You don’t need to click any button to get rid of the current cache.
Do you love it? I’m sure that you will love it.
So once you have logged into your WordPress admin dashboard, go to the Plugins menu and click on Add New. And in the search field, type Nginx Helper and then see the Nginx Helper plugin from rtCamp.
Now click on the Install button and then Activate it.
Rovity offers one-click WordPress installation to all of our subscribers. So if your WordPress website is installed using our one-click installer, then most probably, it will already install this plugin.
Once you’ve activated this plugin, go to the Settings menu and click on Nginx Helper.
We will use this plugin mainly for purging caches, as most of the caching and other management happens at the server level. So you don’t need to configure this plugin much.
Tick the Enable Purge field and click on the Save All Changes button.
You might see many other options, and most of them are pre-selected. I recommend you leave those settings by default.
We have now successfully configured our WordPress website with the Nginx server cache. I am sure that your website will load much much faster than before.
The following sections will show you how to test the website’s speed as a human user. I will cover the limitations of this caching method and a couple of other tips and tricks to squeeze the best out of it.
How to Test Your WordPress Speed After Enabling the Cache
You must be familiar with testing website performance with various tools such as Google PageSpeed Insights, GT Metrix, etc. But we will not test the website by choosing such automated tools. Instead, we will test the actual speed of the website as a visitor.
How do you know the page is starting to load and has finished loading when you access a web page? If it is not loaded, you will see a complete white blank screen, and while loading is in progress, you will see the images, fonts, etc., popping up. And you will see the spinner with circle animation stopped spinning.
By seeing this, you will be sure that the website is not loading anymore and the loading is finished.
This is how a regular user sees and experiences the loading of any website.
In the below video, I have tried to demonstrate this speed test method, so I recommend you to watch it, and you will get a better idea, and you can test it yourself.
Remember once again, we are optimizing the website speed for humans and not for bots and testing tools.
Frequently Asked Questions
Below, I will have a quick FAQ to help you understand some of your questions. That will give you an overall idea about what to expect when working in certain conditions.
If you have any additional questions, you can contact us through our live chat, and we will help you answer them.
Will It Work With WooCommerce and Speed It Up?
No, our server cache won’t cache most of the WooCommerce places.
The reason is that WooCommerce won’t allow any caching mechanism to cache it. WooCommerce is a highly dynamic section of your WordPress website. It has a cart, check-out, personalized products, payment information, and many things specific and private to a particular user.
So no matter what caching you are using, you cannot cache WooCommerce or similar modules.
However, once you enable the Nginx template, your WordPress admin dashboard and WooCommerce section on the front end will load much faster.
Will It Work on a Subdomain?
No, it won’t work on a subdomain. You must have WordPress installed on the root domain.
That means you can’t get it to work on blog.example.com or even www.example.com. It will work only on example.com.
Are you currently using the www version of your site and not the naked domain? Then it would be best if you switched to example.com from www.example.com. If you are unsure about making these changes, contact us, and we will help you with that.
Can I Use Google Fonts and Analytics?
You can use Google Fonts and Google Analytics; both will work flawlessly.
Suppose you are currently using Google Fonts through the Google network and analytics such as Google Analytics directly from them. In that case, I strongly suggest you consider locally hosting them.
Let me give you a use case here to understand how it will affect the user experience. Suppose you have used Google Fonts like you usually do and everyone else does. In that case, when someone accesses your website, the browser needs to contact the Google server to fetch necessary files such as the CSS file and fonts.
Their browser needs to contact multiple Google-owned domains and download so many files during this process. All of these operations will take more time to finish. Their browser will still show the loading spinner icon until these processes are completed. So you or your visitors will still think that your website is still loading.
So this is a generic question and not specific to this server cache. It would be best to host Google Fonts and Analytics on your server whether you are using WordPress or another CMS or hosted on Rovity or anywhere else.
This will help you reduce the overall loading time and eliminate contacting external services.
In short, the more external services you are using, the slower your website will finish its loading. So please host those assets locally on all your servers. Most popular caching and performance optimization plugins will help you host Google Fonts locally without doing anything manually. And it will work flawlessly.
These plugins will also help you host analytics scripts locally, so you are good to go here.
Or you can use a dedicated plugin like OMGF | Host Google Fonts Locally to host the Google Fonts locally. And you can use CAOS | Host Google Analytics Locally to host Google Analytics locally.
In addition, since GDPR is in place, most countries prohibit using Google Fonts and Analytics. And technically, there are no advantages to using them directly.
Can I Use Other Caching Plugins?
Yes, and you should.
I recommend you combine your existing caching plugin with our server caching. Because popular caching plugins are good at optimizing things, reducing the bloat, delaying unnecessary JavaScript files, and removing unused CSS files. There are many other options and features that you can fine-tune for your WordPress website.
So when you combine your preferred caching plugin and our server cache, you will get the best of those two configuration setups. Let your visitors enjoy a much faster WordPress experience. So let us use everything to achieve the best possible performance enhancement for your website.
And let me confirm that our server cache just caches already compiled HTML files; it won’t do other optimizations like minification, delaying, etc.
Will It Purge the Cache Automatically?
This plugin will indeed purge your cache if you have followed Step 4 in this guide. So if you do not see the updated pages and posts when you refresh them, please make sure that the plugin is already installed and enabled the purge cache feature.
Whenever you hit the publish or update button on any page or post, our system automatically and instantly clears the cache. So you can see the changes as soon as you update the content.
However, suppose you use an additional cache layer like your existing caching plugins. In that case, you need to ensure that cache is removed correctly and on time. If you somehow still experience any cache mismatch, feel free to contact our Technical Support team, and we will investigate this further.
Summary
Speed and performance are crucial to providing a better user experience in this highly competitive world. Using PHP-based caching plugins isn’t enough for a superfast-loading WordPress site.
Because PHP-based application-level caching is not fast for your visitors, it is optimized only for speed testing tools. The answer is to have server-level caching with an intelligent purging mechanism.
Rovity offers a cutting-edge solution that will load your WordPress website within a few milliseconds. We can make your WordPress website as fast as a rocket by migrating to our cloud-based Nginx-powered hosting infrastructure. Our solution will also help you cut down your hosting subscription fee significantly.
If you haven’t tried it yet, I welcome you to try it. We have a very affordable monthly plan, and experienced WordPress engineers are here to help you.