Your WordPress or WooCommerce site is slow
A WordPress site that gradually slows down usually doesn’t have a single cause: it’s often a build-up of plugins, a database that’s never been cleaned, and a cache that’s missing or misconfigured. I measure before fixing, not the other way round.
Signs that justify an audit
- Load time increasing over the months with no obvious change
- WordPress dashboard slow to open, even for simple actions
- WooCommerce product page or cart slow to display
- Poor Core Web Vitals score despite decent shared or dedicated hosting
- Slowdown only during traffic spikes
How I measure before stepping in
-
Query profiling
I use a profiling tool (such as Query Monitor) to list the SQL queries run per page, their number, and which plugins trigger them.
-
Auditing the wp_options table
I check the size and content of autoloaded data in wp_options: badly uninstalled plugins sometimes leave several megabytes there that load on every page.
-
Checking the cache
I check whether a page cache and an object cache (Redis or Memcached if available) are in place and correctly configured.
-
WooCommerce-specific analysis
On a shop with a sizeable catalogue, I check the weight of wp_postmeta, which stores product attributes as key-value pairs and can seriously slow catalogue queries if it grows without proper indexes.
-
Checking the server
I check the PHP version, whether OPcache is enabled, and the execution mode (PHP-FPM rather than classic CGI), which directly affects response time.
What I fix most often
The most common case on WordPress is a build-up of active plugins that aren’t really used any more, each adding its own queries and scripts to every page, even when the feature isn’t visible. Disabling what’s no longer needed often has more impact than a complex technical optimisation.
On WooCommerce, the metadata-based data model (each product attribute is a row in wp_postmeta) becomes a performance problem as the catalogue grows, particularly on filtering and search pages. I add targeted indexes or review the costliest queries depending on the case.
Finally, transients (temporary data stored by WordPress) that aren’t properly cleared sometimes pile up by the tens of thousands in the database without ever expiring correctly, weighing down every query that touches the options table.
Worth reading next
-
Diagnosing a slow shop
How to measure before buying anything.
-
Clearing the WordPress cache
The caching layers and the order to clear them in.
-
A very slow WordPress admin
A slow dashboard doesn’t share the causes of a slow storefront.
-
Optimising product images
Almost always the heaviest part of a product page.
Describe your need in one minute
A few targeted questions so I can reply with an estimate rather than another questionnaire.