· 4 min read WooCommerce

Why Your WooCommerce Store Is Painfully Slow (And How It’s Quietly Killing Your Sales)

You built a good-looking WooCommerce shop and it crawls. Here are the usual reasons, from the one that is almost always the culprit to the ones people blame first.

You built a good-looking WooCommerce shop. Decent photos, sensible filters, that one plugin that lets people pay with three currencies and their soul. Then you open it on your phone in a car park and watch the spinner go round.

Roughly three seconds is what you get before a big share of visitors give up. Most WooCommerce stores we look at sit at six to twelve seconds on mobile. That is not a bit slow. That is a leak in the till.

WooCommerce is not slow by nature. It gets slow because small decisions pile up. These are the usual ones, starting with the one people blame last and should blame first.


1. The hosting

Sorry, but this is it most of the time.

You picked cheap shared hosting because "WordPress runs fine on it". It does, for a blog. Not for a shop with hundreds of products, a live cart, stock checks, payment gateways and a database that gets hit on every click. Shared hosting is a busy kitchen with one burner.

What you want: hosting built for WooCommerce, a couple of gigabytes of memory for the site, fast NVMe storage, and an object cache (Redis, ideally). The time to first byte, which is how long the server thinks before it sends anything, regularly drops from 800 milliseconds to under 200 just from this move. We go into what we run on our WooCommerce page.

2. Images the size of posters

Product photos straight from the camera. Four thousand pixels across, five megabytes each. Twenty of them on a category page. A visitor on a mobile connection is downloading a small film before they can see a single price.

Resize to the displayed size, compress, serve WebP, lazy-load anything below the fold. ShortPixel or Smush will do all of that automatically once set up.

3. Forty plugins, half of them "for performance"

Every plugin can add database queries, its own stylesheets and scripts, and PHP that runs on every page. One badly written plugin can cost a second or two on its own.

Install Query Monitor, open a product page, and see who is hammering the database. Then remove everything you do not truly need. Fewer moving parts, faster shop.

4. No caching

Without caching, every page is rebuilt from scratch for every visitor. Set up full-page caching for shop and product pages, an object cache for the database, and keep the cart and checkout out of it. A CDN for the static files finishes the job. We wrote the step-by-step version for anyone who wants the settings.

5. The theme and the page builder

That theme with eighty demo layouts loads code for all eighty. Page builders add their own on top. A lean theme and a few minutes removing unused styles usually fixes the largest contentful paint, which is the Google measurement people fail most often.

6. A database full of old sessions

WooCommerce sessions, expired transients, post revisions, spam. Clean it, optimise the tables, and schedule it so it stays clean.

7. Third-party scripts

Analytics, the Facebook pixel, live chat, embedded videos, three web fonts. Each one is another lookup and another delay. Self-host the fonts, defer the scripts, and drop the trackers nobody reads.


If you only do three things

  1. Move to proper hosting.
  2. Fix the images.
  3. Set up caching, page and object.

Those three fix most of the damage. If the shop is still above three seconds after that, you do not have a plugin problem. You have a structural one, and that is usually where do-it-yourself hits a wall.

That is the point where people call us. If the store is down rather than slow, there is a separate service for that. If it is slow and neglected, Store Rescue is thirty working days at a fixed price. Or just book a call, put the shop's address in the form, and we will have a look before we speak.