Starte deinen kostenlosen 7-Tage-TestKeine Kreditkarte erforderlich

Plattformen

WooCommerce schneller machen, ohne Warenkorb und Checkout zu gefährden

Welche Seiten deines WooCommerce-Shops du cachen kannst, welche dynamisch bleiben müssen und wie der Shop schneller wird, ohne Bestellungen zu verlieren.

7 Min. Lesezeit

Deinen WooCommerce-Shop machst du vor allem dadurch schneller, dass du alle Seiten cachst, die für jeden Besucher gleich aussehen, also Produkte, Kategorien und Inhaltsseiten. Warenkorb, Kasse und Kundenkonto bleiben dagegen komplett dynamisch. Wer diese Trennung ignoriert, hat nach dem Tuning schnell einen kaputten Warenkorb. Hier erfährst du, welche Seite wohin gehört, wie du das prüfst und was einen Shop sonst noch ausbremst.

Warum WooCommerce langsamer ist als ein normales WordPress

WooCommerce läuft auf WordPress. Alles, was WordPress bremst, bremst also auch deinen Shop: Hosting, Plugins, Theme und Bilder. Hast du diese Grundlagen noch nicht angeschaut, fang mit dem Ratgeber WordPress schneller machen an.

Ein Shop bringt aber noch eigene Last mit:

  • Mehr Daten pro Seite. Produktseiten fragen Preise, Varianten, Lagerbestand, Steuerklassen, Bewertungen und ähnliche Produkte ab.
  • Sessions und Cookies. Sobald jemand etwas in den Warenkorb legt, startet WooCommerce eine Session und setzt Cookies. Ab dann sind die Anfragen dieses Besuchers persönlich.
  • AJAX-Anfragen. Warenkorb-Buttons, Mini-Warenkorb und die Aktualisierung der Kasse laufen über die wc-ajax-Endpunkte auf dem Server.
  • Hintergrundprozesse. Bestellmails, Lagerabgleich, Webhooks und geplante Aufgaben laufen parallel zum normalen Traffic.
  • Erweiterungen. Zahlungsanbieter, Versandrechner, Produktfilter und Marketing-Tools bringen jeweils eigene Skripte und Abfragen mit.

Deshalb braucht ein Shop ohne Cache länger für die Antwort als ein Blog. Caching bringt hier umso mehr, will aber auch sorgfältiger eingerichtet sein.

Was du cachen kannst und was nicht

Die Regel ist einfach: Sieht die Seite für jeden anonymen Besucher gleich aus, darf sie in den Cache. Hängt sie davon ab, wer sie aufruft, bleibt sie draußen.

SeitentypFür anonyme Besucher cachen?Hinweis
Startseite, Inhaltsseiten, BlogJaNach Änderungen leeren
Kategorie- und SchlagwortseitenJaFilter-URLs mit Parametern gesondert prüfen
ProduktseitenJaBei Preis- oder Bestandsänderung leeren
Warenkorb (/cart/ bzw. /warenkorb/)NeinImmer persönlich
Kasse (/checkout/ bzw. /kasse/)NeinPersönlich, enthält Nonces und Zahlungsdaten
Mein Konto (/my-account/ bzw. /mein-konto/)NeinEingeloggter Bereich
Links mit ?add-to-cart=NeinVerändern die Session
Anfragen an wc-ajax und admin-ajax.phpNeinGrundsätzlich dynamisch
Jede Anfrage mit Warenkorb- oder Session-CookieNeinBesucher hat einen aktiven Warenkorb

Welche Seiten und Cookies du ausschließen solltest, beschreibt WooCommerce in der Anleitung zum Konfigurieren von Cache-Plugins (auf Englisch). Die wichtigsten Cookies sind woocommerce_items_in_cart, woocommerce_cart_hash und wp_woocommerce_session_*, dazu die Login-Cookies von WordPress.

Bypass über Cookies

URL-Regeln allein reichen nicht. Hat ein Besucher etwas im Warenkorb, zeigt womöglich schon die Produktseite einen Mini-Warenkorb mit seinen Artikeln. Eine gute Cache-Konfiguration umgeht deshalb den Cache bei jeder Anfrage mit WooCommerce-Session- oder Warenkorb-Cookie. So sieht niemand mit vollem Warenkorb die Seite eines anderen Kunden.

Warenkorb und Kasse nach jeder Änderung testen

