Visser Labs – WooCommerce Plugins

  1. Startseite
  2. Wissensdatenbank
  3. WooCommerce Store Exporter Deluxe
  4. Häufige Exportprobleme
  5. So exportieren Sie große WooCommerce-Shops mit Store Exporter Deluxe

So exportieren Sie große WooCommerce-Shops mit Store Exporter Deluxe

Wenn Ihr Shop Tausende von Produkten, Bestellungen oder Kunden hat, kann ein Export, der bei einem kleinen Katalog reibungslos funktioniert, bei einem größeren plötzlich ins Stocken geraten, ein Timeout verursachen oder ohne Datei enden. Das ist selten ein Fehler in Store Exporter Deluxe selbst. Es liegt fast immer daran, dass Ihr Server den für eine einzelne Anfrage erlaubten PHP-Speicher oder die Ausführungszeit überschreitet.

Quick Export teilt jeden Export bereits in Batches auf, sodass nicht der gesamte Katalog auf einmal verarbeitet wird. Dennoch kann ein ausreichend großer Shop etwas mehr PHP-Spielraum benötigen, und es ist hilfreich zu wissen, wo man suchen muss, wenn ein Export nicht abgeschlossen wird. Dieser Artikel behandelt, wie die Stapelverarbeitung funktioniert, welche PHP-Einstellungen am wichtigsten sind und wie Sie das Audit-Protokoll und die WooCommerce-Protokolle verwenden, um herauszufinden, warum ein Export gestoppt wurde.

Voraussetzungen

AnforderungDetails
PluginStore Exporter Deluxe ist aktiv und lizenziert
WooCommerceAktiv, da Exporte ihre Daten aus Ihrem WooCommerce-Shop ziehen
Hosting-ZugangFähigkeit, Ihr PHP memory_limit und max_execution_time zu ändern, oder einen Host, den Sie bitten können, diese zu erhöhen
AdministratorzugriffEin Konto mit Zugriff auf das WordPress-Admin-Dashboard

Wie die Stapelverarbeitung funktioniert

Quick Export lädt niemals Ihren gesamten Katalog auf einmal in den Speicher. Stattdessen teilt es die zu exportierenden Datensätze standardmäßig in Batches von 100 auf und verarbeitet dann einen Batch pro Anfrage. Ein Export von 5.000 Produkten wird also als 50 separate Batches ausgeführt, anstatt als eine einzige riesige Abfrage, wodurch die Speichernutzung unabhängig davon, wie groß Ihr Shop wird, vorhersehbar bleibt. Der Fortschritt jedes Batches wird nach Abschluss gespeichert. Wenn Sie also einen Quick Export beobachten, zählt die Fortschrittsanzeige einen Batch nach dem anderen hoch, anstatt darauf zu warten, dass der gesamte Export abgeschlossen ist, bevor etwas angezeigt wird. Geplante Exporte funktionieren anders. Siehe unten Geplanter Export ist keine Lösung für Speicher- oder Zeitlimitfehler.

Quick Export: Jeder Quick Export-Batch ist eine eigene Anfrage, und jeder Batch läuft unter dem normalen PHP memory_limit und max_execution_time Ihres Servers. Das Plugin erhöht diese Limits für einen Batch nicht, und die Einstellung Script Timeout ändert sie nicht. Für Quick Export sind daher eine kleinere Batch Size (unten) und höhere PHP-Limits auf Ihrem Host hilfreich. Wenn Exporte mit Speicherfehlern stoppen oder konsistent nach ungefähr der gleichen Zeit stoppen, bitten Sie Ihren Host, memory_limit und max_execution_time in der PHP-Konfiguration Ihres Servers zu erhöhen.

Geplante Exporte: Wenn ein geplanter Export startet, bittet Store Exporter Deluxe PHP, sein Speicherlimit auf das WP_MAX_MEMORY_LIMIT Ihrer Website zu erhöhen und wendet die Einstellung Skript-Timeout als Ausführungszeitlimit an. WordPress setzt WP_MAX_MEMORY_LIMIT standardmäßig auf 256 MB, weit über dem eigenen Minimum des Plugins von 64 MB. Viele Hoster blockieren jedoch diese Laufzeit-Überschreibungen und erzwingen ihre eigenen harten Obergrenzen, unabhängig davon, was das Plugin anfordert. Wenn ein großer geplanter Export immer noch stoppt, bitten Sie Ihren Hoster, memory_limit und max_execution_time direkt in der PHP-Konfiguration Ihres Servers zu erhöhen.

