Shopware-Produkte in WordPress anzeigen: Produktdaten übernehmen statt doppelt pflegen
Shopware-Produkte in WordPress anzeigen: Preis, Bild und Link aus der Store-API statt doppelter Pflege. Mit Zwischenspeicher und klaren Grenzen bei Ausfällen.
Ein Elektrogroßhändler hat eine Kaufberatung für Wechselrichter geschrieben. Drei Geräte im Vergleich, Leistung, Wirkungsgrad, Garantie, Preis. Guter Text, viel Arbeit, die passenden Produkte sind direkt im Artikel vorgestellt.
Dann kommt die Preisrunde. Im Shop sind die Preise aktuell, im Ratgeber steht noch der Stand vom Frühjahr. Ein Installateur ruft an und will wissen, welcher Preis jetzt gilt. Der Innendienst sucht den Artikel im Redaktionssystem, korrigiert drei Zahlen und hofft, dass es die einzigen waren.
Das kann passieren, wenn Produkte im Ratgeber von Hand gepflegt werden. Für PoloProfi habe ich Produktbausteine entwickelt, die Produktangaben aus Shopware in WordPress anzeigen. Die Redaktion wählt Produkte oder Kategorien aus. Namen, Bilder und Preise werden aus dem Shop übernommen und zwischengespeichert, statt zusätzlich im Ratgeber gepflegt zu werden. Wie das funktioniert, was dein Team davon hat und was technisch dahintersteckt.
Für dich als Unternehmer
Produktdaten an einer Stelle pflegen. Preis, Bild und Name werden für die Produktbausteine aus Shopware übernommen. Dein Team muss diese Angaben nicht zusätzlich im Ratgeber ändern. Wie schnell Änderungen dort erscheinen, hängt von der Aktualisierung der Zwischenspeicher ab.
Vom Vergleich direkt zum Produkt. Wer in der Kaufberatung drei Wechselrichter mit Produktangaben und einem direkten Link in den Shop sieht, muss die Artikelnamen nicht erst in die Shop-Suche tippen.
Weniger Handarbeit, weniger Fehler. In den Produktbausteinen muss niemand Preise von Hand nachziehen oder Produktbilder im Redaktionssystem austauschen. Das spart wiederkehrende Arbeit. Das gilt für die eingebundenen Produktbausteine. Angaben im Fließtext oder in selbst gebauten Tabellen muss die Redaktion weiterhin prüfen und aktualisieren.
Einrichtung und laufende Pflege einplanen. Die Verbindung muss eingerichtet, an die Darstellung deines Ratgebers angepasst und mit euren Produkten geprüft werden. Im Betrieb gehören Updates und die Kontrolle der Datenübernahme dazu. Ob sich der Aufwand lohnt, hängt davon ab, wie häufig dein Team Produkte einbindet und wie viel doppelte Pflege dadurch entfällt. Für wenige dauerhaft unveränderte Produktverweise kann ein einfacher Link ausreichen.
Für dich, wenn du den Shop im Alltag betreust
Vier Bausteine im Editor. Einzelprodukt, Produktliste, Vergleichstabelle und ein Handlungsaufruf. Die Bausteine lassen sich im Seiteneditor einsetzen oder über kurze Platzhalter im Text, sogenannte Shortcodes, einfügen. Du wählst das Produkt aus. Der Baustein übernimmt die vorgesehenen Produktangaben aus Shopware.
Produktlisten aus einer Kategorie. Die Liste kann feste Produkte zeigen oder eine ganze Shop-Kategorie, zum Beispiel alle Wechselrichter einer Leistungsklasse. Wird ein Gerät im Shop der passenden Kategorie zugeordnet und ist es für den Verkaufskanal sichtbar, kann es nach der Aktualisierung des Zwischenspeichers in der Liste erscheinen, ohne dass jemand den Ratgeber ändert.
Produkte auf einen Blick. Die Vergleichstabelle stellt mehrere Produkte nebeneinander: Bild, Name, Preis, Kurzbeschreibung, Button in den Shop. Das gibt Lesern eine Produktübersicht. Ein strukturierter technischer Vergleich von Leistung, Wirkungsgrad und Garantie ist damit noch nicht abgedeckt.
Änderungen übernehmen, statt auf die Redaktionsrunde zu warten. Bei Produktänderungen meldet der Shop das an WordPress. Nach einer erfolgreichen Meldung werden die gespeicherten Produktdaten verworfen und beim nächsten Aufbau des Bausteins neu abgefragt. Wann Besucher den neuen Stand sehen, hängt auch davon ab, ob die Meldung ankommt und weitere Seiten-Caches aktualisiert werden.
Wenn der Shop gerade nicht antwortet. Liegen noch gespeicherte Produktdaten vor, kann der Ratgeber den letzten bekannten Stand anzeigen. Diese Angaben können inzwischen veraltet sein. Bei einer gemeldeten Produktänderung werden derzeit auch die als Reserve gespeicherten Daten gelöscht. Antwortet der Shop danach nicht, gibt es bis zum nächsten erfolgreichen Abruf keinen letzten bekannten Stand als Ersatz. Sind keine Daten vorhanden, erscheint anstelle des Produkts ein Hinweis. Wie lange alte Preise im Fehlerfall angezeigt werden dürfen, muss für den Einsatz noch festgelegt werden.
Für deine Entwickler oder IT
Store-API statt eigener Produktpflege.
Die Store-API ist die Shopware-Schnittstelle, über die der Connector Produktdaten für den jeweiligen Verkaufskanal abruft. WordPress speichert die Auswahl der Produkt- oder Kategorie-IDs und die Einstellungen des Bausteins. Produktangaben werden abgerufen und zwischengespeichert, nicht als eigene redaktionell gepflegte Produkte angelegt.
Beim Rendern fragt unser Connector die Store-API des Shops mit dem Zugangsschlüssel des Verkaufskanals ab: /product für einzelne Artikel, /product-listing für Kategorien.
Keine eigenen Tabellen, keine Produkt-Post-Types, keine Synchronisation von Daten, die im Shop schon richtig liegen.
Serverseitiges HTML. Die Bausteine werden auf dem Server gerendert und als fertiges HTML ausgeliefert. Für die Ausgabe der Produktbausteine braucht der Browser weder JavaScript noch ein iFrame. Name, Preis, Bild und Link stehen bereits im HTML und lassen sich auch bei blockierten Skripten anzeigen. Andere Funktionen der Website können weiterhin JavaScript benötigen. Die Templates liegen im Plugin und lassen sich im Theme überschreiben, damit das Design des Kunden greift, ohne das Plugin anzufassen.
Zwei Cache-Ebenen. Die abgerufenen Produktdaten liegen für einige Minuten in einem Transient, dem WordPress-Zwischenspeicher mit Ablaufzeit. Daneben gibt es eine dauerhafte Reserve: die letzte gültige Antwort, die ausgeliefert wird, wenn der Shop einen Fehler zurückgibt oder nicht erreichbar ist. Erst wenn beides fehlt, erscheint ein Hinweistext statt des Produkts. Der Aufruf zur Store-API hat ein kurzes Zeitlimit, damit die Wartezeit bei einem langsamen Shop begrenzt bleibt.
Der Shop sagt Bescheid. Shopware weiß, wann sich ein Produkt ändert. Ein Plugin im Shop hört auf die Produkt-Events, bündelt sie pro Request und schickt nach der Antwort einen Aufruf an WordPress, geschützt mit einem gemeinsamen Geheimnis im Header. WordPress verwirft daraufhin Zwischenspeicher und Reserve. Nach erfolgreicher Verarbeitung fragt WordPress die Daten beim nächsten Rendern neu ab. Ohne Meldung bleibt zunächst die Ablaufzeit des Zwischenspeichers maßgeblich. Zusätzliche Seiten-Caches müssen in das Aktualisierungskonzept einbezogen werden.
Was ich als Nächstes ändere.
Die Links aus den Bausteinen zeigen heute auf die technische Detailadresse /shop/detail/{id}, nicht auf die sprechende SEO-URL des Produkts. Das funktioniert, aber die interne Verlinkung soll auf die kanonische Adresse zeigen. Dafür frage ich die SEO-URLs gleich mit ab.
Die Produktbilder kommen als Original ohne feste Maße. Thumbnails aus dem Shop mit srcset und Breite und Höhe sind der nächste Schritt, damit die Seite beim Laden nicht springt.
Und die Invalidierung ist heute grob: Jede Produktänderung leert den ganzen Speicher. Gezielt nach Produkt-IDs wäre besser.
Dabei wird auch die Reserve gelöscht. Bis wieder gültige Daten vorliegen, gibt es deshalb keinen letzten bekannten Stand als Rückfalloption. Ich muss noch festlegen, ob die Reserve bei Änderungen erhalten bleiben soll und wie lange alte Preise oder inzwischen entfernte Produkte im Fehlerfall angezeigt werden dürfen.
Ich schreibe das hier so offen auf wie beim Monitoring desselben Shops, weil eine Liste offener Punkte ehrlicher ist als ein Beitrag, in dem alles fertig wirkt.
Wie wir das machen
Die Produktbausteine sind ein Modul unseres eigenen Connectors zwischen WordPress und Shopware. Die Plugins sind nicht öffentlich erhältlich. Einrichtung, Betrieb und Pflege sind Teil unserer vereinbarten Leistungen.
Das zweite Modul kümmert sich um die Navigation, dazu mehr in Eine Navigation für Shop und Ratgeber. Warum beides unter einer Domain läuft, steht in Ratgeber und Shop unter einer Domain, die Übersicht auf der Seite WordPress mit Shopware verbinden.
Schnittstellen wie diese bauen und betreiben wir für Shops im technischen Fachhandel, ob zur Warenwirtschaft, zu Herstellerportalen oder zum eigenen Ratgeber. Was dazugehört, steht unter Schnittstellen und Integrationen.
Wie viele Preise stehen heute in euren Ratgebern, und wer zieht sie nach?

