Case-Study · WordPress + WooCommerce auf Shared Hosting
Case-Study: WordPress-Shop optimiert
Mid-size WordPress-Shop mit 12k Sessions/Monat. Vorher mobile Lighthouse 58, nachher 92. LCP von 4,2 s auf 2,1 s.
Metriken vor / nach
Lighthouse
LCP
INP
CLS
Maßnahmen
- ✓ Wechsel von Shared Hosting zu managed (Cloudways DigitalOcean)
- ✓ Cloudflare CDN davorgeschaltet
- ✓ Bilder komplett auf WebP, Hero-Bild mit Preload
- ✓ Render-blocking CSS via Autoptimize entfernt
- ✓ Third-Party-Scripts asynchron (FB Pixel, GA, Hotjar)
Ausgangslage: WordPress 6.4 + WooCommerce auf 1blu-Shared-Hosting, theme war ein moderat angepasstes Astra Premium. 12.000 monatliche Sessions, davon 70 % mobil. Lighthouse-Mobile-Score lag bei 58, CrUX zeigte LCP-Failed.
Maßnahme 1: Hosting-Wechsel (+15 Score-Punkte)
Erster und größter Sprung. Wechsel von 1blu-Shared (TTFB ~1.200 ms) zu Cloudways DigitalOcean Frankfurt (TTFB ~280 ms). Damit fiel LCP von 4,2 s auf 3,1 s. Kosten: ~25 €/Monat statt 5 €/Monat - aber Conversion-Rate stieg um 12 % (gemessen über 4 Wochen).
Maßnahme 2: Cloudflare CDN (+8 Score-Punkte)
Cloudflare Free davorgeschaltet, Page-Rules für /wp-content/uploads/* und /wp-content/themes/* mit Cache Everything + 1 Monat Edge-TTL. Statische Assets kamen aus Edge-Standort (typisch Frankfurt/Amsterdam), TTFB für CSS/JS/Bilder fiel auf 30-80 ms.
Maßnahme 3: Bilder auf WebP (+7 Score-Punkte)
Mit Plugin ShortPixel alle Bestandsbilder konvertiert. Hero-Bild manuell als AVIF gespeichert (Plugin konnte das damals noch nicht) und per Theme-Code als <picture> eingebunden mit fetchpriority="high" + preload-Link. LCP fiel auf 2,4 s.
Maßnahme 4: Critical CSS + JS-Defer (+5 Score-Punkte)
Plugin Autoptimize aktiviert: Critical CSS extrahiert (300 KB CSS-Bundle → 14 KB inline + 286 KB async), alle Theme- und Plugin-JS auf defer. FCP fiel von 1,9 s auf 0,8 s.
Maßnahme 5: Third-Party-Scripts (+5 Score-Punkte)
FB Pixel, Google Analytics, Hotjar liefen alle synchron. Umgebaut: GA via gtag mit async, FB Pixel mit defer, Hotjar erst nach 3 Sekunden window load eingebaut (via setTimeout). Mobile-INP fiel von 380 ms auf 165 ms.
Ergebnis
| Metrik | Vorher | Nachher |
|---|---|---|
| Lighthouse Mobile | 58 | 92 |
| LCP | 4,2 s | 2,1 s |
| INP | 380 ms | 165 ms |
| CLS | 0,18 | 0,05 |
| Bounce-Rate | 62 % | 48 % |
| Conversion-Rate | 1,8 % | 2,3 % |
Gesamtaufwand: 3 Tage. CrUX-Field-Daten brauchten weitere 28 Tage bis sie sich angepasst hatten.