We’ve transferred many stores in the last few months from shared hosts and WordPress hosts to our Google Cloud servers. While the improvement is seen immediately after the transfer, some stores are still too slow after transfer. There’s a limited amount of money that’s worth spending on your server before you need to look into your WordPress installation. We’ve seen poorly configured installations that can gobble a massive amount of resources with barely any visitors.
As an example: we host a store running on the Market plan (300 CPU, 2GB RAM) that’s easily processing more than 20 orders per day, every day. Then, there’s a store barely running on the Supermall plan (800 CPU, 4GB RAM) that’s processing less than 20 orders per month.
A lot of it comes down to the number of plugins and your store configuration.
If your store is small and poorly configured, the problems will only get worse when your traffic increases. It makes sense to invest time in optimization early.
We’ll cover the most common performance mistakes we found in these last few months. We’ll start with the easy and then slowly go to more complex solutions, and then we’ll also add a few tips on how to additionally improve your site speed.
Mistake #1: Too many plugins
This one is really easy – install as few plugins as possible. If it’s not critical, don’t install it. Not only does this help with page speed, but it also simplifies maintenance and troubleshooting.
And we’re mentioning this only because we’ve seen it: do not use multiple plugins for the same function, and especially not caching plugins.
What’s a good limit? If you’re building a new store, limit yourself to 20 plugins. From our experience, a store with 50 plugins is going to require a lot more resources, and with 70+, you’re looking at a top tier plan just to load it in a decent amount of time, not even counting for traffic.
We urge you to stop at 40. Besides performance, the number of conflicts and maintenance issues that are going to start popping up after that is just not worth it.
Mistake #2: No pagination
We’ve seen stores that list hundreds of products on the shop and category pages. This might even work when your store is without traffic, but it will grind your server CPU to a halt with an increase in visitors.
Limit your lists to 15-20 products per page. Do the same in your admin area.
Mistake #3: Uploading large unoptimized images
Don’t upload 5MB images to your store. Even large 2500px images can be below 500KB if you optimize and smush them.
Mistake #4: Too many external scripts
If you run three web analytics plugins, two for chat, and one for email opt-in, and they all load external scripts, then your load time will obviously suffer.
First, remove everything that is not critically necessary. You only need one web analytics and one chat.
The second step is to delay the non-essential script loading. You can do this with the plugin Flying Scripts. It’s straightforward to configure, and you’ll see the improved result immediately.
Mistake #5: Using a bloated theme
While all-in-one themes are trendy, unfortunately, they’re also very bloated. While authors usually show-off their demo themes with A/A 100 tests, the one you install out-of-box is going to be a mess. If you start with a slow theme, it’ll be tough to improve the load time without significant work.
We recommend you stick with simple themes, focused on those that support WooCommerce out-of-box. Currently, we recommend the official Storefront, Astra, or Suki. Take a look at our speed benchmark tests for WooCommerce Themes.
Tip #1: Official lazy load plugin
We can expect lazy load in one of the future WordPress versions, but until then, there’s an official test plugin. While it might cause issues for some sites, it’s worth testing it on your store. We’ve seen good results from our internal testing with the Astra theme.
Download Lazy Loading Feature Plugin.
Tip #2: Disable
This is a script that checks the WooCommerce cart content. By default, it checks them for all visitors, no matter if they have something in the cart or not. This can slow down your store.
You can disable this script with the plugin Disable Cart Fragments. This does not impact visitors that have a product in the cart.
Tip #3: Use Gutenberg for page building
This is a controversial opinion, but we think you should skip page builders and go with Gutenberg for your store. We’ve seen significant improvements on load time when page builders are removed. Gutenberg has come a long way since launch and you can build some pretty amazing pages with it.
Since mobile sales are expected to rise to 54%, unique and complex design is getting less and less important because it all needs to translate to a very simple page on mobile.
More tips coming soon!
We’ll keep updating this blog post with new tips and mistakes. Keep checking in!