Cache in PrestaShop: Smarty, Symfony, CCC und Seitencache – was Sie aktivieren sollten
PrestaShop hat mehrere Caches, die einander nicht ähneln. Wer versteht, was jeder speichert, vermeidet sowohl Langsamkeit als auch das „Ich sehe meine Änderungen nicht“.
Wenn jemand sagt „Ich habe den Cache geleert und es ist immer noch gleich“, hat er fast immer einen der mehreren Caches eines PrestaShop-Shops geleert. Das sind die Schichten, von innen nach außen.
1. OPcache (PHP)
Speichert den bereits kompilierten PHP-Code. Betrifft nicht die Daten, nur die Geschwindigkeit. Im Live-Betrieb immer aktiviert.
2. Symfony-Cache
In var/cache/prod: der Service-Container, die Routen, die Twig-Templates des Backoffice. Er wird nach dem Leeren automatisch neu erzeugt. Wenn Sie ein Modul installieren und seine Seite einen Fehler zeigt, ist das Leeren dieses Caches der erste Schritt.
3. Smarty-Cache
Kompiliert die Templates des Frontends und speichert optional das HTML einiger Blöcke. Unter Erweiterte Einstellungen > Leistung:
- Kompilierung: „Nie neu kompilieren“ im Live-Betrieb.
- Cache: aktiviert.
4. CCC: kombinieren, komprimieren und cachen
Fasst die CSS- und JS-Dateien von Theme und Modulen in wenigen Dateien zusammen. Weniger Anfragen, schnellere Seite. Wenn ein Modul Skripte auf unorthodoxe Weise einbindet, kann aber etwas kaputtgehen: Aktivieren Sie es und prüfen Sie Warenkorb und Checkout.
5. Datencache (Redis, Memcached, APCu)
Speichert Ergebnisse von Datenbankabfragen. Nützlich in großen Shops, aber heikel: Wird der Cache nicht invalidiert, wenn sich die Daten ändern, sehen Sie veraltete Informationen. Wir erklären das ausführlich im Artikel über Redis.
6. Ganzseitencache
Speichert die komplette, bereits erzeugte Seite und liefert sie aus, ohne PrestaShop auszuführen (LiteSpeed Cache, Varnish, Seitencache-Module). Er bringt die größte Beschleunigung und verlangt die meiste Sorgfalt: Warenkorb, Preise pro Kundengruppe, Bestand und personalisierte Hinweise dürfen nicht aus einer für einen anderen Besucher gespeicherten Seite kommen.
Reihenfolge beim Leeren der Caches
- Seitencache (falls vorhanden).
- Datencache.
- Leistung > Cache leeren (Smarty und Symfony).
- Browser-Cache (erzwungenes Neuladen).