Loslegen
Ultimativer Leitfaden zur Skalierung von Feeds für über 10.000 Produkte - AdTribes
  1. Startseite
  2. Wissensdatenbank
  3. Allgemeine Feed-Tipps
  4. Der ultimative Leitfaden zur Skalierung von Feeds für über 10.000 Produkte

Der ultimative Leitfaden zur Skalierung von Feeds für über 10.000 Produkte

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:

ProduktanzahlStapelgröße
Unter 1.000200 Produkte pro Stapel
1,000-5,000300 Produkte pro Stapel
5,000-10,000500 Produkte pro Stapel
10,000-50,0001.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.

Das Festlegen einer expliziten Batch-Größe (siehe Benutzerdefinierte Batch-Größe konfigurieren unten) deaktiviert die adaptive Größenanpassung für diesen Feed vollständig. Für Kataloge mit über 10.000 Produkten ist die bessere Standardeinstellung, die Batch-Größe nicht festzulegen und den Controller lernen zu lassen. Reservieren Sie eine manuelle Batch-Größe für Hosts mit harten, bereits bekannten Einschränkungen.

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.

Eine explizite Batch-Größe deaktiviert die adaptive Größenanpassung (Product Feed Pro 13.5.7+). Für Kataloge mit über 10.000 Produkten lassen Sie diese Einstellung unbesetzt, es sei denn, Ihr Host hat eine harte Einschränkung, die Sie bereits verstehen, und lassen Sie den Controller stattdessen die optimale Größe lernen.

So ändern Sie die Batch-Größe

  1. Gehen Sie zu Product FeedEinstellungenAllgemein
  2. Produkte pro Stapelnummer ändern aktivieren
  3. Geben Sie einen Wert in Batch-Größe ein: ein (z. B. 500 oder 250)
  4. 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:

ServertypVorgeschlagene Stapelgröße
Shared Hosting200-300
VPS oder Cloud500-1000
Dedizierter Server1000-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 Datei wp-config.php hinzufü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 Sie define('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.

Crash-Wiederherstellung und Warnungen für geparkte Feeds von adaptiver Batch-Größe (Product Feed Pro 13.5.7+) werden bedingungslos in dieselbe woo-product-feed-pro-Protokollquelle protokolliert, unabhängig von der Einstellung „Protokollierung aktivieren“. Wenn Ihr Feed nach wiederholten Abstürzen weiterhin geparkt wird, überprüfen Sie WooCommerce → Status → Protokolle, auch wenn Sie die Protokollierung nicht aktiviert haben.

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

  1. Bearbeiten Sie Ihren Feed und gehen Sie zur Registerkarte Allgemein
  2. Stellen Sie Aktualisierungsintervall auf Stündlich, Täglich oder Zweimal täglich ein (Product Feed Elite unterstützt auch benutzerdefinierte Intervalle)
  3. 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

  1. Gehen Sie zu Product FeedEinstellungenAllgemein
  2. Aktivieren Sie HTTP-Feed-Generierungsanfragen deaktivieren
  3. 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

ZielFiltertypBeispielbedingung
Nur verfügbare Produkte einschließenEinschließenLagerstatus = auf Lager
Produkte aus einer bestimmten Kategorie einschließenEinschließenKategorie enthält [Zielkategorie]
Produkte über einem bestimmten Preis einschließenEinschließenPreis größer als X
Produkte, die nicht auf Lager sind, ausschließenAusschließenLagerstatus = nicht auf Lager
Produkte ohne Bilder ausschließenAusschließenHauptbild ist leer
Sehr preiswerte Produkte ausschließenAusschließenPreis kleiner als X
Bestimmte Kategorien ausschließenAusschließenKategorie enthält [Kategoriename]
Bestimmte Marken oder Tags ausschließenAusschließenMarke/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:

Diese Optionen befinden sich im Allgemein-Tab des Feeds und können die Anzahl der verarbeiteten Produkte erheblich reduzieren.

Zusammenfassung der Leistungserwägungen

FaktorEmpfehlung für 10.000+ Produkte
Batch-GrößeUnset 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_time300 Sekunden oder höher
memory_limit256 MB oder höher
AktualisierungsmethodeGeplant (stündlich/täglich) oder Server-Cron, nicht nur manuell
HTTP-GenerierungDeaktivieren, wenn Feeds hängen bleiben oder Zeitüberschreitungen auftreten
FilterNicht vorrätige, irrelevante Kategorien oder geringen Wert ausschließen
Variable ProdukteVerwenden Sie bei Bedarf „günstigster Preis“ oder „Standardvariation“

Fehlerbehebung bei häufigen Problemen

ProblemLösung
Feed bleibt bei der Verarbeitung hängenBatch-Größe reduzieren; Deaktivieren der HTTP-Feed-Generierung aktivieren; Hilfe, mein Feed wird nicht aktualisiert oder hängt in der Verarbeitung! prüfen
Timeout-Fehlermax_execution_time auf 300+ erhöhen; Batch-Größe reduzieren
Fataler Fehler / Speicher erschöpftmemory_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 erwartetFilter und Regeln prüfen; siehe Hilfe! Ich habe keine oder weniger Produkte in meinem Produktfeed als erwartet
Fehler bei der AktionsplanungGehen 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:

War dieser Artikel hilfreich?

Verwandte Artikel

Schließen Sie Ihren Kauf ab
AdTribes WooCommerce Produkt-Feed

Das beste WooCommerce-Produktfeed-Plugin

  • AdTribes Pty Ltd
    ABN: 40 675 636 816
Produkt
Ressourcen & Infos
Partner-Websites
Rymera