Skript-Timeout: Überprüfen Sie Einstellungen → Allgemein → Skript-Timeout vor einem großen geplanten Export. Es wird standardmäßig als Unbegrenzt ausgeliefert. Wenn es auf 10 Minuten, 30 Minuten oder 1 Stunde geändert wurde, stoppt ein geplanter Export, der länger läuft, wenn er dieses Limit erreicht. Setzen Sie es vor dem Ausführen eines großen geplanten Exports zurück auf Unbegrenzt. Diese Einstellung wirkt sich nicht auf Stapelverarbeitungen für schnelle Exporte aus.

Für den schnellen Export ist die Verringerung der Stapelgröße (unten) die wichtigste Einstellung, die Sie kontrollieren. Ein kleinerer Stapel benötigt weniger Speicher und Zeit pro Anfrage, was oft einen großen Export auch auf einem stark eingeschränkten Server über die Ziellinie bringt.

Anpassen der Stapelgröße für sehr große Exporte

  1. Öffnen Sie WooCommerce → Store Export aus dem WordPress-Admin-Menü.
  2. Klicken Sie in der Seitenleiste auf Schneller Export.
  3. Wählen Sie im Schritt Exporttyp auswählen, was Sie exportieren möchten.
  4. Fahren Sie mit Exportfelder (und Filter & Sortierung, falls für diesen Typ vorhanden) fort, um zum Schritt Exportoptionen zu gelangen.
  5. Geben Sie unter Stapelverarbeitungseinstellungen eine Zahl in das Feld Stapelgröße ein. Es ist standardmäßig leer, was den integrierten Wert des Plugins von 100 Datensätzen pro Stapel verwendet.

Die Verringerung der Stapelgröße (z. B. auf 25 oder 50) macht jede einzelne Stapelanforderung speicherschonender und schneller, was auf einem Server mit niedrigem memory_limit oder max_execution_time hilft. Der Nachteil sind insgesamt mehr Stapel, sodass der vollständige Export mehr Anfragen benötigt, um abgeschlossen zu werden. Es gibt kein festes Minimum, daher lohnt es sich, einen kleineren Wert zu testen, wenn Ihre Exporte in Standardgröße die sind, die mit einem Timeout enden.

Der Schritt Exportoptionen des schnellen Exports, der den Abschnitt Batch-Einstellungen anzeigt, wobei das Feld Batch-Größe auf 25 eingestellt ist

Verwendung des Audit-Logs zur Überprüfung eines großen Exports

Store Exporter Deluxe speichert eine Aufzeichnung jedes Exportlaufs in seinem Audit-Log, das über die Seitenleiste unter WooCommerce → Store Export verfügbar ist. Jeder Eintrag zeigt den Exporttyp, was ihn ausgelöst hat, seinen Status und Zeitstempel an.

Die Seite Audit-Protokoll, die die letzten Exportläufe mit ihren Spalten Typ, Auslöser, Status, Ebene und Dauer auflistet

Klicken Sie auf einen Eintrag, um ihn zu erweitern. Wenn der Lauf Fehlgeschlagen anzeigt, enthält die erweiterte Ansicht die Fehlermeldung.

Ein erweiterter Eintrag im Audit-Protokoll mit dem Status Fehlgeschlagen, der das Fehlerfeld mit der Fehlermeldung anzeigt

Ein Speicher- oder Zeitlimitfehler wirkt sich anders aus. Wenn PHP der Speicher oder die Zeit ausgeht, stoppt der Export sofort, bevor das Plugin etwas aufzeichnen kann. Der Eintrag bleibt dann bei Läuft ohne Fehlermeldung. Um zu bestätigen, was passiert ist, gehen Sie zu WooCommerce → Status → Protokolle und suchen Sie nach einem Protokoll mit der Quelle fatal-errors, oder fragen Sie Ihren Hoster nach dem PHP-Fehlerprotokoll.

