WooCommerce has a reputation for being slow. In practice a store on it can be fast, and what usually drags is not the platform but everything piled on top of it.
1. Product images
The most common cause and the easiest to fix. Photos go into the catalogue straight from the camera: 4,000 pixels wide and several megabytes each. The browser scales them to 300 pixels on screen but downloads all of it.
What to do: WebP, sensible sizes for where the image actually appears, lazy loading for everything below the fold, and explicit width and height so the layout does not jump while loading.
2. Thirty plugins
Every active plugin loads its own styles and scripts, very often on every page. The contact form plugin loads on product pages too.
What to do: take inventory. Delete anything unused. For the rest, restrict loading to the pages where they are genuinely needed.
3. The cart and fragment refresh
By default WooCommerce refreshes cart contents with a server request on every page. On a large catalogue that is a visible delay exactly where the visitor is deciding whether to buy.
What to do: limit that behaviour to pages where the cart matters.
4. No caching
Every visit builds the page again from the database, even though the product page changes once a month.
What to do: page caching for the catalogue and product pages. Cart, checkout and account pages must be excluded from cache. This is the standard configuration and the one most often skipped.
5. Hosting
A store on the cheapest shared plan runs into server limits. No amount of code optimisation compensates for missing CPU time when hundreds of sites share the machine.
6. A heavy builder on product pages
If product pages are assembled with a builder, the builder's weight is added to WooCommerce on every product. More on that in page builder or custom theme.
Where to start. Measure first, then change things. Without measuring it is easy to spend a day optimising something that does not matter and miss one 4 MB image in the catalogue header.
The order that gives the biggest gain
- Images: format, dimensions, lazy loading.
- Page caching with the correct exclusions.
- A plugin audit.
- Limiting cart fragment refresh.
- Hosting, if server response time is still high afterwards.
The first two usually deliver more than everything else combined.
In short
WooCommerce is slowed by images, dozens of plugins, missing caching and weak hosting. The biggest gains come from properly sized images and page caching with exclusions for cart and checkout.
Discuss your project
Tell me what needs doing and I will come back with a timeline and a price.