Shop trifft Content: Magento-Produkte in WordPress einbinden
Für Nanoheli.net ein WordPress-Plugin entwickelt, das Produkte aus dem Magento-Shop in redaktionelle Inhalte einbindet – über REST und SOAP, mit Caching und frei gestaltbaren Widgets.
- Kunde
- Nanoheli.net
- Branche
- E-Commerce / Content-Commerce
- Zeitraum
- 2017
- Meine Rolle
- Entwicklung und Design
- Technologien
- WordPress · PHP · Magento REST API · Magento SOAP API · Caching
Ausgangslage
Viele Onlinehändler trennen Shop und Inhalte: Der Shop läuft auf einem E-Commerce-System wie Magento, Blog, Ratgeber und Unternehmensseiten laufen auf WordPress. Das ist technisch sinnvoll, hat aber eine Schwäche. Ein Artikel über ein Produkt kann nicht ohne Weiteres das Produkt selbst zeigen, mit aktuellem Bild, Preis und Link in den Shop.
Wer es trotzdem will, pflegt Produktdaten doppelt oder baut Links von Hand. Beides veraltet schnell: Preise ändern sich, Produkte laufen aus, Bilder werden ausgetauscht.
Nanoheli.net stand 2017 vor genau dieser Situation und beauftragte mich mit einer Lösung, die Produkte aus dem Magento-Shop direkt in WordPress-Inhalten anzeigt, und zwar ohne doppelte Datenpflege.
Mein Beitrag
Ich habe das Plugin allein konzipiert, entwickelt und gestaltet:
- Konzept für die Anbindung von Magento an WordPress
- Entwicklung des WordPress-Plugins mit Backend zur Konfiguration
- Gestaltung der Widgets, mit denen Produkte im Inhalt erscheinen
- Produktbeschreibung und Dokumentation
Technische Umsetzung
Anbindung über REST und SOAP. Das Plugin holt die Produktdaten direkt aus Magento und nutzt dafür beide Schnittstellen, die Magento anbietet: REST und SOAP. So stehen alle benötigten Informationen zur Verfügung, ohne dass die Daten in WordPress gespeichert und gepflegt werden müssen. Für den Zugriff wird in Magento ein eigener API-Benutzer mit genau den nötigen Rechten angelegt.
Caching als Pflicht, nicht als Kür. Würde WordPress bei jedem Seitenaufruf den Shop abfragen, wäre die Website nur so schnell wie die langsamste Shop-Antwort, und der Shop bekäme unnötig Last. Deshalb speichert das Plugin die abgerufenen Produktdaten zwischen. Besucher bekommen die Seite schnell ausgeliefert, und der Shop wird nur dann gefragt, wenn es nötig ist.
Widgets für die Redaktion. Damit die Redaktion Produkte ohne technisches Wissen einbinden kann, bietet das Plugin Design-Widgets, die sich im Backend konfigurieren lassen. So passen sich die Produktdarstellungen dem Erscheinungsbild der Website an und wirken nicht wie ein Fremdkörper aus dem Shop.
Backend zur Konfiguration. Verbindungsdaten, Darstellung und Verhalten werden zentral in einem eigenen Backend-Bereich in WordPress eingestellt.
Ergebnis
- Ein WordPress-Plugin, das Magento-Produkte direkt in redaktionellen Inhalten anzeigt
- Keine doppelte Datenpflege: Preise, Bilder und Produktdaten kommen immer aktuell aus dem Shop
- Caching, das Website und Shop entlastet
- Konfigurierbare Widgets, mit denen die Redaktion Produkte ohne Programmierkenntnisse einbindet
Was ich daraus mitnehme
Bei der Verbindung zweier Systeme entscheidet die Frage, wo die Daten leben. Hier war die Antwort eindeutig: Produkte gehören in den Shop, Inhalte in WordPress, und das Plugin ist nur die Brücke dazwischen. Sobald man anfängt, Produktdaten in WordPress zu kopieren, hat man zwei Wahrheiten, und eine davon ist bald falsch.
Ebenso wichtig war das Caching. Wer ein fremdes System live abfragt, macht seine Website von dessen Verfügbarkeit und Geschwindigkeit abhängig. Ein Zwischenspeicher mit sinnvoller Gültigkeit entkoppelt die beiden. Dieses Prinzip setze ich seitdem bei jeder Schnittstelle ein.