Shops mit großen Produktkatalogen (10.000 oder mehr Produkte) stoßen bei der Erstellung von Produkt-Feeds häufig auf langsame Feed-Generierung, Timeouts oder Speichererschöpfung. Das AdTribes Product Feed Plugin ist für unbegrenzte Produkte ausgelegt, aber Sie müssen es für Ihre Serverumgebung und Kataloggröße korrekt konfigurieren.
Diese Anleitung erklärt, wie Sie die Leistung der Feed-Generierung für große Kataloge verbessern können. Sie lernen etwas über Stapelverarbeitung, Serverlimits, geplante Generierung, Filterung unnötiger Produkte und andere Leistungsaspekte.
Warum große Feeds anders sind
Wenn Sie mehr als 10.000 Produkte haben, kann die Generierung eines Feeds in einer einzigen Anfrage Folgendes überschreiten:
- PHP-Speicherlimits – Jedes Produkt lädt Daten (Bilder, Attribute, Kategorien) in den Speicher
- Maximale Ausführungszeit – PHP-Skripte laufen oft nach 30-60 Sekunden ab
- Serverressourcen – Shared Hosting kann lang andauernde Prozesse drosseln
Das Plugin verwendet Stapelverarbeitung, um die Feed-Generierung in kleinere Abschnitte aufzuteilen. Jeder Stapel wird separat ausgeführt, sodass Sie Timeouts und Speicherauslastung vermeiden. Darüber hinaus können Sie die Anzahl der Produkte in Ihrem Feed reduzieren, indem Sie nicht benötigte Artikel für die Werbung herausfiltern.
Wie die Stapelverarbeitung funktioniert
Das Plugin verarbeitet Feeds in Stapeln. Jeder Stapel verarbeitet eine feste Anzahl von Produkten (die Stapelgröße). Wenn ein Stapel abgeschlossen ist, wird der nächste automatisch geplant. Dieser Ansatz reduziert den Speicherverbrauch und vermeidet PHP-Timeouts.
Product Feed Pro 13.5.7 und neuere Versionen passen die Stapelgröße selbst an, anstatt eine feste Tabellensuche zu verwenden. Jeder Stapel wird zeitlich erfasst und sein Speicherverbrauch gemessen; die Größe des nächsten Stapels wird aus dem abgeleitet, was der Host gerade nachweislich verarbeiten kann, und die ermittelte Größe wird pro Feed gespeichert, sodass spätere Läufe nahe dem Optimum beginnen. Dies ist eine Kernfunktion von Product Feed Pro und gilt daher unabhängig davon, ob Product Feed Elite aktiv ist oder nicht. Siehe Adaptive Stapelgrößenbestimmung unten.
In früheren Versionen verwendete das Plugin stattdessen feste Standard-Stapelgrößen, die auf Ihrer Gesamtproduktanzahl basierten:
| Produktanzahl | Stapelgröße |
|---|---|
| Unter 1.000 | 200 Produkte pro Stapel |
| 1,000-5,000 | 300 Produkte pro Stapel |
| 5,000-10,000 | 500 Produkte pro Stapel |
| 10,000-50,000 | 1.000 Produkte pro Stapel |
| 50,000+ | 1.500 Produkte pro Stapel |
Diese Standardwerte wurden auf Zuverlässigkeit ausgelegt. Kleinere Stapel verbrauchen weniger Speicher und stoßen seltener an Ausführungslimits.
Adaptive Batch-Größenanpassung
Ab Product Feed Pro 13.5.7 wählt die Feed-Generierung nicht mehr eine feste Stapelgröße pro Durchlauf aus einer Tabelle mit Produktanzahl-Stufen aus. Stattdessen misst der Controller die Zeit jedes Stapels und seinen Speicherverbrauch, und bestimmt dann die Größe des nächsten Stapels aus dem, was der Host gerade nachweislich verarbeiten kann. Die ermittelte Größe wird pro Feed gespeichert, sodass nachfolgende Durchläufe vom ersten Stapel an nahe dem Optimum beginnen.
Benchmark-Ergebnisse: Bei einem Google Shopping XML-Feed mit 18.201 Produkten, wobei jeder Stapel einen echten WordPress-Bootstrap durchläuft (wie in der Produktion), war die adaptive Stapelgrößenbestimmung beim ersten Durchlauf etwa 19 % schneller und bei einem Warmstart 24 % schneller, mit bestätigter identischer Ausgabe und identischer Produktanzahl in jedem Szenario.
Warum der Gewinn wichtiger ist, als die Benchmark vermuten lässt: Die Beschleunigung ergibt sich aus der Eliminierung von Roundtrips pro Batch, nicht aus einer schnelleren Verarbeitung pro Produkt. Die reine Verarbeitungszeit pro Produkt bleibt unverändert. Jeder Batch zahlt für einen vollständigen WordPress-plus-Plugin-Bootstrap und eine Action Scheduler-Wartezeit. Das Reduzieren eines Laufs von 19 Batches auf 2 entfernt 17 Bootstraps und 17 Wartezeiten. Dies ist besonders wichtig in Shops mit geringem Traffic: Wo WP-Cron nur bei Besucheraufrufen ausgelöst wird, dominiert die Wartezeit zwischen den Batches die gesamte Feed-Zeit. Daher ist die Reduzierung der Batch-Anzahl in der Praxis erheblich wertvoller, als die Benchmark-Zahlen allein vermuten lassen – eine nützliche Kombination für Shops mit großen Katalogen, die auch wenig Traffic haben.
Graceful Degradation auf eingeschränkten Hosts: Wenn der Host speicherbeschränkt ist (z. B. ein Limit von 128 MB), wird die Batch-Größe reduziert, bis die Batches passen, und der Feed wird langsam abgeschlossen, anstatt bei jedem Lauf fehzuschlagen. Zuvor war die kleinste verfügbare Stufe 200 Produkte pro Batch, sodass Hosts, die selbst diese Größe nicht bewältigen konnten, niemals einen Feed abschließen konnten.
Benutzerdefinierte Batch-Größe konfigurieren
Wenn Ihr Feed hängen bleibt oder Zeitüberschreitungen aufweist, versuchen Sie, die Stapelgröße zu reduzieren. Umgekehrt können Sie sie erhöhen, wenn Sie einen leistungsstarken Server haben und eine schnellere Generierung wünschen.
So ändern Sie die Batch-Größe
- Gehen Sie zu Product Feed → Einstellungen → Allgemein
- Produkte pro Stapelnummer ändern aktivieren
- Geben Sie einen Wert in Batch-Größe ein: ein (z. B. 500 oder 250)
- Speichern Sie Ihre Einstellungen

