Saftkuren, Abos und Rabatte: Fehlersuche im laufenden WooCommerce-Shop
Einen laufenden WooCommerce-Shop für Saftkuren umgebaut und stabilisiert: eigene Versandlogik für Kuren, Rabatte, die sich nicht mehr ungewollt addieren, und Analysen, die Fehler an ihrer echten Ursache packen.
- Kunde
- Schweizer Anbieter von Saftkuren (im Auftrag von MediaSupport)
- Branche
- E-Commerce / Lebensmittel
- Zeitraum
- 2019
- Meine Rolle
- Entwicklung und Analyse im Unterauftrag
- Technologien
- WordPress · WooCommerce · PHP · MySQL · Odoo REST API
Ausgangslage
Ein Schweizer Anbieter verkauft Saftkuren und frische Getränke über einen mehrsprachigen WooCommerce-Shop, auch im Abonnement. Was nach einem gewöhnlichen Onlineshop klingt, hat einige Besonderheiten:
- Saftkuren werden frisch produziert und brauchen andere Liefertermine als normale Produkte.
- Abonnements müssen zuverlässig zum richtigen Termin geliefert werden, abhängig von Produktkategorie und Bestellzeitpunkt.
- Rabatte gibt es in mehreren Formen: Mengenrabatte für mehrere Kuren und individuelle Rabatte, zum Beispiel für Firmen, die im Team eine Kur machen.
Der Shop lief bereits. Es ging also nicht um einen Neubau, sondern darum, einen Shop im laufenden Betrieb umzubauen, Fehler zu finden und die Logik so anzupassen, dass das Geschäft wie geplant funktioniert. Über die Agentur MediaSupport habe ich das von Februar bis August 2019 übernommen.
Mein Beitrag
Ich habe allein gearbeitet:
- Umbau von Warenkorb und Checkout für die Sonderlogik der Saftkuren
- Analyse und Lösung der Rabattprobleme
- Fehleranalyse bei Abo-Lieferterminen und beim Produktionsexport
- Laufende Betreuung: Sicherheitsupdates, Mailversand, Tests der Odoo-Anbindung
- Dokumentation für das Team des Shops
Technische Umsetzung
Kuren als eigene Produktart. Im Backend lässt sich festlegen, welche Produktkategorien als Kuren gelten. Für diese Produkte zeigt der Warenkorb eine eigene Darstellung und berechnet das Versanddatum nach eigenen Regeln. Kategorie- und Produktrabatte werden als Hinweistexte direkt im Preisfeld angezeigt und lassen sich im Backend pflegen.
Rabatte, die sich nicht addieren dürfen. Der Auftraggeber wollte eine Kooperation mit Firmenkunden abschließen. Die Bedingung: Ein individueller Rabatt von 20 % darf sich nicht mit dem automatischen Mengenrabatt addieren. Genau das passierte aber, obwohl der Rabatt als „nicht kumulierbar“ markiert war. Meine Analyse zeigte zwei Dinge. Erstens war eine Rabattstaffel falsch eingerichtet, mit 10 Euro statt 10 %. Zweitens konnte das eingesetzte Dynamic-Pricing-Plugin die gewünschte Regel grundsätzlich nicht abbilden. Die Lösung war der Wechsel auf ein anderes Rabatt-Plugin, das diese Ausschlüsse beherrscht.
Fehler an der richtigen Stelle suchen. Bei einem Abo meldete der Auftraggeber falsche Liefertermine. Ich habe den Fall Schritt für Schritt nachgerechnet: Produkt, Produktkategorie, Versandkategorie, Bestellschluss, Vorlaufzeit. Ergebnis: Die Terminberechnung der Abos war korrekt. Die Ursache lag in der Zuordnung eines Produkts zur falschen Versandkategorie. Ohne diese Analyse wäre an der falschen Stelle programmiert worden.
Betrieb. Außerdem habe ich Fehler im CSV-Export für die Produktion behoben, den Mailversand per SMTP wiederhergestellt, nach einem Ausfall ein Sicherheitsupdate eingespielt, die REST-API von Odoo für die Anbindung getestet und Produktkarussells umgesetzt.
Ergebnis
- Warenkorb und Checkout bilden die Sonderlogik der Saftkuren ab, einschließlich eigener Versanddaten.
- Rabatte addieren sich nicht mehr ungewollt. Damit war die Voraussetzung für die geplante Firmenkooperation erfüllt.
- Abo-Probleme wurden an ihrer tatsächlichen Ursache gelöst, in der Konfiguration statt im Code.
- Der Produktionsexport läuft wieder fehlerfrei, Mailversand und Sicherheit sind wiederhergestellt.
- Eine Dokumentation, mit der das Team des Shops selbst arbeiten kann
Was ich daraus mitnehme
In einem laufenden Shop ist die schnellste Lösung selten die erste Codezeile. Zweimal lag das Problem nicht dort, wo es gemeldet wurde: einmal in einer falsch eingerichteten Rabattstaffel, einmal in einer Kategoriezuordnung. Eine saubere Analyse, die den Fall Schritt für Schritt nachvollzieht, spart dem Auftraggeber Geld und verhindert neue Fehler.
Außerdem gilt: Plugins sind nur so gut wie die Regeln, die sie abbilden können. Wenn eine Geschäftsanforderung nicht hineinpasst, ist ein Wechsel oft billiger als jeder Umweg.