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 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 and embedding 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.
When building a page with a page builder, make sure you’re embedding the smallest image possible for a section.
Example: don’t include a full-size image for a small category link on the homepage. The store will need to load the large image even though it might be effectively shown only as a thumbnail. If this happens many times on a page, it can add easily add multiple seconds to the page load.
Run your images through EXIF data remover and lossless compressing before uploading them to your site. If you already have uncompressed images uploaded, use reSmush.it plugin. Make sure to do it overnight since it will impact your store resource usage.
When using page builders, embed images that are the correct size based on where you’re showing them.
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 suffer.
First, remove everything that is not critically necessary. You only need one web analytics and one chat.
Mistake #5: Using a bloated theme
While all-in-one themes are trendy, unfortunately, they’re also very bloated. Authors usually show-off their demo themes with A/A 100 tests, but 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: 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 #2: Use a page preload plugin
This doesn’t effectively lower page load but it makes it look fast for the visitor because it downloads all the linked pages in advance. You can also set plugins to do this only on link hover. Works great for stores with lots of pages where there the visitor browses a lot before purchasing.
One of the plugins that does this is Flying Pages. Make sure to limit the requests to 1 per second and do it on hover only as to not overwhelm your server.
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 in 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!