Shopware Warenkorb plötzlich leer nach Wechsel der Kategorie

Von und
15. Februar 2018
Lesezeit: 2 Minuten

Der Kunde eröffnet ein Ticket und beschreibt einen sporadischen Fehler seines Onlineshops. Vereinzelt soll es vorkommen, dass der Warenkorb bei normaler Navigation im Shop (bspw. dem Wechsel der Kategorie) plötzlich leer ist.

Für den Umsatz und für das Vertrauen in den Shop wäre ein solches Verhalten ausgesprochen nachteilig, sodass wir im ersten Ansatz mit verschiedenen Methoden versucht haben, dieses Verhalten nachzustellen.

Leider ohne Erfolg!

Das Setup

Der Shop wird in diesem Fall auf einem Performance Cluster, bestehend aus dediziertem MySQL Server, Webserver, Mediaserver und Varnish Caching betrieben. Zusätzlich kommt ein Content Delivery Network (CDN) für die Mediendaten zum Einsatz.

Die Logik

Ein Warenkorb verliert nicht einfach seine Artikel! Ein Warenkorb ist an eine Session (Session Cookie) gebunden! Was ist also falsch mit dem Session Management oder dem Session Cookie?

Der Request Flow

Der zentrale Aufruf des Shops erfolgt über die Hauptdomain (Präfix „www“). Dabei wird die Verwendung des HTTPS Protokolls erzwungen und notfalls eine Weiterleitung gesendet.

Mediendaten (Bilder) sind über eine Subdomain (Präfix „cdn“) eingebunden, welche beim Anbieter wieder auf die sog. Origin (Präfix „media“) der Domain eingestellt ist.

Die Mediendaten liegen im Verzeichnis „media/“, welches seit der Installation auch bereits eine .htaccess Datei des Shopware Standard enthält.

Das Regulativ ist an sich ganz einfach: Existiert die angeforderte Ressource (Bilddatei) nicht im Dateisystem, wird die Anfrage an die „shopware.php“ und den Media Controller weitergeleitet, anstatt einen HTTP Status 404 (file not found) zu senden.

Aha, die Anfrage wird also immer von einem Shopware Controller beantwortet, wenn ein Bild im Dateisystem fehlt.

Wir sind also im Shopware Core! Und erhalten definitiv eine Antwort mit einem Set-Cookie Header.

Eigentlich keine schlechte Idee, dem Besucher so früh wie möglich einen Cookie zu senden, sollte er noch keinen haben. Nur macht dieses Verhalten im Zusammenspiel mit dem CDN und der abweichenden Domain wenig Sinn.

Im Gegenteil! Genau hierdurch verliert der Warenkorb seine Waren. Und zwar zu recht, da der o.g. Set-Cookie Header gesendet wird und den Browser zwingt, den vorherigen Cookie und damit die Zuordnung zum Warenkorb zu verwerfen.

Die Lösung

Wir haben uns dazu entschlossen, den Shopware Standard hier möglichst nicht zu verändern und konnten das Problem durch eine zusätzliche Zeile in der htaccess Datei lösen.

Mehr aus unserem Blog

SEO: Performance optimieren mit Google Lighthouse
7. März 2022 · Lesezeit: 7 Minuten

Wie rankt eine Website auf Google besonders hoch? Eine Frage, mit der wir uns bei dmf täglich beschäftigen. Eines unserer …

Weiterlesen
Was ist so toll am Hyvä-Theme?
16. Juli 2021 · Lesezeit: 4 Minuten

Seit seiner Vorstellung auf der Reacticon Conference 2020, spätestens aber seit dem Release Anfang Februar 2021, sorgt das neue Magento-2-Theme …

Weiterlesen
Mit dem richtigen Design die gefühlte Performance maximieren
19. April 2022 · Lesezeit: 6 Minuten

Eine schnelle Ladezeit ist maßgeblich für die Kundenzufriedenheit und die Conversion Rate Ihres Onlineshops. Neben der tatsächlichen Seitenladegeschwindigkeit gibt es …

Weiterlesen
Wie Sie Ihre Conversion mit Usability-Tests optimieren
11. Februar 2022 · Lesezeit: 4 Minuten

Eine optimale Usability ist der Schlüssel für einen erfolgreichen Onlineshop. Usability-Tests helfen, die Benutzerfreundlichkeit immer wieder auf die Probe zu …

Weiterlesen
6 Design-Tipps, mit denen Sie Ihr Google-Ranking verbessern
23. März 2022 · Lesezeit: 6 Minuten

Ein in die Jahre gekommenes Shop-Design oder eine schlechte Bedienbarkeit Ihrer Website kann Ihr Suchmaschinen-Ranking negativ beeinflussen. Sie verlieren dadurch …

Weiterlesen
Animationen im UI/UX-Design: Worauf kommt es an?
28. Februar 2022 · Lesezeit: 4 Minuten

Über das Thema Animation im User Interface Design wird viel debattiert. Dabei zeichnen sich zwei Fronten ab. Die eine Seite …

Weiterlesen
Was ist so toll am Hyvä-Theme?
16. Juli 2021 · Lesezeit: 4 Minuten

Seit seiner Vorstellung auf der Reacticon Conference 2020, spätestens aber seit dem Release Anfang Februar 2021, sorgt das neue Magento-2-Theme …

Weiterlesen
AWS Serverless Image Handler: Ein Bild, unendliche Möglichkeiten
4. Juni 2021 · Lesezeit: 4 Minuten

Die steigende Nutzung mobiler Endgeräte stellt den E-Commerce vor neue Herausforderungen. Die Darstellung von Onlineshops muss optimal auf die verschiedenen …

Weiterlesen