Das Audit-Protokoll ist standardmäßig aktiviert. Wenn es in Ihrer Seitenleiste fehlt, hat jemand den Schalter Audit-Protokoll aktivieren unter Einstellungen → Audit-Protokoll ausgeschaltet.

Derselbe Abschnitt Einstellungen → Audit-Protokoll steuert auch, wie viele Details jeder Eintrag erfasst, separat für Schnell-Exporte und Geplante Exporte. Die Standardstufe Standard zeichnet bereits Dauer auf. Wechseln Sie eine Quelle zu Detailliert, um auch die Spitzen-Speichernutzung zu erfassen.

Die Protokollstufe für schnelle Exporte auf Detailliert eingestellt

Dies ist es wert, während Sie einen großen Export optimieren, da es Ihnen zeigt, wie nahe jeder abgeschlossene Lauf an Ihrem memory_limit war und wie lange er gedauert hat. Das zeigt Ihnen, wie viel Spielraum noch vorhanden ist, bevor ein größerer Export das Limit erreicht.

Die Feldliste der Detaillierten Stufe, die die Kontrollkästchen Dauer und Spitzen-Speicherverbrauch aktiviert zeigt

Geplanter Export ist keine Lösung für Speicher- oder Zeitlimitfehler

Ein geplanter Export verarbeitet Datensätze nicht in Stapeln, wie es ein Schnell-Export tut. Er verarbeitet den gesamten Datensatz als einen einzigen Hintergrundauftrag über Action Scheduler. Das Plugin fordert bei Beginn des Laufs mehr Speicher von PHP an und wendet Skript-Timeout an, aber wenn Ihr Hoster diese Überschreibungen blockiert, läuft der Auftrag immer noch unter den Limits Ihres Hosters. Als einzelner, nicht gestapelter Auftrag benötigt er typischerweise *mehr* Speicher als ein gestapelter Schnell-Export, nicht weniger. Es gibt kein Feld für die Stapelgröße im Formular für geplante Exporte, da es nichts zum Stapeln gibt.

Was ein geplanter Export vermeidet, ist die Abhängigkeit von der Browser-Registerkarte: Da er als Hintergrundauftrag ausgeführt wird, ist er nicht an das offene Bleiben Ihrer Browser-Registerkarte gebunden oder daran, wie lange eine Seitenanfrage in Ihrem Browser ausgeführt werden darf. Wenn ein Schnell-Export ins Stocken gerät, weil Sie die Registerkarte nicht lange genug offen halten können, löst ein geplanter Export dieses spezielle Problem. Wenn er aufgrund von Speicher- oder Ausführungszeit ins Stocken gerät, reduzieren Sie stattdessen die Stapelgröße oder erhöhen Sie Ihre PHP-Limits. Detaillierte Anweisungen finden Sie unter So planen Sie Exporte in Store Exporter Deluxe.

Fehlerbehebung

Ein Schnell-Export bleibt hängen oder wird nie fertig
Überprüfen Sie zuerst den Eintrag im Audit Log für diesen Durchlauf. Wenn er lange nachdem der Export gestoppt hat immer noch als Running angezeigt wird, sind zwei Dinge passiert. PHP hat sein Speicher- oder Zeitlimit erreicht (bestätigen Sie dies unter Ein Export schlägt mit einem Serverfehler fehl unten) oder die Browser-Registerkarte hat unterwegs die Verbindung verloren. Nach einem solchen Stopp behandelt das Plugin den Export noch bis zu 30 Minuten lang als laufend, sodass ein neuer Quick Export „Ein Export läuft bereits.“ anzeigt. Bevor Sie es erneut versuchen, gehen Sie zu Einstellungen → Erweitert, suchen Sie unter Wartung nach Export-Transient löschen und klicken Sie auf Löschen. Versuchen Sie es dann mit einer kleineren Batch-Größe erneut und halten Sie die Registerkarte geöffnet und aktiv, bis der Export abgeschlossen ist, anstatt sie für längere Zeit zu verlassen.
Ein Export schlägt mit einem Serverfehler fehl
Ein Serverfehler während eines großen Exports bedeutet normalerweise, dass PHP mitten im Batch sein memory_limit oder max_execution_time erreicht hat. In diesem Fall bleibt der entsprechende Audit Log-Eintrag ohne Fehlermeldung auf Running stehen, da PHP stoppt, bevor das Plugin eine aufzeichnen kann. Um dies zu bestätigen, gehen Sie zu WooCommerce → Status → Protokolle und öffnen Sie das Protokoll mit der Quelle fatal-errors, oder bitten Sie Ihren Hoster um das PHP-Fehlerprotokoll. Eine Zeile, die mit „Allowed memory size of“ oder „Maximum execution time of“ beginnt, bestätigt dies. Wenn der Eintrag stattdessen Failed anzeigt, erweitern Sie ihn, um die Fehlermeldung zu lesen.

