LiteSpeed Cache für WordPress und einen Onlineshop
Unsere Server laufen auf LiteSpeed. Für WordPress ist das kostenlose Plugin LiteSpeed Cache daher das naheliegende Cache-Plugin: Es speichert fertige Seiten auf dem Server, sodass sie nicht bei jedem Besuch neu aufgebaut werden müssen. Ihre Website wird schneller und Ihr Paket hat weniger Arbeit. Bei einem Webshop müssen Sie jedoch wissen, welche Seiten niemals im Cache landen dürfen. Dieser Artikel erklärt die Grundlagen und was bei WooCommerce zusätzlich zu beachten ist.
Die Grundlagen
- Gehen Sie in WordPress zu Plugins > Neues Plugin, suchen Sie nach "LiteSpeed Cache", prüfen Sie, dass der Herausgeber LiteSpeed Technologies ist, und installieren und aktivieren Sie das Plugin.
- Öffnen Sie im Menü LiteSpeed Cache > Cache und prüfen Sie, dass Enable Cache aktiviert ist.
- Verwenden Sie noch ein anderes Cache-Plugin, schalten Sie dieses aus. Zwei Caches nebeneinander führen zu merkwürdigen Fehlern.
- Testen Sie Ihre Website anschließend in einem privaten Fenster.
Möchten Sie mehr darüber erfahren, warum Ihre Website langsam ist und was sonst noch hilft, lesen Sie Meine Website ist langsam oder nutzt zu viel CPU: So machen Sie sie schneller.
Webshop: zwei Arten von Seiten
| Art der Seite | Beispiele | Seiten-Cache? |
|---|---|---|
| Für alle gleich | Startseite, Shop-Seite, Kategorien, Produktseiten | Ja, dort liegt der größte Gewinn |
| Je Besucher unterschiedlich | Warenkorb, Kasse, Mein Konto, das Widerrufsformular | Niemals |
Geht das schief, sieht ein Kunde den Warenkorb oder sogar die Adresse eines anderen. Das ist auch eine Datenschutzverletzung; siehe Ist dies eine Datenschutzverletzung und muss ich sie melden?
Was WooCommerce und LiteSpeed Cache bereits regeln
WooCommerce markiert Warenkorb, Kasse und Mein Konto selbst als "nicht zwischenspeichern", mit einer Konstante (DONOTCACHEPAGE) und mit No-Cache-Headern. Sobald jemand etwas in den Warenkorb legt, setzt WooCommerce Cookies wie woocommerce_items_in_cart, woocommerce_cart_hash und wp_woocommerce_session_. LiteSpeed Cache hält sich laut eigener Dokumentation an diese Regeln von WooCommerce. In einem gewöhnlichen Shop müssen Sie also nichts hinzufügen.
Wann Sie selbst Ausschlüsse hinzufügen
Ausschlüsse finden Sie unter LiteSpeed Cache > Cache, Reiter Excludes:
- Do Not Cache URIs: Adressen, die niemals im Cache landen dürfen, eine pro Zeile. Fügen Sie diese hinzu, wenn Sie den Shop-Seiten einen anderen Namen gegeben haben (zum Beispiel
/warenkorb/), wenn ein Übersetzungs-Plugin eigene Adressen erstellt (wie/de/warenkorb/), oder für das Widerrufsformular unter Mein Konto. - Do Not Cache Cookies: Cookies, bei denen eine Seite nicht aus dem Cache kommt. Gehen Sie hiermit sparsam um: Ein Cookie, das auf jeder Seite vorkommt, schaltet den Cache für Ihre gesamte Website aus.
Setzen Sie außerdem keine zweite Schicht davor, die alles zwischenspeichert. Ein CDN mit einer Regel wie "cache everything" ignoriert die Header von WooCommerce; schließen Sie dort dann ebenfalls die Shop-Seiten und Cookies aus.
Objektcache mit Redis
Warenkorb und Kasse werden immer wieder neu aus der Datenbank aufgebaut. Ein Objektcache speichert häufig verwendete Datenbankergebnisse im Arbeitsspeicher, und das hilft gerade bei einem Shop. Redis ist in Power Webhost Three, Power Webhost Four und Power Reseller enthalten. Aktivieren Sie Redis in DirectAdmin, aktivieren Sie die PHP-Erweiterung redis, und wählen Sie in LiteSpeed Cache unter Cache, Reiter Object, die Methode Redis mit dem Pfad zum Socket. Alle Schritte finden Sie unter Redis. Verwenden mehrere Websites in Ihrem Paket Redis, geben Sie jeder Website eine eigene Redis Database ID.
Prüfen, ob alles richtig eingestellt ist
Öffnen Sie Ihre Website in einem privaten Fenster, drücken Sie F12, wählen Sie den Reiter Netzwerk, laden Sie die Seite neu und klicken Sie auf die erste Anfrage.
- Startseite oder Produktseite, zweimal laden: beim zweiten Mal steht dort
x-litespeed-cache: hit. - Warenkorb, Kasse und Mein Konto: kein Hit, aber
x-litespeed-cache-control: no-cacheund eincache-controlmitno-cache. - Legen Sie ein Produkt in den Warenkorb und öffnen Sie eine Produktseite: Sie sehen Ihren eigenen Warenkorb, keine gespeicherte Version.
Was der Cache nicht löst
Ist Ihr Shop bei hoher Auslastung trotzdem langsam, prüfen Sie auch eine aktuelle PHP-Version, weniger Plugins und die geplanten Aktionen von WooCommerce. Eine lange Liste fehlgeschlagener Aktionen macht die Datenbank langsamer; siehe WooCommerce-Status und geplante Aktionen: Probleme aufspüren.
Weiterführende Informationen
- Kostenloser WordPress-Kurs, Lektion 6.2 Caching
- LiteSpeed Cache: die Einstellungen des Reiters Cache (Englisch)
- WooCommerce: Cache-Plugins konfigurieren (Englisch)
