Angenommen, wir haben einen Fall, bei dem ein Produkt nicht mehr lieferbar ist
Was sollen wir mit diesen Produkten machen? Sollen wir sie einfach aus unserem Shop löschen?
Auf den ersten Blick ist klar, so ein Produkt bringt uns nichts mehr.
Wir wollen auch nicht, dass uns potentielle Kunden abspringen, weil sie zwar ihr vermeintliches Lieblingsprodukt gefunden haben, aber es nicht mehr kaufen können. Wir wollen auch nicht ständig erklären müssen, warum dieses Produkt zwar noch in unserem Online-Shop zu finden ist, aber nicht mehr bestellt werden kann.
Die vermeintlich einfachste Lösung ist, das Produkt einfach aus unserem Katalog zu löschen. Aber Vorsicht, das kann zu unschönen Problemen führen.
Der Aufbau einer WooCommerce Bestellung
Nicht alle Daten eines Produkts werden bei der Bestellung festgehalten.
Um zu verstehen, welche Probleme auf uns zukommen können, wenn wir ein Produkt löschen, müssen wir uns erst anschauen, wie Bestellungen bei WooCommerce in der Datenbank gespeichert werden.
Es gibt die Datenbank-Tabelle wc_orders, wo alle Bestellungen aufgelistet sind. Daneben gibt es die Tabelle woocommerce_order_items, wo alle Produkte der Bestellung aufgelistet sind. Die wichtigsten Informationen zu den bestellten Produkten finden sich in der woocommerce_order_itemmeta Tabelle. Hier wird auch die Produkt-ID gespeichert, wodurch wir in der posts-Tabelle schließlich das Produkt finden.
Wie wir erkennen können, werden sowohl Produktname, als auch die Stückzahl, Preise und Steuern für das Produkt in einer eigenen Tabelle gespeichert. Das heißt, diese Informationen gehen uns nie verloren! Auch wenn wir ein Produkt aus der Datenbank löschen, finden wir dort immer noch alle notwendigen Daten, um eine Rechnung für eine Bestellung zu erstellen. Allerdings verlieren wir alle Informationen, die zum Produkt selber gespeichert waren. Wir können z.B. nicht mehr klar nachvollziehen, wie das Produkt ausgesehen hat.
Was passiert, wenn wir das Produkt komplett aus der Datenbank löschen?
Ab jetzt kann es wirklich zu Fehlern kommen, die die Anzeige der Bestellung kaputt machen können.
Wir müssen bedenken, dass wir in unserem Onlineshop jederzeit unsere Bestellungen auf unserer Kundenseite ansehen können. Hier können auch zusätzliche Informationen zum Produkt angezeigt werden. Nicht nur jene, die ich für eine Rechnung benötige!
Hier kann je nach Seitendesign ein Produktbild eingebunden werden. Und wenn es das Produkt nicht mehr gibt, kann es auch kein Produktbild oder andere Metadaten geben. Denn diese sind nicht mit der Rechnung verknüpft, sondern mit dem Produkt selber.
Diese Methode ist weder gut für Kunden, noch für unser Rating von Suchmaschinen. Weil wir dadurch Gefahr laufen, Fehlerausgaben und fehlerhafte Links zu produzieren.
Was passiert, wenn wir ein Produkt in einen anderen – nicht veröffentlichten – Status versetzen?
Jetzt haben wir das Problem, dass wir das Produkt, das wir gekauft haben, im Shop nicht mehr finden können.
Wir haben zwar alle nötigen Daten für die Rechnung und können auch auf der Kundenseite alle relevanten Metadaten zum Produkt anzeigen, aber wir haben einen Link, der uns eine Fehlerseite anzeigt.
Diese Methode führt zu schließlich zu den selben Problemen, wie die vorherige. Allerdings ohne Gefahr zu laufen, Fehlerausgaben und dadurch kaputte Seiten zu produzieren.
Wie lösen wir dieses Problem also?
Wir wollen weder ein Produkt löschen, noch verstecken. Die Antwort liegt dazwischen. Wir verschleiern!
WooCommerce bietet uns in den Einstellungen die Option zur einfachen Lagerverwaltung. Zusammen mit der Option „Nicht vorrätige Produkte im Produkatalog verbergen“ und dem Lagerbestand, den wir beim Produkt setzen, zeigt unser Shop keine Produkte an, die wir nicht mehr vorrätig haben.
Dadurch behalten wir alle Informationen zu allen Produkten und können immer genau nachvollziehen, welche Produkte bei welcher Bestellung gekauft wurden. Zudem produzieren wir keine fehlerhaften Links, was sich nicht negativ auf unser Rating bei Suchmaschinen auswirkt.