Empfehlungen:
- Timeouts: Verwenden Sie eine kleinere Batch-Größe (z. B. 250-500), damit jeder Batch vor der maximalen Ausführungszeit Ihres Servers abgeschlossen wird
- Speicherfehler: Reduzieren Sie die Batch-Größe weiter (z. B. 100-200), um die Speichernutzung pro Batch zu senken
- Stabile Server: Sie können größere Batches ausprobieren (z. B. 1.000-1.500) für eine schnellere Gesamtgenerierung, aber nur, wenn Ihr Server diese ohne Fehler verarbeitet
Genauer gesagt:
| Servertyp | Vorgeschlagene Stapelgröße |
|---|---|
| Shared Hosting | 200-300 |
| VPS oder Cloud | 500-1000 |
| Dedizierter Server | 1000-1500 |
Testen Sie immer nach der Änderung der Batch-Größe. Wenn der Feed immer noch hängt, reduzieren Sie ihn weiter. Weitere Details finden Sie unter Batch-Größenkonfiguration Produkt-Feed.
Serverlimits prüfen und anpassen
Ihre Hosting-Umgebung legt Grenzen für die PHP-Ausführungszeit und den Speicher fest. Diese wirken sich direkt auf die Feed-Generierung aus.
max_execution_time
Jeder Batch läuft innerhalb der PHP-max_execution_time. Wenn diese zu niedrig ist (z. B. 30 oder 60 Sekunden), können Batches vor der Fertigstellung abgebrochen werden.
- Empfohlen: Mindestens 300 Sekunden (5 Minuten) für große Kataloge
- So überprüfen Sie: Gehen Sie zu WP Admin → WooCommerce → Status und finden Sie den Wert PHP Time Limit unter Serverumgebung.
- Behebung: Erhöhen Sie das Limit in Ihrer Serverkonfiguration, indem Sie
set_time_limit(300)zur Dateiwp-config.phphinzufügen, oder kontaktieren Sie Ihren Hosting-Anbieter.

