Oxyforge

Help Centre / Tips And Tricks

Five Ways To Speed Up WooCommerce

A WooCommerce shop is heavier than a brochure site and there is no way around that. A brochure page is the same for every visitor, so it can be served from cache and be done with. A shop has a cart that belongs to one person, a checkout that must be correct to the penny, and a product catalogue that changes. Some of it has to be worked out fresh, every time, by PHP and the database.

So the honest version of “speed up WooCommerce” is not a plugin you install. It is five things, roughly in the order they pay off.

1. Fix Your Product Images First

This is the big one and it is nearly always the first one. A product photograph straight from a camera is several megabytes. A category page showing twenty of them is asking the visitor to download more than most websites weigh in total.

Resize before you upload. For most shops nothing needs to be wider than about 1,500 pixels. Export as JPEG at around 80% quality, or as WebP: a 4 MB photograph that becomes 180 KB looks identical on screen.

It is worth going back through an existing catalogue. The work is dull and it pays off in page speed, in your bandwidth and in your storage at once.

2. Understand What Is Already Done For You

Two of the usual WooCommerce performance jobs are handled by the platform, and doing them again by hand makes things worse rather than better.

JobWho does itWhat you should do
Caching repeated database queriesRedis object cache, always onNothing
Caching whole pages for visitorsThe built-in full-page cacheNothing
Keeping cart, checkout and account pages out of the page cacheThe platformNothing
Serving images and scripts from near the visitorCloudflareNothing

That third row is the one shop owners worry about, and with reason: a cached cart page would show one customer another customer’s basket. It does not happen here, because those pages are kept out of the page cache already.

In practice this means a caching plugin has no job to do on this platform. It adds its own rules on top of ours, and the usual result is a page that will not update or a checkout that behaves oddly. Take it off. See how caching works.

3. Trim The Session And Log Tables

WooCommerce writes a row for every visitor session, whether or not that visitor buys anything. Several popular extensions write a log row for every action they take. Over a year on a busy shop these tables grow to many times the size of the orders table, and every query that touches them gets slower.

Clearing them is routine maintenance, not surgery. Check the Backups tab shows a recent restore point, or take your own copy with wp db export over WP-CLI, then clear expired sessions and old logs. WooCommerce has a scheduled task for sessions that does not always keep up on a shop that gets a lot of browsing and few orders.

Old post revisions are worth the same treatment while you are there. A product description edited thirty times carries thirty copies.

4. Count Your Plugins, Then Count What They Load

Twenty plugins is not automatically a problem. One plugin that loads its stylesheet and two scripts on every page of the site, including the checkout, in order to run a contact form on one page, is a problem.

Go through the list and ask two questions of each one. Is it doing something you still want? And does it need to load everywhere, or only on the page it belongs to?

Look hardest at page builders, slider plugins, and anything installed to solve a problem you have since solved another way. Deactivating is not enough for the ones you have finished with, because a deactivated plugin still takes up storage and still needs updating. Delete them.

5. Test On Staging, Never On The Shop

A shop is the one kind of site where an experiment costs money directly. A broken checkout for two hours on a Saturday is lost orders you will never know the size of.

Create a staging site, make the change there, place a test order, and only then do it on the live shop. That applies to plugin updates, theme changes, payment gateway settings and anything you are about to read on the internet and try.

Check your PHP version too, on the site’s Tools tab. The platform runs PHP 8.3 by default, with 8.4, 8.2 and 8.1 selectable. If a shop was moved from an old host and dropped to an older version to get one stubborn plugin working, getting that plugin updated and going back to 8.3 is speed you do not have to pay for.

A Word On Plans

A shop uses more of everything than a brochure site: more storage for product images, more bandwidth from people browsing, more database work per visit. Build will run a small shop with a modest catalogue. If you are selling seriously, a shop is happier on Grow or above, mostly because of the room for images. See pricing.

If It Is Still Slow

Work out whether it is slow for everyone or slow for shoppers. A category page that is slow on the first visit and fast afterwards is the page cache doing its job. A cart or checkout that is slow every time is PHP and the database, which is where the first four points above apply.

See why is my site slow for how to narrow it down, and open a ticket from the members area if the numbers do not add up.

Did this answer it? If not, open a ticket from the members area and someone who runs the platform will pick it up.

Open A Ticket