// Shopware-Hilfe
„Haben Sie schon den Cache geleert?“ ist der häufigste Tipp bei Shopware-Problemen. Manchmal ist er richtig, oft verdeckt er nur die Ursache, und regelmäßig angewendet macht er den Shop langsam. Hier steht, welche Caches es gibt, wie Sie sie leeren und wann Sie es besser lassen.
Shopware speichert fertige Seiten und häufig gebrauchte Daten zwischen, damit nicht jeder Aufruf alles neu berechnen muss. Den Cache zu leeren hilft, wenn Änderungen an Konfiguration, Plugins oder Regeln nicht ankommen. Es hilft nicht bei Fehlern im Code, im Theme oder in den Daten, und wer es regelmäßig tut, zwingt den Shop, jede Seite neu zu berechnen, was ihn spürbar langsamer macht. Zeigt der Shop Änderungen trotz geleertem Cache nicht, liegt es oft an einem anderen Zwischenspeicher: im Browser, in einem CDN, im PHP-OPcache oder an einem Theme, das noch nicht neu kompiliert wurde.
// Ursachen
Speichert fertige Seiten der Storefront. Er macht den Shop schnell und ist meist der Grund, wenn Änderungen erst verzögert erscheinen.
Hält Konfiguration, Regeln und häufig gebrauchte Daten bereit, im Dateisystem oder in Redis. Nach Änderungen an Konfigurationsdateien muss er neu aufgebaut werden.
Das kompilierte Design ist kein Cache im engeren Sinn. Ändern sich Styles oder Skripte, hilft Cache leeren allein nicht, das Theme muss neu kompiliert werden.
Ihr Browser speichert Skripte und Bilder. Gerade im Admin nach Updates ist er häufig der eigentliche Grund für Fehler.
Liegt ein CDN oder Varnish vor dem Shop, speichert auch dieser Seiten. Er muss gesondert geleert werden oder von Shopware passend angestoßen werden.
Speichert den PHP-Code. Ist er so eingestellt, dass er Dateiänderungen nicht prüft, werden geänderte Dateien erst nach einem Neustart von PHP wirksam.
bin/console cache:clear im Hauptordner des Shops. Danach baut Shopware den Cache bei den nächsten Aufrufen wieder auf.bin/console theme:compile, danach den Cache leeren..env oder config/packages.Mit 6.7 hat Shopware den Cache überarbeitet. Unter anderem werden Einträge nicht mehr bei jeder Änderung sofort ungültig gemacht, sondern gesammelt und verzögert. Änderungen erscheinen deshalb manchmal mit kurzer Verzögerung in der Storefront, das ist gewollt. Damit das zuverlässig klappt, müssen die geplanten Aufgaben im Hintergrund laufen. Wie das geht, steht im Artikel zur Message Queue und den geplanten Aufgaben.
Ein Shop, der nach Updates sauber eingerichtet ist, braucht selten einen geleerten Cache. Wer Updates auf einer Kopie testet und Worker und Scheduler im Hintergrund laufen hat, erspart sich das Rätselraten. Das gehört zu unserer Wartung für Shopware-Shops, damit Cache leeren die Ausnahme bleibt.
Wenn Änderungen trotz Cache leeren dauerhaft nicht ankommen, wenn der Shop nach jedem Leeren lange langsam ist oder wenn ein Fehler nach dem Leeren immer wiederkommt. Dann prüfen wir Cache-Einstellungen, Worker, CDN und Server zusammen.
// Soforthilfe
Schicken Sie uns kurz, welche Änderung nicht ankommt oder was nach dem Leeren des Caches passiert. Sie bekommen eine Einschätzung, wo der Zwischenspeicher hängt.
// Häufige Fragen
Unter Einstellungen, System, Caches & Indizes. Dort gibt es Schaltflächen, um den Cache zu leeren und die Indizes zu aktualisieren. Auf der Kommandozeile geht es mit bin/console cache:clear.
Nein. Bestellungen, Kunden, Produkte und Einstellungen bleiben erhalten. Gelöscht werden nur zwischengespeicherte Kopien, die Shopware danach neu aufbaut. Der Shop ist dabei kurz langsamer.
Oft hängt ein anderer Zwischenspeicher: der Browser, ein CDN oder Varnish, der PHP-OPcache oder ein Theme, das nicht neu kompiliert wurde. In Shopware 6.7 erscheinen manche Änderungen außerdem bewusst mit kurzer Verzögerung.
Nein. Regelmäßiges Leeren, etwa per Cronjob, macht den Shop dauerhaft langsamer, weil er jede Seite immer wieder neu berechnen muss. Leeren Sie ihn gezielt nach Änderungen.
Manchmal, wenn der Cache nach einem Update nicht zu den neuen Dateien passt. Meist steckt aber eine andere Ursache dahinter, die in der Log-Datei steht. Mehr dazu im Artikel zum Fehler 500.