Shopware

Shopware Caching: Mit HTTP-Cache, Redis und Varnish die Performance Ihres Onlineshops steigern

HL

Holger Lentz

6 Min. Lesezeit

Caching ist die wirksamste Einzelmaßnahme, wenn es um Shopware-Performance geht. Eine sauber konfigurierte Cache-Architektur senkt die Antwortzeit Ihres Servers oft um den Faktor 10 oder mehr – ohne dass Sie eine einzige Zeile am Frontend ändern. Trotzdem laufen viele Shops mit Standardeinstellungen, lassen damit Ladezeit, Stabilität und am Ende Umsatz liegen. Als spezialisierte Shopware Agentur Köln sehen wir täglich, wie groß der Hebel beim Caching ist – und wie oft er ungenutzt bleibt.

In diesem Beitrag erklären wir Ihnen, wie die drei zentralen Bausteine HTTP-Cache, Redis und Varnish zusammenspielen, wann sich welcher Layer lohnt und worauf Sie bei der Konfiguration achten sollten.

Warum Caching im E-Commerce über Erfolg entscheidet

Jede Anfrage, die Shopware ohne Cache beantwortet, durchläuft den vollen Stack: PHP-Prozess starten, Kernel booten, Datenbank abfragen, Template rendern. Das kostet Zeit und Serverressourcen. Bei wenigen Besuchern fällt das kaum auf – sobald aber Kampagnen, Newsletter oder Saisonspitzen Traffic bringen, wird genau dieser Pfad zum Flaschenhals. Lange Antwortzeiten verschlechtern Ihre Core Web Vitals, drücken das Google-Ranking und erhöhen die Absprungrate direkt vor dem Kauf.

Der Grundgedanke beim Caching ist simpel: Ergebnisse, die sich nicht bei jedem Aufruf ändern, werden zwischengespeichert und beim nächsten Mal direkt ausgeliefert. Die Kunst liegt im Detail – nämlich darin, statische und dynamische Inhalte sauber zu trennen, damit der Warenkorb, Kundenpreise oder Login-Status trotz Cache immer korrekt bleiben.

Der HTTP-Cache: Ihr wichtigster Hebel

Shopware bringt einen integrierten HTTP-Cache mit, der komplette Seiten als fertiges HTML vorhält. Jeder Shop mit nennenswertem Traffic sollte ihn aktiviert haben. In Kombination mit dem Modus prod in der .env ist das die Basis jeder Performance-Optimierung. Über Caching-Policies lässt sich das Verhalten pro Bereich – Storefront oder Store-API – und sogar pro Route steuern, inklusive Direktiven wie max-age oder s-maxage.

Die größte Herausforderung ist die Cache-Invalidierung: Ändern Sie einen Preis oder Lagerbestand, müssen die betroffenen Seiten neu gebaut werden. Shopware löst das standardmäßig verzögert über die Message Queue – alle zu invalidierenden Tags werden gesammelt und in regelmäßigen Intervallen abgearbeitet. Personalisierte Inhalte wie der Warenkorb werden über den sw-context-hash und clientseitiges Nachladen per AJAX abgebildet, sodass der Seiten-Cache nicht durch individuelle Daten unbrauchbar wird.

Redis: Sessions und Objekt-Cache auslagern

Im Auslieferungszustand nutzt Shopware einen dateibasierten Cache im Verzeichnis var/cache. Auf einem einzelnen Server funktioniert das gut, stößt aber an Grenzen, sobald Sie mit Load-Balancern oder mehreren Servern arbeiten – dann braucht jeder Knoten denselben Cache-Stand. Genau hier kommt Redis ins Spiel: ein In-Memory-Speicher, der Objekt-Cache und Sessions zentral und blitzschnell verwaltet.

Verlagern Sie die PHP-Sessions in Redis, entlasten Sie das Dateisystem des Servers und beschleunigen die Verarbeitung von Anfragen spürbar – besonders bei hoher Last. Redis arbeitet auf der Applikationsebene und beschleunigt vor allem datenbanknahe Abläufe im Backend. Für wachsende Shops ist Redis daher die logische nächste Stufe nach dem aktivierten HTTP-Cache, oft ergänzt um den PHP-OPcache, der kompilierten PHP-Code im Speicher hält.

Varnish: Wann sich der Reverse Proxy wirklich lohnt

Varnish ist ein Reverse-Proxy-Cache, der als eigene Schicht vor die Shopware-Anwendung gesetzt wird. Sein Vorteil: Gecachte Seiten werden direkt von Varnish ausgeliefert, ohne dass der Shopware-Kernel überhaupt bootet oder ein PHP-Prozess startet. Das ist die schnellste denkbare Auslieferung – allerdings auch mit Konfigurationsaufwand verbunden.

Wichtig zu wissen: Für die meisten Shops ist Varnish überdimensioniert. Ein echter Vorteil entsteht erst, wenn der Traffic so hoch ist, dass selbst gecachte Seiten zum Engpass werden – das betrifft nur wenige, sehr stark frequentierte Shops. Für den Großteil der Projekte liefern HTTP-Cache und Redis bereits hervorragende Ladezeiten. Erst bei großen Katalogen und hohen Besucherzahlen ist die Kombination aus HTTP-Cache, Redis, OPcache und optional Varnish die Königsdisziplin. Welcher Layer für Ihr Setup sinnvoll ist, hängt von Traffic, Architektur und Budget ab – eine pauschale Antwort gibt es nicht.

Die richtige Cache-Strategie für Ihren Shop

Unsere Empfehlung aus der Praxis lautet: Bauen Sie Ihre Cache-Architektur in Stufen auf, statt von Anfang an alles zu installieren. Beginnen Sie mit aktiviertem HTTP-Cache im prod-Modus, skalieren Sie mit Redis für Sessions und Objekt-Cache, lassen Sie die Invalidierung sauber über die Message Queue laufen und ziehen Sie Varnish nur dann hinzu, wenn die Zahlen es wirklich verlangen. Jede Stufe sollte gemessen und nicht geraten werden – ein TTFB-Wert vor und nach der Änderung sagt mehr als jede Annahme.

Falsch konfiguriert kann Caching allerdings auch schaden: veraltete Preise, falsche Lagerbestände oder ausgelieferte Warenkörbe fremder Kunden sind reale Risiken, wenn dynamische und statische Inhalte nicht sauber getrennt werden. Eine durchdachte Shopware Architektur denkt Caching deshalb von Beginn an mit – und nicht erst, wenn der Shop unter Last langsam wird.

Bereit für einen Shopware-Shop, der wirklich skaliert? Sprechen Sie mit enno.dev – wir analysieren Ihr Caching-Setup, finden den größten Hebel und bauen E-Commerce, der mit Ihrem Business wächst.

Lassen Sie uns über Ihr Projekt sprechen:

Wir melden uns innerhalb 24 Stunden bei Ihnen.

Ganz unverbindlich.

Sie gehen mit konkreten weiteren Schritten aus dem Gespräch raus.

Ihr AnsprechpartnerHolger Lentz
Persönlich, direkt, ehrlich
Sprechen wir über Ihr Projekt
Wir schauen uns Ihr Setup an, sagen Ihnen ehrlich, was funktioniert, was wir anders machen würden und ob wir der richtige Partner für Sie sind.
Holger Lentz
CEO, enno.dev GmbH