This tutorial shows you how to speed up WordPress with WP Super Cache plugin + Cloudflare CDN. WP Super Cache plugin will generates static HTML files from your dynamic WordPress blog and stores the static HTML for visitors to browse.
The VPS used in this article: DigitalOcean (1GB RAM, 1 vCore)
Get $100 of free DigitalOcean credits if you sign up through this link!
LEMP stack used in this article: WordOps
Note: WordOps has provided the best combination of Nginx FastCGI Cache + Redis Object Cache, this article is only used to test the performance of WP Super Cache.

Operating System: Ubuntu 20.04
Please add your domain name to Cloudflare in advance.
Please resolve your domain name to an IP address in advance.
Demo domain: 9.blogwp.ovh
Please replace 9.blogwp.ovh with your own domain name.
You can read this article for a detailed installation of WordOps

1、Install WordOps
wget -qO wo wops.cc && sudo bash wo
root@ubuntu-s-1vcpu-1gb-nyc3-01:~# wget -qO wo wops.cc && sudo bash wo
Welcome to WordOps install/update script v3.13.2
Installing wo dependencies [OK]
Installing WordOps [OK]
Running post-install steps [OK]
WordOps (wo) require an username & and an email address to configure Git (used to save server configurations)
Your informations will ONLY be stored locally
Enter your name: blogwpwpblog
Enter your email: [email protected]
Synchronizing wo database, please wait...
WordOps (wo) installed successfully
To enable bash-completion, just use the command:
bash -l
To install WordOps recommended stacks, you can use the command:
wo stack install
To create a first WordPress site, you can use the command:
wo site create site.tld --wp
WordOps Documentation : https://docs.wordops.net
WordOps Community Forum : https://community.wordops.net
WordOps Community Chat : https://chat.wordops.net
Give WordOps a GitHub star : https://github.com/WordOps/WordOps/
Note:
Please replace blogwpwpblog with your own name
Please replace [email protected] with your own email
2、Install WordPress + WP Super Cache
wo site create 9.blogwp.ovh --wpsc
root@ubuntu-s-1vcpu-1gb-nyc3-01:~# wo site create 9.blogwp.ovh --wpsc
Start : wo-kernel [OK]
Adding repository for MySQL, please wait...
Adding repository for NGINX, please wait...
Adding repository for PHP, please wait...
Updating apt-cache [OK]
Installing APT packages [OK]
Applying Nginx configuration templates
Testing Nginx configuration [OK]
Restarting Nginx [OK]
Testing Nginx configuration [OK]
Restarting Nginx [OK]
Configuring php7.3-fpm
Restarting php7.3-fpm [OK]
Tuning MySQL configuration [OK]
Restarting mysql [OK]
Running pre-update checks [OK]
Setting up NGINX configuration [Done]
Setting up webroot [Done]
Downloading WordPress [Done]
Setting up database [Done]
Configuring WordPress [OK]
Installing WordPress [OK]
Installing plugin nginx-helper [OK]
Installing plugin wp-super-cach [OK]
Testing Nginx configuration [OK]
Reloading Nginx [OK]
HTTP Auth User Name: WordOps
HTTP Auth Password : WmBiAKDNbueGtHJ78C4exJ0r
WordOps backend is available on https://161.35.177.208:22222 or https://ubuntu-s-1vcpu-1gb-nyc3-01:22222
WordPress admin user : blogwpwpblog
WordPress admin password : iEhjsWzdwScHZXQCVON0kxoU
Configure WPSC: http://9.blogwp.ovh/wp-admin/options-general.php?page=wpsupercache
Successfully created site http://9.blogwp.ovh
3、Install WP Super Cache plugin
WP Super Cache plugin settings
3.1 Click “Easy” tab, select “Caching On”, click “Update Status”
3.2 Click Test Cache
3.3 Click “Advanced” tab, check “Enable Caching”, select “Simple” cache delivery method, select “Disable caching for logged in visitors”, check “Compress pages so they’re served more quickly to visitors”, check “Cache rebuild. Serve a supercache file to anonymous users while a new file is being generated”, check “304 Browser caching. Improves site performance by checking if the page has changed since the browser last requested it”, click “Update Status”
Set “Cache Timeout” to 3600 seconds, click “Change Expiration”
3.4 WP Super Cache offers an option to use CDN on the CDN tab. But in this tutorial i didn’t use this feature. I recommend use Cloudflare, it has a free plan with fast CDN and security features.
3.5 Click “Preload” tab, set “Refresh preloaded cache files every 7200 minutes”, check “Preload mode”, click “Save Settings”
3.6 Manually delete cache, cick “Contents” tab, click “Delete Cache” button.
4、Cloudflare CDN Settings
Click the ‘Speed’ section, click the Optimization tab, turn Auto Minify on, toggle the Brotli switch to On.
Click the ‘Caching’ section, click the Configuration tab. Under Browser Cache TTL section, set the option to Respect Existing Headers.
Click the ‘Network’ section, toggle the HTTP/3 (with QUIC) switch to On, toggle the 0-RTT Connection Resumption switch to On, toggle the gRPC switch to On, toggle the WebSockets switch to On.
5、WP Super Cache Load Testing
Load Testing Tool: loader.io
Load Testing Type: Clients per second and Maintain client load
Twenty Twenty-One theme
Use “FakerPress” plugin to generate 300 posts and 1500 comments.
5.1 Download the verification file
5.2 Upload the verification file. When use WordOps, the verification file of loader.io need to be uploaded to /var/www/9.blogwp.ovh/htdocs
5.3 Click “Verify” button, shows “Congrats, target verification passed!”
Load Test after enable WP Super Cache
250 clients per second in 1 minute, the average response time is 16 ms.
500 clients per second in 1 minute, the average response time is 16 ms.
750 clients per second in 1 minute, the average response time is 16 ms.
1000 clients per second in 1 minute, the average response time is 16 ms.
1500 clients per second in 1 minute, the average response time is 16 ms.
2000 clients per second in 1 minute, the average response time is 16 ms.
2500 clients per second in 1 minute, the average response time is 16 ms.
3500 clients per second in 1 minute, the average response time is 16 ms.
4500 clients per second in 1 minute, the average response time is 17 ms.
5500 clients per second in 1 minute, the average response time is 17 ms.
6500 clients per second in 1 minute, the average response time is 18 ms.
7500 clients per second in 1 minute, the average response time is 162 ms.
8500 clients per second in 1 minute, the average response time is 1281 ms.
10000 clients per second in 1 minute, the test was aborted because it reached the error threshold.
Load Test (Maintain client load) after enable WP Super Cache
From 0 to 250 clients in 1 minute, the average response time is 22 ms.
From 0 to 350 clients in 1 minute, the average response time is 17 ms.
From 0 to 450 clients in 1 minute, the test was aborted because it reached the error threshold.
Note:Depending on the blog environment (plugins and various settings ), the load testing results will vary.
Speed Tests Results
GTmetrix:
PageSpeed Insights:
The speed optimization method can be summarized as: WP Super Cache plugin + Cloudflare CDN
If you have any questions, please leave me a comment.