Common WooCommerce mistakes impacting your store performance

Last updated on 2020/10/26


by Dejan Murko

Featured post image

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.

Mistakes with WooCommerce Performance

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 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.

Mistake #4: Too many external Javascripts

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.

The second step is to delay the non-essential script loading. You can do this with the plugin Async Javascript or Flying Scripts (load on visitor interaction). Both are 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. 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.

Tips for WooCommerce Performance

Tip #1: Disable wc-ajax=get_refreshed_fragments

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!

Learn How to Speed up Your WooCommerce Store

The best tips for the 80/20 results/effort ratio.