memory_limit
Die Feed-Generierung lädt Produktdaten in den Speicher. Bei der Verarbeitung Tausender Produkte pro Batch kann ein niedriger Speicherlimit zu fatalen Fehlern oder unvollständigen Feeds führen.
- Empfohlen: 256 MB oder mehr für 10.000+ Produkte
- Überprüfung: Gehen Sie zu WP Admin → WooCommerce → Status und suchen Sie den Wert WordPress Memory Limit unter WordPress-Umgebung.
- Behebung: Erhöhen Sie das Speicherlimit in
wp-config.php, indem Siedefine('WP_MEMORY_LIMIT', '256M');hinzufügen, oder bitten Sie Ihren Hosting-Anbieter, das Limit zu erhöhen.

Das Plugin protokolliert eine Warnung, wenn der verfügbare Speicher weniger als 128 MB beträgt, bevor ein Batch ausgeführt wird (wenn die Protokollierung aktiviert ist). Dieser Eintrag erscheint unter der Protokollquelle woo-product-feed-pro in WooCommerce → Status → Protokolle. Nutzen Sie dies, um potenzielle Probleme zu erkennen.
Verwenden Sie geplante Generierung anstelle von manueller Aktualisierung
Vermeiden Sie bei großen Katalogen die manuelle Aktualisierung über den Browser. Browseranfragen können ablaufen oder die Verbindung trennen, bevor alle Batches abgeschlossen sind. Verwenden Sie stattdessen die geplante Generierung.
Aktualisierungsintervall
- Bearbeiten Sie Ihren Feed und gehen Sie zur Registerkarte Allgemein
- Stellen Sie Aktualisierungsintervall auf Stündlich, Täglich oder Zweimal täglich ein (Product Feed Elite unterstützt auch benutzerdefinierte Intervalle)
- Speichern Sie den Feed
Das Plugin verwendet Action Scheduler, um die Feed-Generierung im Hintergrund im gewählten Intervall auszuführen. Dies ist für große Feeds zuverlässiger als die manuelle Aktualisierung.
Server-Cron (erweitert)
Für präzise Kontrolle oder stark frequentierte Shops können Sie anstelle des integrierten Planers einen Server-Cronjob verwenden. Dies ist besonders nützlich, wenn:
- Sie möchten, dass Feeds zu bestimmten Zeiten ausgeführt werden (z. B. außerhalb der Spitzenzeiten)
- Ihr Shop hat wenig Traffic und WP-Cron wird möglicherweise nicht oft genug ausgeführt
- Sie müssen mehrere große Feeds staffeln
Schritt-für-Schritt-Anleitungen finden Sie unter Produktfeed mit Cron-Jobs aktualisieren.
HTTP-Feed-Generierungsanfragen deaktivieren
Wenn Sie auf der Seite „Feeds verwalten“ auf Aktualisieren klicken, kann das Plugin die Feed-Generierung über HTTP-Anfragen auslösen. Bei großen Shops oder eingeschränktem Hosting kann dies zu Timeouts oder unvollständigen Feeds führen.
HTTP-Feed-Generierungsanfragen deaktivieren erzwingt, dass die Feed-Generierung nur über Action Scheduler (oder Server-Cron) ausgeführt wird. Es werden keine HTTP-Anfragen verwendet, um Batches zu starten oder fortzusetzen.
Aktivieren
- Gehen Sie zu Product Feed → Einstellungen → Allgemein
- Aktivieren Sie HTTP-Feed-Generierungsanfragen deaktivieren
- Speichern Sie Ihre Einstellungen