Im Shop reicht ein Speedtest nicht, du brauchst auch einen Funktionstest. Hast du Caching aktiviert oder umgestellt, spielst du den kompletten Kaufprozess in einem privaten Fenster durch:

  1. Öffne eine Produktseite als anonymer Besucher.
  2. Leg das Produkt in den Warenkorb und prüfe, ob sich der Mini-Warenkorb aktualisiert.
  3. Öffne den Warenkorb, ändere die Menge und löse einen Gutschein ein.
  4. Geh zur Kasse, wechsle das Lieferland und beobachte, ob sich die Summen anpassen.
  5. Schick eine Testbestellung mit einer Sandbox-Zahlungsart ab.
  6. Melde dich als Kunde an und öffne den Kontobereich.

Schau dir danach die Response-Header von Warenkorb und Kasse an. Dort sollte BYPASS oder MISS stehen, niemals HIT:

curl -sI https://shop.example.com/kasse/ | grep -i -E "cache|set-cookie"

Gecachte Seiten aktuell halten

Wer Produktseiten cacht, fragt sich zu Recht: Was passiert, wenn sich Preis oder Bestand ändern?

  • Beim Speichern leeren. Bearbeitest du ein Produkt, leerst du den Cache für seine URL und für die Kategorieseiten, auf denen es erscheint. Viele Setups erledigen das automatisch per Plugin oder API-Aufruf.
  • Kurze Laufzeiten für schnelllebige Seiten. Ändert sich der Bestand ständig, gib Produktseiten lieber eine kürzere Cache-Dauer, statt ganz auf den Cache zu verzichten.
  • Wichtige Seiten vorwärmen. Nach dem Leeren verursacht der erste Besucher einen MISS. Wärmst du Topseller und Hauptkategorien vor, bleiben sie schnell.
  • Aktionen und Importe. Bevor eine Rabattaktion startet oder nach einem großen Preisimport leerst du die betroffenen Seiten gezielt.

Geolokalisierung und Währungen

Zeigt dein Shop Preise abhängig vom Land des Besuchers, können gecachte Seiten die falsche Steuer oder Währung anzeigen. Für den Standard-Kundenstandort bietet WooCommerce eine Geolokalisierungs-Variante mit Unterstützung für Seiten-Caching. Diese Variante hängt einen URL-Parameter an, sodass jeder Standort eine eigene Kopie im Cache bekommt. Währungsumschalter brauchen eine ähnliche Lösung. Prüf in deren Dokumentation, ob sie Caching unterstützen, bevor du dich darauf verlässt.

Die dynamischen Teile beschleunigen

Warenkorb und Kasse landen nie im Cache. Wie schnell sie sind, hängt also direkt von Server und Code ab.

Cart Fragments

Klassische Themes laden oft das Skript wc-cart-fragments, das beim Seitenaufruf den Server fragt, um den Mini-Warenkorb zu aktualisieren. In einem gut besuchten Shop kommt so auf jeden gecachten Seitenaufruf eine ungecachte Anfrage obendrauf. Prüf, ob dein Theme das wirklich braucht. Nutzt du keinen Mini-Warenkorb im Header, kannst du darauf womöglich verzichten. Viele Performance-Plugins bieten dafür eine eigene Einstellung.

Kasse

  • Entferne Felder und Erweiterungen, die du an der Kasse nicht brauchst. Jedes Versand- oder Zahlungs-Plugin bringt eigene Skripte und Serveraufrufe mit.
  • Lade Zahlungsskripte nur auf der Kassenseite, nicht im ganzen Shop.
  • Halte die AJAX-Aktualisierungen an der Kasse gering. Jede Änderung von Adresse oder Versandart berechnet die Summen auf dem Server neu.

Wie flüssig die Kasse reagiert, misst übrigens INP: die Zeit, bis die Seite sichtbar auf einen Klick oder eine Eingabe reagiert.

Datenbank und Hintergrundprozesse

  • Aktiviere High-Performance Order Storage (HPOS), sofern deine Erweiterungen es unterstützen. Bestellungen liegen dann in eigenen Tabellen statt in der Beitragstabelle.
  • Behalte den Action Scheduler im Blick. Im Statusbereich von WooCommerce findest du die geplanten Aktionen. Dort deutet eine lange Liste fehlgeschlagener oder wartender Aktionen oft auf eine fehlerhafte Erweiterung hin.
  • Richte einen persistenten Objekt-Cache ein (Redis oder Memcached), damit wiederkehrende Abfragen zu Produkten, Optionen und Sessions aus dem Arbeitsspeicher kommen.
  • Stell WP-Cron auf einen echten Server-Cronjob um, damit geplante Aufgaben nicht innerhalb der Anfrage eines Kunden laufen.

Wie du die Antwortzeit des Servers gezielt senkst, zeigt der Ratgeber TTFB verbessern.

Bilder und Skripte auf Produktseiten

