Worauf es ankommt
Ladezeit ist kein Gefühl, sondern messbar. Nutzen Sie Kennzahlen aus Core Web Vitals von Google. Konzentrieren Sie sich auf drei Punkte: Largest Contentful Paint, Interaction to Next Paint, Cumulative Layout Shift.
Ziele: LCP < 2,5 s, INP < 200 ms, CLS < 0,1. So setzen Sie Prioritäten und sehen Fortschritt.
Schnelle Diagnose in 10 Minuten
- PageSpeed-Test: Messen Sie Startseite, Kategorieseite, Produktdetailseite, Checkout. Notieren Sie LCP, INP, CLS sowie TTFB.
- Wasserfall-Analyse: Prüfen Sie die ersten 10 Requests. Suchen Sie nach dicken Bildern, Fonts, blockierendem JS.
- Query Monitor: Schauen Sie auf langsame DB-Abfragen, Hooks, HTTP-Calls externer Dienste.
- WooCommerce-Status: Unter Systemstatus sehen Sie HPOS, Datenbank, Cron, Warteschlangen.
- Server-Fakten: PHP-Version, OPcache aktiv, HTTP/2 oder HTTP/3, Brotli oder gzip.
Top-Ursachen für langsame WooCommerce-Shops

- Kein Caching auf Objekt-Ebene. Viele wiederholte DB-Reads.
- Postmeta-Bottleneck bei Bestellungen. Orders liegen in
wp_postsundwp_postmeta, das bremst. - Cart Fragments laufen auf allen Seiten und halten den Cache warm.
- Zu große Bilder, keine modernen Formate, falsche Größen.
- Zu viele Plugins und Hooks auf produktiven Seiten.
- Externe Skripte blockieren Rendering oder warten auf Consent.
- Schwere Theme-Funktionen auf PLP und PDP. Varianten-Logik im Frontend.
- Action Scheduler quillt über, Cron tickt zu selten.
- Autoloaded Options sind aufgebläht.
- Kein Edge-Caching, kein CDN, falsche TTLs.
Die Fixes, die sofort wirken
1) Persistent Object Cache aktivieren
Setzen Sie auf Redis als persistenten Objekt-Cache. Das reduziert DB-Last bei wiederholten Abfragen. Installieren Sie das Plugin “Redis Object Cache”, verbinden Sie Ihre Instanz, prüfen Sie die Trefferquote, prüfen Sie das Preloading. Achten Sie auf Gruppen, die Sie nicht cachen wollen, etwa dynamische Optionen im Checkout. So fällt Ihr TTFB oft deutlich.
2) High-Performance Order Storage nutzen
Aktivieren Sie HPOS in WooCommerce. Bestellungen landen in eigenen, für E-Commerce optimierten Tabellen. Das entlastet wp_postmeta und beschleunigt Abfragen in Admin und Frontend. Prüfen Sie die Plugin-Kompatibilität, synchronisieren Sie Alt-Daten, schalten Sie dann um. Neue Shops haben WooCommerce High-Performance Order Storage oft schon aktiv.
3) Cart Fragments nur dort laden, wo nötig
Cart Fragments aktualisieren Mini-Cart per AJAX. Früher liefen sie auf zu vielen Seiten und verhinderten Full-Page-Caching. Schalten Sie sie auf Seiten ohne Mini-Cart ab. Setzen Sie serverseitiges Caching frei. Halten Sie den Mini-Cart gezielt dynamisch, nicht den ganzen Shop. Mehr dazu unter Cart Fragments gezielt einsetzen.
4) Bilder konsequent modernisieren
Nutzen Sie WebP oder AVIF, liefern Sie responsive Größen, lazy-loaden Sie alles unterhalb der Falz. Setzen Sie eine Bild-Pipeline oder ein Image-CDN ein, das Format, Größe und Qualität dynamisch anpasst. Reduzieren Sie die LCP-Bildgröße auf das Nötige. Vermeiden Sie riesige Hero-Slider. Siehe auch Moderne Bildformate nutzen bei „Entwickler für Chrome“.
5) JavaScript zähmen
- Entfernen Sie ungenutzte Bibliotheken.
- Splitten Sie Bundles, laden Sie nur, was die Seite braucht.
- Setzen Sie
deferfür nicht-kritisches JS. - Vermeiden Sie jQuery-Domino auf jeder Seite.
- Reduzieren Sie DOM-Knoten, entlasten Sie Layout-Thrashing.
6) CSS entschlacken
- Erzeugen Sie Critical CSS für den Above-the-Fold-Bereich.
- Delay für nicht-kritisches CSS, nutzen Sie
mediaundpreloadklug. - Entfernen Sie ungenutzte Utility-Klassen und Framework-Ballast.
7) Edge-Caching und CDN
Liefern Sie statische Assets von der Edge. Setzen Sie saubere Cache-Header. Geben Sie HTML auf Kategorieseiten und Produktseiten per Full-Page-Cache frei, wo möglich. Machen Sie Ausnahmen für Warenkorb und Checkout. Nutzen Sie Stale-While-Revalidate, um Traffic-Spitzen abzufangen.
Server, PHP, Datenbank
- PHP 8.1 oder 8.2 mit OPcache, JIT muss nicht sein. Stellen Sie genug RAM für OPcache und realpath-Cache ein.
- HTTP/2 oder HTTP/3 aktivieren. Brotli vor gzip, wenn verfügbar.
- MySQL/MariaDB: InnoDB, angepasste Buffer-Größen, langsame Queries loggen. Indizes prüfen.
- Separater Redis-Dienst, nicht auf derselben Instanz wie die DB, wenn Last hoch ist.
- Keep-Alive und TLS-Session-Resumption aktiv.
WooCommerce-Spezifika, die Sie Zeit kosten
Produktliste und Suche
- Keine teuren Taxonomie-Filter ohne Caching. Nutzen Sie vorindizierte Lösungen oder Such-Services mit Facetten.
- Nutzen Sie transiente Caches für häufige Listen, räumen Sie sie gezielt nach Produkt-Änderungen.
Varianten
- Laden Sie Attributdaten serverseitig und cachen Sie die Kombis. Prüfen Sie, ob Sie Varianten reduzieren können.
- Vermeiden Sie JS-Kaskaden, die bei jeder Auswahl neu rechnen.
Kasse
- Begrenzen Sie die Zahl der Payment- und Versand-Plugins. Prüfen Sie Timeouts bei API-Calls. Verkürzen Sie Requests per Keep-Alive.
- Deaktivieren Sie alles, was in der Kasse nicht gebraucht wird, etwa Social-Skripte.
Action Scheduler
- Räumen Sie alte Jobs auf. Planen Sie Cron häufiger, wenn Warteschlangen wachsen.
- Beobachten Sie Webhooks, Retry-Zähler, API-Fehler. Das spart Zeit im Checkout.
Autoloaded Options
- Prüfen Sie
autoloadinwp_options. Halten Sie die Summe klein. - Legen Sie große Konfigurationen ohne Autoload ab. Versionieren Sie sie.
Frontendlast mit System senken
Fonts
- Nutzen Sie variable Fonts sparsam. Preload für wichtige Schnitte. Fallback definieren.
- Unterbinden Sie Layout-Sprünge mit
font-display: swapsowie definierten Größen.
Bilder
- Setzen Sie
srcsetundsizes. Keine 4K-Bilder auf Mobilgeräten. - Nutzen Sie Platzhalter, um CLS zu vermeiden. Legen Sie Breite und Höhe fest.
Third-Party
- Laden Sie den Tag-Manager nach, sobald consent vorliegt. Verzögern Sie Heatmaps, Ads, Chats.
- Messen Sie jeden Drittdienst. Entfernen Sie, was nicht zahlt.
Praxis: Konkrete Schritte mit hoher Wirkung
- Redis einsetzen: Redis installieren, Plugin aktivieren, Verbindung prüfen, Objekt-Cache füllen. Trefferquote beobachten. Persistent machen.
- HPOS aktivieren: In WooCommerce Einstellungen, Feature aktivieren, Tabellen synchronisieren, Kompatibilität testen, umstellen.
- Cart Fragments zügeln: Mini-Cart nur dort laden, wo er sichtbar ist. Sonst entfernen oder per Event nachladen.
- Bild-Pipeline aufsetzen: WebP oder AVIF, responsive Größen, Qualität 60 bis 80, scharfes Scaling. LCP-Bild gezielt optimieren.
- JS bereinigen: Entfernen Sie ungenutzte Plugins. Splitten Sie Vendor-Pakete. Defer für alles, was nicht kritisch ist.
- Edge-Cache aktivieren: CDN nutzen, HTML auf Katalog und PDP cachen. Checkout und Account ausschließen.
- Action Scheduler aufräumen: Fehlgeschlagene Jobs prüfen, Ursachen fixen, Intervall anpassen.
- Autoload prüfen: Große Einträge identifizieren, Autoload auf
nosetzen, wenn nicht nötig. - DB-Indizes prüfen: Stellen Sie sicher, dass Ihre Tabellen, vor allem HPOS-Tabellen, sauber indiziert sind.
- Monitoring einführen: Lighthouse in CI, CrUX-Daten, On-Site Messung für INP und LCP. Nur was Sie messen, verbessern Sie.
Beispiel-Konfigurationen und Snippets
wp-config.php, Performance-Basics
// OPcache warmhalten
define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');
// Redis Vorgaben, Beispiel
// define('WP_REDIS_HOST', '127.0.0.1');
// define('WP_REDIS_PORT', 6379);
// define('WP_REDIS_TIMEOUT', 1.0);
// define('WP_REDIS_READ_TIMEOUT', 1.0);
// Heartbeat drosseln
// add_filter('heartbeat_settings', function($s){ $s['interval']=60; return $s; });
Nginx, statische Assets lang cachen
location ~* .(?:css|js|woff2?|ttf|eot|png|jpg|jpeg|gif|svg|webp|avif)$ {
add_header Cache-Control "public, max-age=31536000, immutable";
}
HTML, Critical Hints
<link rel="preload" href="/fonts/brand.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="/images/hero-lcp.webp" as="image">
<script defer src="/assets/app.js"></script>
Checkliste für Ihren nächsten Release
- HPOS aktiv, keine Synchronisationsfehler.
- Redis verbunden, Objekt-Cache Hit-Rate > 90 Prozent auf warmem Cache.
- Cart Fragments nur auf Seiten mit sichtbarem Mini-Cart.
- LCP-Bild optimiert, Größe passt zum Viewport.
- JS deferred, kein blockierendes Inline-Script vor dem Render.
- CDN aktiv, TLS schnell, Brotli aktiv.
- Action Scheduler sauber, Webhooks stabil.
- Autoload-Summe im grünen Bereich.
- Lighthouse Score stabil, CrUX zeigt grüne Werte.
Typische Missverständnisse
- „Mehr RAM löst es“: Hilft nur, wenn Sie wissen, wo es brennt.
- „Ein Plugin regelt das“: Tools helfen, aber Architektur bringt Speed.
- „CDN genügt“: Ohne saubere HTML-Ausgabe bleibt der First Byte langsam.
- „INP ist egal“: Schlechte Reaktionszeiten bremsen Nutzer.
So messen Sie Fortschritt richtig
- Definieren Sie Zielwerte für LCP, INP, CLS pro Seitentyp.
- Legen Sie Testprofile fest: mobil 4G, Desktop, First-Visit, Repeat-Visit.
- Nehmen Sie reale Nutzer-Daten auf. Vergleichen Sie sie mit Lab-Daten. Dokumentieren Sie Ihre Änderungen.
- Binden Sie Checks in CI ein. Brechen Sie Builds ab, wenn Schwellen reißen.
Ihr nächster Schritt
Setzen Sie heute zwei Punkte um. Starten Sie mit HPOS und Redis, wenn beides passt. Oder nehmen Sie Cart Fragments und LCP-Bild. Posten Sie Ihre Ergebnisse. Welche Seite hat am meisten profitiert und warum.
Diskussion
Wer diesen Beitrag geschrieben hat
Storetown Media ist eine WooCommerce Agentur aus Tornesch im Kreis Pinneberg, rund zwanzig Minuten vor Hamburg. Seit 2012 bauen wir Websites und Onlineshops – begonnen haben wir mit Firmen-Websites und Bestellsystemen, die Shops kamen nach und nach dazu. Die hier beschriebenen Eingriffe – Datenbank aufräumen, Bilder in WebP ausliefern, Plugins ausdünnen, Caching richtig stapeln – gehören bei uns zum Tagesgeschäft. Wenn Ihr Shop langsam ist und Sie nicht selbst suchen möchten, sehen wir uns das an.























{% endif %}
{% if title and title != "" %}
{{ title }}
{% endif %}
{% if excerpt and excerpt != "" %}