Shopware Cache leeren
Änderungen an Theme, Konfiguration oder Erweiterungen werden nicht angezeigt oder Shopware verwendet veraltete Daten. Diese Anleitung zeigt, wie der Shopware-Cache über Administration und CLI sicher geleert, anschließend aufgewärmt und von Indizes sowie Theme-Kompilierung abgegrenzt wird.
Änderungen erscheinen nicht, alte Inhalte bleiben sichtbar oder Shopware verwendet veraltete Konfigurationen.
Veralteter Shopware-Cache, nicht aufgewärmter Container oder zusätzlich zwischengeschalteter Proxy- und Browser-Cache.
Cache leeren ersetzt keine Indexierung, Theme-Kompilierung oder Fehleranalyse bei inkompatiblem Code.
Inhaltsverzeichnis
- Wann Cache leeren sinnvoll ist
- Cache, Indizes und Theme unterscheiden
- Cache in der Administration leeren
- Cache über die CLI leeren
- Cache wieder aufwärmen
- Indizes aktualisieren
- Theme neu kompilieren
- Browser-, CDN- und Proxy-Cache prüfen
- Fehler beim Cache-Leeren beheben
- Manuelles Löschen richtig einordnen
- Regelmäßige Cache-Pflege
- Abschlusskontrolle
1. Wann das Leeren des Shopware-Caches sinnvoll ist
Shopware speichert berechnete Konfigurationen, Containerdateien und weitere Zwischenergebnisse, um Seiten und Prozesse schneller auszuführen. Nach technischen Änderungen können deshalb noch alte Zustände verwendet werden.
- Änderungen an einer Konfigurationsdatei werden nicht übernommen.
- Ein Plugin wurde installiert, aktualisiert oder angepasst.
- Ein Theme wurde verändert.
- Textbausteine oder technische Einstellungen erscheinen veraltet.
- Nach einem Update treten widersprüchliche Darstellungen auf.
- Shopware meldet einen veralteten Container oder Service.
- Entwicklungsänderungen sind im Frontend nicht sichtbar.
Ein Cache-Lauf ist eine Wartungsmaßnahme, keine universelle Reparatur. Datenbankfehler, fehlende Dateien, Composer-Konflikte oder inkompatible Plugins werden dadurch nicht behoben.
2. Cache, Indizes und Theme-Kompilierung unterscheiden
| Maßnahme | Zweck | Typischer Befehl |
|---|---|---|
| Cache leeren | Zwischengespeicherte System- und Containerdaten entfernen | cache:clear |
| Cache aufwärmen | Wichtige Cache-Dateien kontrolliert neu erzeugen | cache:warmup |
| Indizes aktualisieren | Abgeleitete Daten wie Produkt-, Kategorie- und SEO-Strukturen neu berechnen | dal:refresh:index |
| Theme kompilieren | Storefront-CSS und JavaScript des aktiven Themes neu erzeugen | theme:compile |
| Browser-Cache leeren | Lokal gespeicherte Dateien im Browser aktualisieren | Browserfunktion |
| CDN- oder Proxy-Cache leeren | Extern zwischengespeicherte Seiten und Dateien erneuern | Anbieterabhängig |
Zuerst bestimmen, welche Ebene betroffen ist. Ein Textbausteinproblem benötigt normalerweise keine vollständige Neuindexierung aller Produktdaten.
3. Shopware-Cache in der Administration leeren
In selbst gehosteten Shopware-6-Installationen befindet sich die Cache-Verwaltung in der Administration unter:
Einstellungen → System → Caches & Indizes
Cache aktualisieren
Diese Funktion eignet sich für kürzlich geänderte Daten und Konfigurationen. Sie ist weniger umfassend als das vollständige Löschen des Caches.
Cache löschen
Dadurch wird der vollständige Shopware-Cache geleert. Direkt danach können erste Seitenaufrufe langsamer sein, weil benötigte Cache-Inhalte neu erstellt werden.
- Administration öffnen.
- Einstellungen aufrufen.
- System und anschließend Caches & Indizes öffnen.
- Je nach Fehlerbild „Cache aktualisieren“ oder „Cache löschen“ wählen.
- Storefront und Administration danach neu prüfen.
Der Administrationsbenutzer benötigt die Berechtigung für den Bereich Caches & Indizes. Fehlt die Funktion, zuerst die Benutzerrechte prüfen.
4. Shopware-Cache über die CLI leeren
In das Shopware-Hauptverzeichnis wechseln
cd /pfad/zum/shopware-verzeichnis
Cache leeren
bin/console cache:clear
Mit festem PHP-Pfad:
/usr/bin/php bin/console cache:clear
Ausgabe vollständig prüfen
Der Befehl muss ohne Exception beendet werden. Eine Erfolgsmeldung bestätigt, dass der Shopware-Cache geleert wurde. Sie bestätigt jedoch noch nicht, dass alle fachlichen Änderungen korrekt sind.
Die Kommandozeile zeigt Fehler direkt an und ist bei Updates, Plugin-Arbeiten und Serverwartung aussagekräftiger als ein ausschließlich browserbasierter Cache-Lauf.
5. Cache nach dem Leeren wieder aufwärmen
Auf einem Livesystem sollte der Cache nach dem vollständigen Leeren wieder aufgewärmt werden. Dadurch werden zentrale Cache-Dateien kontrolliert vorbereitet, bevor reguläre Besucher sie durch erste Seitenaufrufe erzeugen.
bin/console cache:warmup
/usr/bin/php bin/console cache:warmup
Zuerst cache:clear, danach cache:warmup und anschließend Storefront sowie Administration testen.
6. Indizes nur bei Bedarf aktualisieren
Shopware-Indizes enthalten abgeleitete Daten für verschiedene Funktionen. Werden Produkt-, Kategorie- oder SEO-Daten nicht korrekt dargestellt, kann zusätzlich eine Indexaktualisierung notwendig sein.
bin/console dal:refresh:index
/usr/bin/php bin/console dal:refresh:index
Bei großen Produktbeständen kann die Aktualisierung länger dauern und Serverressourcen beanspruchen. Den Befehl nicht ohne konkreten Bedarf bei jedem kleinen Cache-Problem ausführen.
Nach einer umfangreichen Indexierung müssen auch Message Queue und Scheduled Tasks zuverlässig arbeiten. Hinweise dazu finden Sie in den Anleitungen Shopware Message Queue hängt und Shopware Scheduled Tasks funktionieren nicht.
7. Theme nur bei Storefront-Änderungen neu kompilieren
Änderungen an SCSS, CSS, JavaScript oder Theme-Konfigurationen können eine neue Theme-Kompilierung erfordern.
bin/console theme:compile
/usr/bin/php bin/console theme:compile
Wann Theme-Kompilierung sinnvoll ist
- Theme-Dateien wurden geändert.
- Ein Theme-Plugin wurde aktualisiert.
- SCSS-Variablen wurden angepasst.
- Storefront-JavaScript wurde ergänzt oder geändert.
- Nach einem Update fehlen Styles oder Skripte.
Bricht die Kompilierung mit einer Twig-, SCSS- oder JavaScript-Exception ab, muss die konkrete Datei beziehungsweise Erweiterung korrigiert werden.
8. Browser-, CDN- und Proxy-Cache prüfen
Ist der Shopware-Cache korrekt geleert, können weiterhin andere Cache-Ebenen alte Inhalte ausliefern.
| Cache-Ebene | Typisches Fehlerbild | Prüfung |
|---|---|---|
| Browser-Cache | Nur ein Gerät zeigt alte Styles oder Skripte. | Privates Fenster oder erzwungenes Neuladen testen. |
| Cloudflare oder CDN | Öffentliche Seiten bleiben trotz Shopware-Cache unverändert. | CDN-Cache gezielt leeren und Cache-Regeln prüfen. |
| Reverse Proxy | HTML-Seiten werden extern zwischengespeichert. | Proxy-Konfiguration und Purge-Mechanismus prüfen. |
| PHP-OPcache | Geänderter PHP-Code wird weiterhin alt ausgeführt. | PHP-Prozess beziehungsweise Hosting-Funktion kontrolliert neu laden. |
| Service Worker | Einzelne Frontend-Dateien bleiben lokal veraltet. | Browser-Entwicklertools und registrierte Service Worker prüfen. |
Seite in einem privaten Browserfenster und zusätzlich über ein anderes Netzwerk aufrufen. Dadurch lässt sich ein lokales Cache-Problem von einem serverseitigen Problem abgrenzen.
9. Typische Fehler beim Cache-Leeren beheben
| Fehlerhinweis | Mögliche Ursache |
|---|---|
| Could not open input file: bin/console | Falsches Arbeitsverzeichnis oder falscher Pfad |
| Permission denied | CLI-Benutzer darf Cache- oder Logverzeichnis nicht beschreiben |
| Class not found | Unvollständige Composer-Installation oder inkompatible Erweiterung |
| Service not found | Fehlerhafte Container-Konfiguration oder Erweiterung |
| Allowed memory size exhausted | CLI-PHP-Speicherlimit zu niedrig |
| No space left on device | Kein freier Speicherplatz für neue Cache-Dateien |
| Theme compilation failed | Fehler in Theme, Plugin, Twig, SCSS oder JavaScript |
Freien Speicherplatz prüfen
df -h
Rechte der Cache- und Logverzeichnisse prüfen
ls -ld var var/cache var/log
Shopware-Logs auswerten
tail -n 200 var/log/prod-*.log
10. Manuelles Löschen des Cache-Verzeichnisses richtig einordnen
Das direkte Löschen von Cache-Dateien ist nur eine Notfallmaßnahme, wenn die Shopware-Konsole wegen eines beschädigten Containers nicht mehr startet. Im Normalfall ist cache:clear vorzuziehen.
Ein falsch gesetzter Pfad kann andere Dateien löschen. Vor jeder manuellen Entfernung müssen aktuelles Verzeichnis, Zielpfad, Benutzerrechte und Backup geprüft werden.
Aktuelles Verzeichnis und Ziel prüfen
pwd
ls -lah var/cache/
Bei einem nicht mehr startenden Container sollte ein Administrator zunächst den genauen Cache-Pfad der Installation bestimmen und nur dessen Inhalt entfernen. Danach muss der Cache über die Shopware-CLI neu aufgebaut und die ursprüngliche Exception behoben werden.
11. Regelmäßige Cache-Pflege einrichten
Shopware weist darauf hin, dass der Cache in selbst gehosteten Installationen nicht automatisch vollständig geleert wird. Eine regelmäßige Pflege kann deshalb sinnvoll sein, sollte aber in einer verkehrsarmen Zeit erfolgen.
30 3 * * * cd /pfad/zum/shopware-verzeichnis && /usr/bin/php bin/console cache:clear && /usr/bin/php bin/console cache:warmup >> /dev/null 2>&1
Ein täglicher kompletter Cache-Lauf ist nicht für jede Installation zwingend erforderlich. PHP-Pfad, Shopware-Verzeichnis, Zeitpunkt und Serverleistung müssen zur Umgebung passen.
Bei der Einrichtung sollte die Ausgabe zuerst in eine Logdatei geschrieben werden. Erst nach erfolgreichem Test kann sie verworfen oder über die Serverüberwachung erfasst werden.
12. Abschlusskontrolle
- Der passende Cache-Bereich wurde bestimmt.
- cache:clear lief ohne Exception.
- cache:warmup lief erfolgreich.
- Storefront und Administration wurden neu geladen.
- Browser- und CDN-Cache wurden bei Bedarf geprüft.
- Indizes wurden nur bei tatsächlichem Bedarf aktualisiert.
- Theme wurde nur bei Storefront-Änderungen kompiliert.
- Keine neue Exception steht im Shopware-Log.
- CLI-Benutzer und Verzeichnisrechte stimmen.
- Ausreichend freier Speicherplatz ist vorhanden.
- Die ursprüngliche Änderung ist jetzt sichtbar.
- Checkout und zentrale Shopfunktionen arbeiten weiterhin.
Die Maßnahme ist abgeschlossen, wenn Shopware den Cache ohne Fehler neu aufgebaut hat und die erwarteten Änderungen in Storefront oder Administration sichtbar sind.
Häufige Fragen
Welcher Befehl leert den Shopware-Cache?
Der Standardbefehl lautet bin/console cache:clear. Bei einem festen PHP-Pfad kann beispielsweise /usr/bin/php bin/console cache:clear verwendet werden.
Muss der Cache danach aufgewärmt werden?
Auf einem Livesystem ist cache:warmup nach dem vollständigen Leeren sinnvoll, damit zentrale Cache-Dateien kontrolliert neu aufgebaut werden.
Warum sind Änderungen trotz cache:clear nicht sichtbar?
Mögliche Ursachen sind Browser-Cache, CDN, Reverse Proxy, OPcache, fehlende Theme-Kompilierung oder nicht aktualisierte Indizes.
Ist dal:refresh:index dasselbe wie cache:clear?
Nein. Der Cache speichert Zwischenergebnisse. Die Indexierung berechnet abgeleitete Daten für Produkte, Kategorien, SEO und weitere Bereiche.
Muss nach jeder Änderung theme:compile ausgeführt werden?
Nur bei Änderungen, die das Storefront-Theme, SCSS, JavaScript oder entsprechende Theme-Konfigurationen betreffen.
Darf var/cache manuell gelöscht werden?
Nur kontrolliert als Notfallmaßnahme, wenn die CLI wegen eines beschädigten Containers nicht mehr startet. Der genaue Zielpfad muss vorher eindeutig geprüft werden.
Kann Cache-Leeren den Shop kurz verlangsamen?
Ja. Direkt danach müssen Cache-Inhalte neu erzeugt werden. Deshalb sollte auf Livesystemen anschließend ein Cache-Warmup erfolgen.
Verwandte Shopware-Anleitungen
Änderungen sind trotz geleertem Cache nicht sichtbar?
Ich prüfe Shopware-Cache, Indizes, Theme-Kompilierung, Erweiterungen, CDN und Serverkonfiguration direkt in der bestehenden Shopware-Installation.
Technische Prüfung anfragen