
Im E-Commerce entscheidet die Qualität der Produktdaten oft über Erfolg oder Misserfolg. Ein PIM-System wie Akeneo sorgt dafür, dass alle Produktinformationen zentral gepflegt werden, anstatt sie einzeln in verschiedenen Shopsystemen zu verwalten.
Trotz der zentralen Verwaltung und der zahlreichen Vorteile eines PIM bleibt die tägliche Arbeit mit Produktdaten oft aufwendig – vor allem, weil jede Sprache manuell ins System eingetragen werden muss.
Bei der Pflege von Produktdaten in Akeneo stoßen Teams häufig auf ein bekanntes Problem: Texte liegen in unterschiedlichen Sprachen vor, Übersetzungen fehlen und die manuelle Pflege kostet viel Zeit. Genau hier setzt unser n8n-Workflow an. Er bereinigt HTML-Inhalte automatisch und erstellt Übersetzungen in mehreren europäischen Sprachen direkt im PIM-System.
Um diesen Prozess effizient und fehlerfrei zu gestalten, haben wir einen umfangreichen n8n-Workflow entwickelt, der drei Aufgaben miteinander kombiniert:
1. Daten aus Akeneo laden (Pagination Loop)
2. HTML-Inhalte bereinigen (HTML Cleaning Loop)
3. Texte automatisiert in mehrere Sprachen übersetzen (Translation Loop)
Das Ergebnis ist ein stabiler Workflow, der alle Produkttexte in Akeneo iteriert, bereinigt und übersetzt. Alles komplett automatisiert und wiederholbar.
Lösungsidee & Umsetzung
Ziel war, die Übersetzung der Produkttexte in Sprachen wie Englisch, Französisch, Italienisch, Spanisch und Polnisch zu automatisieren. Der Workflow läuft in drei großen Schleifen:
1. Pagination Loop:
Um alle Produkte aus Akeneo abzurufen, setzen wir auf den Pagination-Typ search_after. Diese Methode ist stabiler als klassische Offset-Pagination (page+1), da sie auch bei großen Datenmengen keine doppelten oder übersprungenen Einträge erzeugt. Wir nutzen dafür das Feld _links.next.href aus der API-Response und speichern den Wert des letzten Produkts, um damit die nächste Seite gezielt nachzuladen.
Klassische Seitenparameter hatten in Tests unzuverlässig funktioniert. Die API lieferte bei größeren Datensätzen wiederholt identische Items. Mit search_after läuft die Abfrage nun gleichmäßig durch, unabhängig von der Datenmenge.
2. HTML Cleaning Loop:
Im zweiten Schritt bereinigt der Workflow sämtliche HTML-Felder. Ziel war es saubere Eingaben für die KI-Agenten zu schaffen.
Anfangs kam es häufig vor, dass Tags zerstört oder Textteile verloren gingen. Nach mehreren Versuchen mit unterschiedlichen Prompts hat sich ein minimalistischer Prompt bewährt, der die KI strikt anweist, nur sichtbaren Text zu behalten und HTML-Struktur unangetastet zu lassen.
3. Translation Loop:
Anschließend werden alle fehlenden Übersetzungen ermittelt und für jede Sprache ein Task erzeugt. Die Übersetzung läuft kurz und effizient. Ein Produkttext wird durch einen KI Agenten in einer Anfrage in alle Zielsprachen übersetzt und anschließend als JSON zurückgespielt.
Technische Details & besondere Kniffe
Während der Entwicklung gab es zwei größere Hürden:
1. Der Pagination Loop
Anfangs wurde versucht, die Seiten über einfache Zählerparameter (page+1) weiterzuschalten. Das führte aber zu doppelten Ergebnissen und unvollständigen Daten.
Die Lösung war, sich direkt am _links.next.href zu orientieren und search_after zu nutzen – damit bleibt der Workflow stabil, selbst bei 30.000+ Produkten.
2. Die Loop Over Items Node
Ein hartnäckiger Fehler trat bei der Iteration über große Datensätze auf: Die Node blieb ewig im ersten Batch hängen und verarbeitete die nächsten Batches nicht – selbst dann nicht, wenn die Batch Size auf mehrere Items gesetzt wurde.
Wir haben verschiedene Batchgrößen getestet, aber das Verhalten blieb gleich: Die Loop Node verarbeitete nur das erste Item und übersprang den Rest.
Ein Eintrag im n8n-Community-Forum brachte schließlich die entscheidende Kombination zweier Maßnahmen:
"I solved it by adding a dummy IF node before the Loop node. The IF node does nothing—just passes all items through. Somehow this ensures the Loop node receives the input in a way that lets it iterate over all items, not just the first. After adding the blank IF, the workflow processes every batch as expected."
Zusätzlich wurde in der Loop-Node die Reset-Option aktiviert und über eine Expression gesteuert:
{ { $prevNode.name === 'IF' } }
Damit wird der Loop nur dann zurückgesetzt, wenn der vorherige Node tatsächlich die If-Node war. So wird verhindert, dass beim Zurückspringen im Loop wieder mit dem ersten Item begonnen wird.
Die Kombination aus Dummy if node und dynamischem Reset Verhalten sorgt dafür, dass der Workflow zuverlässig alle Items abarbeitet, unabhängig von Batchgröße oder Schleifenstruktur.
Ergebnis und Nutzen
Vor der Automatisierung hätte die Übersetzung aller Produkttexte manuell Wochen in Anspruch genommen.
Bei rund 30.000 Produkten würde die manuelle Bearbeitung in Akeneo vermutlich mehr als einen Monat dauern. Unser automatisierter Workflow erledigt die komplette Bereinigung und Übersetzung nun in etwa zwei bis drei Tagen.
Das System läuft stabil, verarbeitet Batch für Batch und lässt sich jederzeit neu starten, ohne Daten zu verlieren. Zusätzlich sorgt das HTML-Cleaning für saubere und konsistente Eingaben, was langfristig auch die Qualität der Produktdaten in allen Sprachen verbessert.
Lessons Learned
• Große Workflows besser in Subworkflows zerlegen: Für Wartbarkeit und Übersichtlichkeit wäre das die saubere Lösung.
• Wenn möglich, früh mit kleinen Batches testen besonders bei Pagination-Logik.
• n8n verhält sich bei der Verarbeitung von Arrays manchmal unerwartet. Eine Kombination aus if node und Expression basiertem Reset kann helfen, Loops stabil zu halten.
• Prompts für KI-Agenten sollten so restriktiv wie möglich sein. Das spart Nerven und API-Kosten.
Fazit und Ausblick
Unser n8n-Workflow für Akeneo hat sich im Alltag als robuste Lösung erwiesen. Er verbindet HTML-Bereinigung, Übersetzung und API-Kommunikation in einem einzigen automatisierten Prozess.
Langfristig planen wir, Teile des Systems in Subworkflows auszulagern und die Übersetzungs Engine zu modularisieren. So bleibt der Aufbau flexibel, wenn neue Sprachen oder PIM-Instanzen hinzukommen.
Wie bei allen Automatisierungen gilt: Der Weg dahin war nicht linear, aber die gewonnene Erfahrung hat den Workflow und unser Verständnis für n8n deutlich verbessert.

