Many website owners find their websites extremely slow and immediately head to Google for answers, tips, and tricks to improve performance. They usually end up with well-promoted PageSpeed Insights and GTmetrix tools.
PageSpeed Insights is by Google so it’s great?
If Google made something distantly related to performance and having the word “speed” inside the name – what do you expect Google to return in search results? Of course, it will show you their very own PageSpeed Insights and you will think it’s the only, most complete, and most of all accurate(?) website performance benchmarking tool ever made!
The same thing in regards with Gtmetrix – if something is popular it can’t be possible it’s a bad thing, right?
BUT…
Just like PageSpeed Insights, it’s a good tool only for those people who want to get scores only. After all the changes, after all the optimizations they do – they are left alone with the site that is slow as before. The change you get in real perceived performance after following their recommendations is negligible. All you get is a score that you think is decent, but your website visitors think otherwise – You scored 95 on PageSpeed Insights? congrats! your website is still loading for 10 seconds? I don’t think your website visitors will congratulate you with your “decent” score then.
And to add insult to an injury, with all those amazing optimization recommendations coming from these 2 tools – website owners end up with a website that breaks every time WordPress / Magento / you name your CMS here are updated to another new version.
There are very serious issues with both tools. If you understand those, you will know that these tools should not be used for anything other than bragging about your own stupidity:
They are not really telling you the reason why your website is slow
Both tools report frontend issues whereas the most common performance issue are backend performance configuration of the software and hardware that is running the website. You can minify assets, enable Expires headers, Gzip compression, etc., etc. only to find yourself with the same slow website that you had before you ever hit Google for answers.
But how can you really get a faster website if not through the use of those tools?
Hosting plan
First of all, consider the hosting plan that you are running your website from.
Are you paying $5/month for shared hosting at Godaddy or Dreamhost? Why would you expect ANY performance paying that much? Even then, the same amount can get you VPS server from prominent cloud providers like Vultr, Linode or DigitalOcean. And then you can achieve a somewhat decent performance for this budget.
This is due to the nature of hosting types. With shared hosting like Godaddy, your website performance depends on low-end hardware and the popularity of websites hosted by other clients on the same server. This is not the case with VPS servers. You get a more fair share of physical machine resources. But mind you, dedicated servers are still the best option if you seek ultimate performance.
Will PageSpeed Insights and GTmetrix tell you that your hosting is no good? No, they won’t. They will make you do all those silly client-side optimizations in vain – those things that for sites like WordPress and Magento, make little to no sense. Because their performance is bound by the server, server and nothing but server.
Switching to VPS (virtual private server) hosting plan is only the first step in getting a well-performed website.
Server Software Issues & Real Optimization
Now what PageSpeed Insights and GTmetrix will never tell you, is how you can optimize your software. Simply for the fact that they can’t SSH into your server to tell you what issues you have.
Neither they can tell you what is the perfect setup for your website. Below you can find the real problems to slow performing websites in most cases:
No full page cache configured in PHP website
Doesn’t matter if you are using WordPress, Joomla, Symfony framework website, or anything different. There is always a need to use a full-page cache solution. For instance, with WordPress, you may be using W3 Total Cache, and Joomla has its own caching. Without full page cache, it is hard to achieve good performance, unless you have a high-end server running your website.
Varnish Cache is the best open-source solution for a Full Page Cache implementation.
cPanel, DirectAdmin, or other panel crap is plaquing the server
cPanel is a very limiting factor in your web server stack. In fact, its creation pre-dates all the amazing software like NGINX and Varnish.
For these reasons, the best solution is to start your server with a clean LEMP stack that has no control panel whatsoever.
Seriously, don’t think about any panel if you are up for great performance.
MySQL is not tweaked
MySQL configuration must be optimized for it to open its maximum performance potentials.
Take note that shared hosting plans won’t let you do any tweak to MySQL configuration, to begin with.
Otherwise, use mysqltuner
, it’s a great little utility that doesn’t require much knowledge.
No PHP accelerator installed
You should always install and make use of the PHP accelerator OPcache.
Disable timestamps validation and set it for faster CLI (cron jobs) too.
Apache is used
Yes, it is still a popular web server software. But NGINX beats it in terms of performance, same like a plane is faster than a ferry for transportation 🙂
That major performance win contributes to the fact that NGINX has become the most popular web server software in the world!
Remove Apache and install NGINX. You will have all the same features of a web server, with low memory impact and incredible speed.
Hardware issues
HDD is slow
There is no reason not to use a server that is powered with an SSD drive. If you know the difference between the Windows operating system running off plain HDD vs SSD in terms of boot time, you know what kind of performance difference you can gain with a server that is using SSD. Learn how to test SSD speed on a VPS.
As of recently, there are also no excuses not to run with the next-gen NVMe drives. These are times faster compared to regular SSD drives. It is a sound option that is available with dedicated server offerings by OVH.
Low RAM
There is NO guaranteed RAM for your website on shared hosting, it will underperform always. Consider ordering a VPS with at least 2GB of RAM for a busy website.