Is your WordPress dragging?
we make it fast for real.
WordPress and WooCommerce performance audit and optimisation
LCP > 3 s, WooCommerce product page taking 5 s to load, admin dragging once 10 plugins are active: you know you're losing SEO traffic and sales. Across the last 10 WordPress optimisations: median gain -61% on LCP and +18% mobile conversion.
Before / after on 3 optimised WordPress sites
GSC + Lighthouse + Cloudflare RUM measurements, over a rolling 60 days. Numbers, not promises.
The 8 levers specific to WordPress
In this order, from most immediate to most structural. Impact measured and quantified by the audit.
Installation and tuning of WP Rocket, LiteSpeed Cache or Cache Enabler. Enable object cache via Redis for sessions and DB queries (essential on WooCommerce). Typical impact: -1 to -1.5 s on LCP, TTFB halved.
Automatic JPEG/PNG → WebP conversion via ShortPixel, Imagify or EWWW. Native loading="lazy" (WP 5.5+) on all images outside the viewport. Explicit width/height dimensions for CLS near zero. Impact: -1.5 to -2 s on LCP.
Diagnostic via Query Monitor and P3 Profiler of the time consumed by each plugin. Identification of duplicate plugins (tracking loaded three times, SEO + redirects stacked), abandoned plugins, heavy plugins doing what core can do natively. Impact: -200 to -500 ms on TTFB.
wp_postmeta cleanup
Adding composite indexes on wp_postmeta (meta_key, prefix of meta_value) — essential on WooCommerce with 1,000+ products. Removing orphan meta (Action Scheduler stores thousands of rows). Enabling HPOS (High-Performance Order Storage) on WC 7.1+. Impact: catalogue queries ÷ 5.
Enable Cloudflare in DNS proxy mode: static asset cache on 200+ global POPs, Brotli enabled, HTTP/3, on-the-fly image resizing (Polish). Impact: TTFB down to 50-100 ms for distant visitors, -1 s on cross-region LCP.
Audit of JS injected by plugins and theme. Non-critical scripts moved to defer or async. Chat widget moved to delayed load after scroll or interaction. Removal of duplicates (gtag.js loaded three times). INP impact: -150 to -200 ms.
On Elementor/Divi, identification of templates loading unused CSS/JS. Removal of unused widgets. For sites where the page builder itself is the bottleneck, progressive rebuild into native Gutenberg + custom blocks. Impact: -1 s on heavy Elementor sites.
If TTFB > 1 s at peak hours after the first 7 levers, hosting is the bottleneck. Assisted migration to Kinsta, WP Engine, SiteGround GoGeek or a LiteSpeed VPS. Impact: TTFB down to 150-300 ms.
Pricing stated up-front
Free pre-audit. For the optimisation, you know exactly what it costs before I touch the code.
Pre-audit
- Lighthouse + RUM measurement (LCP, INP, CLS)
- Query Monitor on 5 key pages
- Firm quote with estimated gain in milliseconds
- You decide whether to continue
Targeted optimisation
- Lighthouse + RUM measurement before optimisation
- Activation of the levers (cache, WebP, CDN, DB...)
- After-measurement + before/after report
- Written report: real gain in seconds
- 30-day RUM monitoring after go-live
WordPress maintenance
- Monthly dev time, accumulable for progressive optimisation
- Daily backups automated and externalised
- Monthly Core Web Vitals follow-up
- Plugin audit before each major update
"Slow WordPress" is not...
If WordPress shows "There has been a critical error on this website" or a timeout instead of loading slowly, it's a functional bug, not a performance issue. Dedicated page.
Critical error page →If the site is slow and you see suspicious popups, unknown cron redirects, ghost admins: it's malware draining resources. That requires a security audit and clean-up, not a performance optimisation.
Speed ≠ SEO. Speed is a factor, not the factor. If your real concern is rankings, a semantic SEO audit is more relevant than a performance audit.
WordPress performance — frequently asked questions
wp_postmeta beyond 1,000 products, (8) blocking JS (chat, tracking, GDPR popups).wp_postmeta, not indexed by default on meta_key + meta_value. Beyond 500 products with variations, filtered queries explode. Sites with 5,000+ products: meta queries of 2-4 s regularly. Fix: composite indexes on wp_postmeta, orphan meta clean-up (Action Scheduler stores thousands of rows), migration to HPOS (High-Performance Order Storage, WC 7.1+) which divides order query time by 5 to 10.Other issues I handle
See where you stand in 30 min
Free pre-audit: LCP, INP, CLS, the 3 priority levers for you. Quote within 24 business hours if you want to go further.