Wenn es sich um einen Quick Export handelte, gehen Sie, bevor Sie es erneut versuchen, zu Einstellungen → Erweitert, suchen Sie unter Wartung nach Export-Transient löschen und klicken Sie auf Löschen. Wenn Sie diesen Schritt überspringen, zeigt der nächste Quick Export bis zu 30 Minuten lang „Ein Export läuft bereits.“ an. Verringern Sie dann die Batch-Größe und versuchen Sie es erneut. Jeder Batch läuft unter den PHP-Limits Ihres Servers. Bitten Sie Ihren Hoster daher, beide PHP-Einstellungen zu erhöhen, wenn das Problem weiterhin besteht. Wenn dies bei einem Scheduled Export auftritt, überprüfen Sie auch, ob Einstellungen → Allgemein → Skript-Timeout auf Unbegrenzt eingestellt ist.
Ein großer Katalog schlägt immer noch mit einer kleinen Batch-Größe fehl
Ein Scheduled Export hilft hier nicht, da er den gesamten Export als einen einzigen, nicht-gebatchten Vorgang ausführt und mehr Speicher und Zeit als ein Quick Export benötigt, nicht weniger. Klicken Sie auf Löschen neben Export-Transient löschen (Einstellungen → Erweitert, unter Wartung), wie oben beschrieben, und verringern Sie dann die Batch-Größe weiter. Jeder Batch läuft unter den PHP-Limits Ihres Servers. Wenn der Export immer noch nicht abgeschlossen werden kann, bitten Sie Ihren Hoster, memory_limit und max_execution_time direkt auf dem Server zu erhöhen.

FAQ

Was ist eine gute Batch-Größe für den Anfang für einen großen Shop?
Es gibt keine einzelne richtige Zahl, da sie von den Speicher- und Zeitlimits Ihres Servers abhängt. Beginnen Sie mit dem Standardwert von 100. Wenn Exporte fehlschlagen, versuchen Sie es mit 50, dann mit 25, bis Sie eine Größe gefunden haben, die durchgängig abgeschlossen wird.
Verlangsamt eine kleinere Batch-Größe den gesamten Export?
Es kann einen geringen Mehraufwand bedeuten, da mehr Batches mehr einzelne Anfragen bedeuten. Aber eine kleinere Batch-Größe, die tatsächlich abgeschlossen wird, ist in der Praxis schneller als eine größere, die fehlschlägt und neu gestartet werden muss.
Verhindert ein geplanter Export Timeouts vollständig?
Nein. Er beseitigt die Abhängigkeit vom Browser-Tab, die ein schneller Export hat, aber er läuft als ein einzelner, nicht aufgeteilter Job. Wenn Ihr Hoster die Speicher- und Zeitüberschreibungen des Plugins blockiert, muss der Job immer noch innerhalb des memory_limit und max_execution_time Ihres Hosters abgeschlossen werden, ohne dass eine Batch-Größe als Fallback zur Verfügung steht. Ein geplanter Export kann bei einem sehr großen Katalog tatsächlich eher zu einem Timeout führen als ein schneller Export mit einer kleinen Batch-Größe.

Benötigen Sie weitere Hilfe?

Wenn Sie Store Exporter Deluxe verwenden und ein großer Export nach dem Ausprobieren der obigen Schritte immer noch nicht abgeschlossen werden kann, eröffnen Sie ein Support-Ticket und unser Team wird Ihnen helfen, es zum Laufen zu bringen.

Wenn Sie das kostenlose Plugin Store Exporter verwenden, fragen Sie im WordPress.org-Supportforum nach und unser Team wird sich dort bei Ihnen melden.

War dieser Artikel hilfreich?

Verwandte Artikel

Ressourcen & Hilfe