I am a website speed and performance freak who always try to find a better alternative. If I encounter any better alternative for the existing setup, then I switch it. That’s the reason why I switched from Yoast to RankMath as a part of the SEO effort.
In a quest for finding alternatives, I could hardly find any websites or blogs that post about the site’s speed, optimization, and performance review. That’s when I thought I could personally do and share on this blog. It will help you and me in choosing the best.
Initially, I thought that I would test on a good premium server, but I found that most of the new bloggers prefer to start at a low budget and eventually scale. Hence, I made the test setup on low-grade hardware that is generally offered by most shared hosting at a relatively cheap price.
This setup will help in gauging the performance upgrade after using any plugins or server-side optimization. Hence, I will be using the same setup across the board for speed, performance, and load tests.
Now I know the fact that there will be progressive upgrades over the period of time that will boost the performance – if I found any major upgrades then I will update with new changes.
Test Server Configuration
I am using the LEMP stack server which isn’t optimized, just a normal installation without any performance tweaks. Here are the details of server configuration as of April 1, 2021:
- Linux: Ubuntu 20.04
- Web Server: Nginx
- Database: MySQL 8.0
- Process Manager: PHP 7.4
- Disk Type: Mechanical Hard Disk (HDD)
Just in case you want to configure the server-side optimization, you can read through my powerful LEMP stack setup. This is the same LEMP setup I’m using for powering a $6 DigitBin server hosting 6M+ pageview/month.
Note: there are no gzip, compression, expiry headers, security, or any nginx snippets on this test server. I do have root access via SSH which makes things a lot easier.
Test WordPress Setup
I’ve made a normal WordPress installation without any performance optimization. You can read through this WordPress on Cloud setup guide which has I few optimization steps, but I ignored them which creating this test rig.
I’ve also installed the basic WP plugins and bloated them with the few most popular plugins to make the setup realistic. Here is the list of plugins running on this test site:
- Contact Form 7
- Cookie Notice & Compliance for GDPR/CCPA
- Download Manager
- Easy Table of Contents
- GA Google Analytics
- Rank Math SEO
- WP Sitemap Page
- WPForms Lite
I haven’t installed the Classic Editor since it’s eventually going to be discontinued. Hence, sticking with the new default Glutenberg Editor. The front-end theme and appearance setup are under the next section – WooCommerce setup.
Note: These installed and active plugins are not manually configured for the best. I just left with whatever the default settings the plugin has offered.
Test WooCommerce Setup
Coming to WordPress theme and appearance, I thought of using a popular theme that even supports WooCommerce. I found the Astra Theme (free) which has huge popularity and positive reviews.
I quickly installed the Astra theme and also used their Starter Templates to import a complete dummy WooCommerce site with dummy data. This has made the front-end setup really simple with few clicks. This is how the front-end store page looks like:
This has also added few more plugins to mention and has bloated the test setup well enough.
- Starter Templates
- WooCommerce Cart Abandonment Recovery
You can check the overall storefront performance in the following section.
Test Blog Post
Not every WordPress user runs the WooCommerce store, instead, most of them prefer it for just simple blogging. Hence, testing as a blog post page makes more sense. Hence I created a test blog post with more than 2000 words, images, sidebar, and embedded few third-party elements like YouTube Video, and Tweets.
This made the page size close to 5MB, which I think is heavy but realistic for an unoptimized page. Here is the cropped section of the page that included text and embedded tweets.
The content is copied from the Wikipedia page and the site is set to noindex meta even blocking search bots with robots.txt file.
Test Server Performance
Now that the server and site are running at bare minimum resources, it’s time to run the test on speed and performance tools. This will give an idea of how the unoptimized site and server performance results look like.
I’ve performed three tests on each of these testing tools and considered the 3rd test as the final result. The CPU and Memory performance were taken from the SSH login using the htop command after performing a load test with 20 simultaneous unique visitors.
I’ve done a thorough test of blog post page here:
I know that speed and performance results are very poor since I haven’t made any optimization. I want to keep it this way so that I can get the comparison between unoptimized vs. optimized changes made with WordPress plugins or server configuration.
I haven’t tested for the WooCommerce product page, but I believe it will be somewhere on similar lines. However, here are the results for the WooCommerce demosite home page.
Generally, the site homepage is not bloated with heavy scripts from the plugins, the performance is better than the blog post page. We can confirm the above results that the homepage has slightly better performance.
I also ran a similar test for comparing the performance impact using HDD server vs SSD server, you can read the comparison between HDD vs SSD hosting server performance for the above test setup. This will give an idea about the performance difference between shared hosting and SSD cloud VPS.
Conclusion: WordPress and WooCommerce Test Setup
This is my complete WordPress and WooCommerce setup for testing plugins and optimizations. I will keep posting results after testing any product or services on this test rig.
I know it’s not a perfect test setup, but just to mimic an unoptimized site and server, however, I am happy to receive feedback if you think I need to make any changes or add anything else.
I will also be using the Query Monitor plugin to check the MySQL database calls from the site. However, anything else is highly appreciated.
If you've any thoughts on My Standard WordPress and WooCommerce Test Setup, then feel free to drop in below comment box. If you find this article helpful, please consider sharing it with your network.
Also, please subscribe to our restoreBin YouTube channel for helpful videos.