Wann reicht Standard-WooCommerce nicht mehr aus?
WooCommerce hat ein riesiges Ökosystem an Erweiterungen. Zahlungen, Versand, Abonnements, Treueprogramme oder Marktplatz-Integrationen lassen sich in vielen Fällen ohne eigenen Code einrichten. Für die meisten Shops ist das eine gute Nachricht: Fertige Erweiterungen werden von vielen Nutzern getestet und von ihren Entwicklern weiterentwickelt.
Das Problem beginnt, wenn das Verkaufsmodell vom Schema Produkt → Warenkorb → Checkout → Zahlung abweicht und immer weitere Plugins versuchen, es in dieses Schema zu pressen.
Anzeichen, dass fertige Erweiterungen nicht mehr ausreichen
- Der Verkaufsprozess braucht Schritte, die kein Plugin vorsieht, z. B. ein Angebot vor der Bestellung oder die Freigabe der Bestellung durch einen Kundenbetreuer;
- mehrere Plugins verändern denselben Teil des Shops, meist den Warenkorb oder den Checkout, und kommen sich gegenseitig in die Quere;
- nach jedem Update muss von Hand geprüft werden, ob der wichtigste Kaufpfad noch funktioniert;
- ein Teil der Geschäftslogik wird vom Team manuell erledigt, weil der Shop es „nicht kann“;
- die Konfiguration ist auf viele Einstellungsseiten verteilt, und es ist schwer nachzuvollziehen, warum sich der Shop so verhält, wie er sich verhält.
Ein einzelnes Anzeichen bedeutet noch nicht, dass ein eigenes Plugin nötig ist. Mehrere gleichzeitig bedeuten meist, dass die Kosten für die Pflege der vorhandenen Erweiterungen schneller wachsen als der Shop.
Was eine individuelle Funktion bringt
Ein individuelles Plugin ersetzt nicht das ganze Ökosystem. Es deckt meist einen bestimmten Teil der Geschäftslogik ab, etwa B2B-Preisregeln, einen besonderen Checkout oder einen Produktkonfigurator, und erledigt das an einer einzigen, berechenbaren Stelle.
Die wichtigsten Vorteile sind:
- eine Quelle der Logik statt mehrerer Plugins, die denselben Prozess verändern;
- Kontrolle über Updates: Der Code liegt in einem Repository und durchläuft Tests vor dem Deployment;
- Anpassung an den Prozess, statt einen Prozess an die Möglichkeiten eines Plugins anzupassen.
Wann man bei fertigen Lösungen bleiben sollte
Wenn eine Erweiterung den Prozess gut abdeckt, aktiv weiterentwickelt wird und nicht mit anderen Teilen des Shops kollidiert, gibt es meist keinen Grund, sie zu ersetzen. Eigener Code bedeutet auch eigene Verantwortung für seine Pflege.
Ein vernünftiger Ansatz verbindet beide Welten: fertige Erweiterungen dort, wo der Prozess Standard ist, und individuellen Code dort, wo sich der Shop wirklich vom Schema unterscheidet.
Wo man anfängt
Bevor die erste Zeile Code entsteht, lohnt es sich, den Verkaufsprozess Schritt für Schritt aufzuschreiben und die Stellen zu markieren, an denen die vorhandenen Plugins ihn verbiegen. Eine solche Übersicht zeigt, ob das Problem eine einzelne Funktion oder die gesamte Shop-Architektur betrifft, und erlaubt es, die Änderung zu planen, ohne alles von Grund auf neu zu schreiben.