Produktgalerien sind oft der schwerste Teil eines Shops. Setz auf WebP oder AVIF, liefere Größen passend zum Galerie-Layout aus und lade das Hauptproduktbild nicht verzögert, denn meist ist genau dieses Bild dein LCP-Element. Zoom-, Lightbox- und Slider-Skripte gehören nur auf Produktseiten, nicht auf jede Seite des Shops.

Schau dir auch deine Tracking- und Marketing-Skripte an. Jedes Pixel, jedes Chat-Widget und jedes Bewertungssiegel konkurriert im Browser mit dem Code deines Shops.

Betreibst du auch andere Shopsysteme oder vergleichst gerade, findest du im Ratgeber Shopware 6 Performance optimieren dieselbe Trennung zwischen Cache und dynamischen Seiten für den HTTP-Cache von Shopware.

So hilft dir fast.site

fast.site arbeitet vor deinem WooCommerce-Hosting. Du behältst deinen Hoster, legst deine Domain im Dashboard an und stellst die Nameserver auf fast.site um. Danach verwaltet fast.site dein DNS. Alle bisherigen Einträge müssen deshalb in der DNS-Zone bei fast.site stehen, auch die MX-Einträge für die E-Mails deines Shops.

Produkt-, Kategorie- und Inhaltsseiten für anonyme Besucher kann dann der Fast Edge Cache™ direkt vom Edge ausliefern, in den Regionen, die dein Tarif umfasst. Ein Cache-HIT erreicht deinen Server gar nicht erst. So bleibt in Stoßzeiten mehr Kapazität für Warenkorb und Kasse. Warenkorb, Kasse, Kundenkonto und Sessions müssen am Cache vorbeigehen, und der Header fs-cache zeigt dort BYPASS. Mit dem Kassentest von oben prüfst du also jede Seite selbst. Ändern sich Preise oder Bestände, leerst du URLs im Dashboard oder per API, und der Cache-Warmer hält wichtige Seiten vorgewärmt.

Außerdem kann fast.site Produktbilder direkt in WebP umwandeln (AVIF je nach Tarif) und schädliche Bots sowie HTTP-Floods schon am Edge abfangen, bevor sie deinen Shop erreichen. Mehr zur Einrichtung findest du auf der WooCommerce-Seite und im Artikel zur WooCommerce-Integration.

Miss deinen Shop vorher und nachher, einen kompletten Bestellvorgang eingeschlossen. Starten kannst du mit einer kostenlosen 7-Tage-Testphase, ganz ohne Kreditkarte.

Häufige Fragen

Kann man WooCommerce-Seiten cachen?

Ja. Für anonyme Besucher kannst du Startseite, Inhaltsseiten, Kategorieseiten und Produktseiten cachen. Warenkorb, Kasse, Kundenkonto, AJAX-Anfragen und alle Besucher mit Warenkorb- oder Session-Cookie müssen den Cache umgehen.

Warum ist die Kasse in WooCommerce so langsam?

Die Kasse wird nie gecacht und zeigt deshalb die reine Geschwindigkeit von Server und Erweiterungen. Typische Ursachen sind langsames Hosting, viele Zahlungs- und Versand-Plugins, externe Abfragen für Versandkosten oder Steuern und häufige Neuberechnungen, während der Kunde das Formular ausfüllt.

Macht Caching den Warenkorb kaputt?

Nur wenn es falsch eingerichtet ist. Probleme entstehen, wenn Warenkorb, Kasse oder Anfragen mit WooCommerce-Session-Cookies im Cache landen. Schließ sie aus und teste den kompletten Kaufprozess in zwei Browsern gleichzeitig.

Wie bleiben Preise und Bestand trotz Cache aktuell?

Leere den Cache für die Produkt-URL und die zugehörigen Kategorieseiten, sobald du ein Produkt änderst, und leere gezielt vor Aktionen oder nach Importen. Ändert sich der Bestand ständig, gib Produktseiten eine kürzere Cache-Dauer.

Sollte ich Cart Fragments deaktivieren?

Zeigt dein Theme keinen Mini-Warenkorb, ist die Cart-Fragments-Anfrage meist unnötige Last. Zeigt es einen, behalte sie oder nutze eine Lösung, die dein Theme unterstützt. Prüf danach, ob sich die Anzahl im Warenkorb nach dem Hinzufügen eines Produkts noch aktualisiert.

Teste fast.site mit deiner eigenen Website

fast.site ergänzt dein bestehendes Hosting um Edge-Caching, Bildoptimierung und DDoS-Schutz. Verbinde deine Domain und miss den Unterschied auf deinen eigenen Seiten.

Gib deiner Website 7 Tage. Lass die Ergebnisse entscheiden.

Starte mit deiner eigenen Domain, deinem echten Traffic und Klarheit darüber, was danach passiert.