Wann zu verwenden:
- Ihr Feed bleibt beim Klicken auf Aktualisieren stecken oder läuft ab
- Sie verwenden eine benutzerdefinierte Batch-Größe (die Stapelverarbeitung deaktiviert in diesem Fall standardmäßig die HTTP-Verarbeitung)
- Sie führen Feeds über geplante Aktualisierungen oder Server-Cron aus
Weitere Details finden Sie unter Was bewirkt „HTTP-Feed-Generierungsanfragen deaktivieren“?.
Filtern Sie unnötige Produkte heraus
Wenn Sie nur die Produkte aufnehmen, die Sie benötigen, reduzieren Sie die Verarbeitungszeit und die Dateigröße. Verwenden Sie Filter, um Produkte auszuschließen, die für Ihren Kanal nicht relevant sind.
Gängige Filterstrategien
| Ziel | Filtertyp | Beispielbedingung |
|---|---|---|
| Nur verfügbare Produkte einschließen | Einschließen | Lagerstatus = auf Lager |
| Produkte aus einer bestimmten Kategorie einschließen | Einschließen | Kategorie enthält [Zielkategorie] |
| Produkte über einem bestimmten Preis einschließen | Einschließen | Preis größer als X |
| Produkte, die nicht auf Lager sind, ausschließen | Ausschließen | Lagerstatus = nicht auf Lager |
| Produkte ohne Bilder ausschließen | Ausschließen | Hauptbild ist leer |
| Sehr preiswerte Produkte ausschließen | Ausschließen | Preis kleiner als X |
| Bestimmte Kategorien ausschließen | Ausschließen | Kategorie enthält [Kategoriename] |
| Bestimmte Marken oder Tags ausschließen | Ausschließen | Marke/Tag enthält [Wert] |
Weniger Produkte bedeuten weniger Batches und schnellere Feed-Generierung. Schritt-für-Schritt-Anleitungen finden Sie unter Filter für Ihren Produktfeed erstellen.
Variable Produkte und Variationen
Wenn Sie variable Produkte verwenden, beachten Sie:
- Und nur die günstigste(n) Produktvariation(en) einschließen: Eine Variation pro Produkt anstelle von allen
- Und nur die Standard-Produktvariation einschließen: Reduziert die Produktanzahl weiter
Diese Optionen befinden sich im Allgemein-Tab des Feeds und können die Anzahl der verarbeiteten Produkte erheblich reduzieren.
Zusammenfassung der Leistungserwägungen
| Faktor | Empfehlung für 10.000+ Produkte |
|---|---|
| Batch-Größe | Unset lassen, damit die adaptive Größenanpassung lernt (Product Feed Pro 13.5.7+); andernfalls 200-500 auf Shared Hosting, 500-1000 auf VPS/dediziert |
| max_execution_time | 300 Sekunden oder höher |
| memory_limit | 256 MB oder höher |
| Aktualisierungsmethode | Geplant (stündlich/täglich) oder Server-Cron, nicht nur manuell |
| HTTP-Generierung | Deaktivieren, wenn Feeds hängen bleiben oder Zeitüberschreitungen auftreten |
| Filter | Nicht vorrätige, irrelevante Kategorien oder geringen Wert ausschließen |
| Variable Produkte | Verwenden Sie bei Bedarf „günstigster Preis“ oder „Standardvariation“ |
Fehlerbehebung bei häufigen Problemen
| Problem | Lösung |
|---|---|
| Feed bleibt bei der Verarbeitung hängen | Batch-Größe reduzieren; Deaktivieren der HTTP-Feed-Generierung aktivieren; Hilfe, mein Feed wird nicht aktualisiert oder hängt in der Verarbeitung! prüfen |
| Timeout-Fehler | max_execution_time auf 300+ erhöhen; Batch-Größe reduzieren |
| Fataler Fehler / Speicher erschöpft | memory_limit auf 256MB+ erhöhen; ab Product Feed Pro 13.5.7+ verschlechtert sich die adaptive Größenanpassung sanft, anstatt komplett zu fehlschlagen |
| Weniger Produkte als erwartet | Filter und Regeln prüfen; siehe Hilfe! Ich habe keine oder weniger Produkte in meinem Produktfeed als erwartet |
| Fehler bei der Aktionsplanung | Gehen Sie zu WooCommerce → Status → Geplante Aktionen; überprüfen Sie den Tab "Fehlgeschlagen"; erhöhen Sie die Serverlimits |
Benötigen Sie weitere Hilfe?
Wenn Sie Hilfe bei der Optimierung der Feed-Generierung für Ihren großen Katalog benötigen:
- Product Feed Elite-Benutzer: Erstellen Sie ein Support-Ticket, um das AdTribes-Supportteam zu erreichen.
- Product Feed Pro-Benutzer: Öffnen Sie ein Thema im WordPress.org-Forum.

