Client: Mid-Size Fashion Brand. 12K Products. 8 Second Load.
Cart abandonment at 78%. Revenue bleeding.
Diagnosis
- No object cache — every product query hit DB
- All images unoptimized, original uploads served
- 37 plugins, 12 unused, 3 conflicting
- Shared hosting, 2 CPU cores shared with 400 sites
- No CDN, assets served from origin
The Fix
- Migrated to Hetzner CPX31 (4 vCPU, 16GB RAM, NVMe)
- Redis object cache + WP-CLI cache warm on deploy
- ShortPixel bulk optimize: 12K images → WebP/AVIF, 78% size reduction
- Cloudflare Pro: APO + Polish + Mirage + Argo
- Pruned to 18 plugins. Custom ACF blocks replaced 5 page builder plugins
- Custom theme: critical CSS inlined, defer non-critical JS
Results
- LCP: 8.2s → 1.2s
- TTFB: 1.8s → 180ms
- Conversion rate: +41%
- Revenue/month: +7K
- Hosting cost: 2/mo (was 5 shared)
WooCommerce bleeding money? Fix the foundation.





