I Tried Everything to Speed Up this Website… Let’s See the Results

As promised in the video, here are the links to the web hosts I recommend: Rocket.net, and Cloudways.

NOTE: Some links are affiliate links, and we earn a commission should you buy. This helps support the creation of more content…

About a month ago I did a major overhaul of my website with to boost its performance. The results? Disappointing. After migrating my two-faced website to be WordPress only and switching to PHP 8, there wasn’t much of a difference.

That really annoyed me. So today I’m trying again. I received plenty of recommendations. But, will making those changes make any difference? Let’s find out…

To be clear, it’s not like the website is super slow. Actually, a lot of it is quite good:

  • Loading blog posts and the store page both take about 1s to load (when I access them)
  • An add to cart takes about 1.3 seconds,
  • However, the checkout page takes about 4.7s to be fully loaded, and the Kea Campus membership home page takes 8 agonizing seconds to load

It’s those last two that I want to change. Most pages are fast because they’re static, and can be cached in a Content Delivery Network (CDN). With dynamic pages like the checkout, the true server speed shines through.

The Recommendations

So, what can I do about it? I’ve already got caching and optimization plugins installed. I’m using Cloudflare as CDN. The database is optimized. And, I already use what’s supposed to be a fast theme. What else is there?

The remaining recommendations I received are:

  • Use a faster server
  • Minimise the amount of Javascript and other files
  • Use as few WordPress plugins as possible
  • Slow down and block bots, because overactive bots visiting your website can tax the server, and slow it down for everybody

Let’s see what I can do…

Optimizing the Website

First up is hosting. My website was on a 2-core server at Cloudways

I could upgrade to a more powerful server, but the costs are adding up fast.

So, I bit the bullet and migrated to rocket.net. I feel a bit sad to migrate from Cloudways because they’ve been great. But, it’s worth a shot.

Rocket.net use the LiteSpeed server, which I’ve been told is faster and more efficient than Apache. They use high-end servers, and Cloudflare Enterprise is included at no extra cost. All of that should add up to a fast website.

Next, I discovered that the Stripe plugin was injecting a lot of Javascript on product pages, and adding unwanted express checkout buttons. So, I disabled them via the plugin’s Express Checkout settings (it’s in the Apple Pay/Google Pay customization section).

The syntax highlighting plugin was adding all of its Javascript to every single page, whether it was needed or not. This was a bit heavy on mobile devices. So, I disabled that, and reworked all old blog posts to use syntax highlighting shortcodes instead of using the old preformatting tags.

Finally, I did my best to slow down the bots, because my server’s stats show orders of magnitude more page requests than my website analytics, with a large number going to the store account page. 

Hmm. Sounds like dead-internet theory is becoming reality…

So, I added a Crawl-Delay directive to robots.txt, to slow them down. Only well-behaved bots like ahrefs and semrush will obey that directive, but it’s worth a shot.

After that I enabled Cloudflare’s Turnstile on the login and password reset forms, in a bid to slow down the bots that are trying to brute-force hack their way in.

The Results

So, how much of a difference did all my efforts make?

WARNING: The results are different from my previous video, because Google Chrome’s performance display has changed between versions. I’m now taking the time until the initial screen is fully loaded in the graph. This is what actually matters to end users.

Here are the results:

  • Blog post loading has remained at 0.99s – no change
  • Store page loading is also unchanged at 1.0s
  • Add to cart remained at 1.3s
  • Reloading the cart page went from 2.6s down to 2.4s – slightly better, but almost the same
  • The checkout page remained unchanged at 4.7s (initial page load about 1.7s, but the cart contents and other details are loaded asynchronously)
  • And the Kea Campus home page went from 8s down to about 5.9s. Finally something that’s noticeably better, albeit still slow…

Trying Yet Again…

I tried disabling more plugins on the cart and checkout pages using the FreeSoul Deactivate Plugins plugin, and also removed the ShipStation plugin that I wasn’t using. I’m a bit embarrassed that the ShipStation plugin was still there. Those made no noticeable difference. 

I tried using Query Monitor to analyze the performance. It showed that:

  • Database queries took up only 0.043s
  • There were no outgoing API calls slowing the checkout page down. So no API calls to slow things down
  • Yet, page generation took 1.58s

So, where’s the bottle neck? 

It isn’t the speed of the server. Both LiteSpeed on rocket.net , and Apache + nginx on  Cloudways are delivering similar performance. Database queries are a tiny fraction of the total, so it’s NOT the database. And there are zero outgoing API calls to slow things down.

That leaves just the PHP script execution. It’s still slow.

I think that I’m hitting the point of diminishing returns. I’ve done everything I can think of, yet I can’t get the checkout page any faster.

The problem seems to be WooCommerce itself…

If you have a WooCommerce website, what’s your checkout page’s average loading speed? Let us know in the comments section below. Does anyone have the whole page loading in less than 2 seconds? If so, I’d love to know how you achieved that.

Conclusions

I’m a bit disappointed. All that time spent optimizing, and I have very little to show for it. It’s not all bad, though. The website is relatively fast, and seems to have less trouble with peak loads than before. Previously, it would periodically go to 100% CPU load, and be painfully slow for everyone during that time.

The checkout page actually feels relatively responsive, because the initial page load is less than 2s. The rest then loads asynchronously. The fast initial page load gives customers enough feedback to wait the extra few seconds for the rest to load.

I can recommend both  rocket.net and Cloudways as hosts. Both deliver good performance, and both their tech. support have been great. I’ll leave links to both of them in below the video. 

Just remember that rocket.net is WordPress only.

Got any ideas on how to optimize further? Leave a comment below. Otherwise, see you next time, when I’ll be back to programming and building stuff…

Leave a Comment

Your email address will not be published. Required fields are marked *

 


Shopping Cart
Scroll to Top