What makes a WordPress website slow
WordPress itself is rarely a useful diagnosis. Two sites running the same version of WordPress can perform very differently because the theme, plugins, database, hosting and page content create different workloads.
Plugins are a common source of overhead, but plugin count alone is misleading. One poorly implemented plugin can add more work than ten lightweight ones. The useful questions are what code runs on each request, what database queries are triggered, which assets are sent to the browser and whether those assets are needed on that page.
Page builders can add substantial markup, CSS and JavaScript, particularly when a site accumulates widgets and add-ons over time. Ecommerce introduces further work through sessions, baskets, product queries and areas that should not be cached indiscriminately.
Images and fonts can then make an already heavy page slower in the browser. At the other end of the request, slow PHP execution, database calls or an underperforming hosting environment can delay the HTML before the browser has anything useful to render.
How we approach WordPress speed optimisation
The £449 Website Speed Fix starts with measurement rather than a standard set of plugin settings. We establish the current performance, inspect the likely bottlenecks and make changes that suit the existing WordPress stack.
Depending on the diagnosis, optimisation can include:
- removing, replacing or conditionally loading unnecessary plugin assets
- optimising images, fonts, caching and critical page resources
- reducing JavaScript and CSS that delays rendering or interaction
- checking WordPress database and scheduled-task overhead
- reviewing PHP and server response performance
- testing theme, builder and WooCommerce behaviour after changes
The last point matters. A faster page is not an improvement if an optimisation has broken a menu, contact form or checkout. Script delays, cache exclusions and asset removal therefore need functional testing as well as another Lighthouse run.
You can check a page first with our free website speed test.
Caching helps, but it cannot fix every WordPress bottleneck
Caching is valuable because it can prevent WordPress rebuilding the same page for every visitor. Good page caching can reduce application work dramatically for content that is safe to cache.
It still has limits. Cached HTML does not make a two-megabyte hero image smaller. It does not stop a marketing script blocking the browser's main thread. It does not automatically correct layout shifts, remove unused plugin assets or solve an uncached WooCommerce operation.
There are also parts of WordPress where careless caching causes problems. Logged-in sessions, baskets, checkout pages and personalised content may need exclusions or different caching behaviour. Treating every URL identically can produce stale information or functional faults.
That is why WordPress performance work needs to look beyond the cache plugin. Server response, PHP, the database, the rendered page and browser execution all form part of the same request path.
WordPress Core Web Vitals and Lighthouse scores
Google's Core Web Vitals provide useful targets for the parts of performance visitors directly experience. Largest Contentful Paint measures loading of the main visible content, Interaction to Next Paint measures responsiveness to user interaction and Cumulative Layout Shift measures unexpected movement.
Google's good thresholds are LCP of 2.5 seconds or less, INP of 200 milliseconds or less and CLS of 0.1 or less at the 75th percentile of page loads. Our performance work uses these metrics alongside Lighthouse diagnostics and the site's actual behaviour.
The Website Speed Fix states that most sites reach 90+ on Lighthouse mobile, but that is not a universal guarantee. A third-party booking system, advertising script, complex ecommerce feature or hosting restriction can limit what is achievable without removing functionality the business needs.
A Lighthouse result is also a laboratory measurement. Google's Chrome UX Report and Search Console use field data gathered from eligible real visitors over a rolling 28-day period, so a successful WordPress change can be visible in a fresh test before the field assessment catches up.
Our Core Web Vitals guide explains the distinction in more detail.
One-off WordPress speed fix and ongoing maintenance
The one-off Website Speed Fix costs £449. It includes a performance audit, hands-on optimisation, hosting-level tuning where possible and a before and after report. If we cannot show measurable speed improvement, the published service includes a money-back promise.
For sites that are regularly edited, performance can drift after the initial work. A new plugin can add assets site-wide, an uploaded image can become the new LCP element and a theme update can change CSS or JavaScript behaviour.
The Speed Retainer costs £89 per month or £890 per year. It adds monthly Lighthouse and Chrome UX Report review, ongoing image and script optimisation, plugin bloat control, monthly performance reporting and regression fixes.
If maintenance as a whole is becoming difficult rather than speed being the only problem, WordPress maintenance and WordPress support cover the wider options.
What we check before calling the site faster
A higher score is useful evidence, but WordPress needs to work after optimisation. We compare before and after measurements, inspect the metrics that were originally poor and retest the important user journeys.
- Confirm the bottleneck changed. If server response was the problem, the response should improve. If the hero caused poor LCP, the LCP loading path should improve.
- Check interactive features. Menus, forms, search, sliders and other JavaScript-dependent components need to respond normally.
- For WooCommerce, test transactional behaviour. Basket, checkout and payment-related pages should not be treated like ordinary cacheable content.
- Compare field data later where available. Search Console and CrUX should be reviewed over time because their real-user data does not reset on the day optimisation is deployed.
This is more reliable than installing another performance plugin, seeing a higher number once and assuming the job is finished.