Zum Hauptinhalt springen
S-EDV news
← Alle Anleitungen
📘 Anleitung WordPress 30.09.2026 · 9 min Lesezeit

WooCommerce-Leistung verbessern: Umstellung auf HPOS und Hintergrundaufgaben im Griff

So stellen Sie einen WooCommerce-Shop ohne Bestellverlust auf die leistungsstarke Speicherung von Bestellungen (HPOS) um und halten die Hintergrundaufgaben des Action Schedulers unter Kontrolle.

Mit KI erstellt – redaktionelle Prüfung ausstehend

WerbelinksMit * markierte Links sind Werbelinks: Bei einem Kauf erhalten wir eine Provision, der Preis bleibt gleich. Mehr dazu

Grafik mit der Überschrift WooCommerce schneller machen, drei Karten Bestellungen, Aufgaben, Aufräumen und einem stilisierten Adminbereich mit Bestelltabelle

Ein WooCommerce-Shop mit einigen tausend Bestellungen fühlt sich im Backend oft zäh an: Die Bestellübersicht lädt lange, Berichte hängen, und in der Datenbank stapeln sich Einträge, die niemand angelegt zu haben scheint. Zwei Stellen erklären einen großen Teil davon. Erstens speichern ältere Shops ihre Bestellungen noch als WordPress-Beiträge, obwohl WooCommerce längst eigene Tabellen dafür mitbringt. Zweitens erledigt WooCommerce viele Arbeiten als Hintergrundaufgaben über den Action Scheduler, und wenn diese Warteschlange nicht zuverlässig abgearbeitet wird oder nie aufgeräumt wird, wächst sie. Diese Anleitung zeigt, wie Sie auf die leistungsstarke Speicherung von Bestellungen (HPOS) umstellen, ohne Bestellungen zu verlieren, und wie Sie die Hintergrundaufgaben überwachen und im Zaum halten.

Voraussetzungen

  • Software: WordPress 7.1 mit einer aktuellen WooCommerce-Version; getestet wurde mit WooCommerce 11.1.2. PHP in einer von WooCommerce unterstützten Version.
  • Zugriff: Rolle Administrator im Backend sowie SSH mit WP-CLI für die Befehle. Die Umstellung klappt auch über das Backend, die Prüfbefehle gibt es aber nur auf der Kommandozeile.
  • Staging: eine Kopie des Shops, auf der Sie die Umstellung zuerst durchspielen. Sie verhindert, dass ein inkompatibles Plugin im Live-Shop auffällt.
  • Backup: eine frische, geprüfte Sicherung von Datenbank und Dateien unmittelbar vor der Umstellung. Bestellungen sind Geschäftsdaten mit Aufbewahrungspflicht.
  • Zeitfenster: ein Zeitraum mit wenigen Bestellungen, etwa früh am Morgen.
  • Hosting: gewöhnliches Webhosting reicht für kleine Shops; ab einigen tausend Bestellungen im Monat ist ein Tarif mit eigenem Cronjob und ausreichend PHP-Speicher sinnvoll.

Schritt 1: Ausgangslage prüfen

Seit WooCommerce 8.2 ist HPOS für neue Installationen standardmäßig aktiv. Shops, die schon länger laufen, speichern Bestellungen oft noch in den Tabellen wp_posts und wp_postmeta. Dort teilen sie sich den Platz mit Beiträgen, Seiten und Metadaten aller Plugins, was Abfragen auf Bestellungen verlangsamt. Den Stand zeigt WP-CLI:

wp wc hpos status --user=admin
HPOS aktiviert?: no
Kompatibilitätsmodus aktiviert?: no
Nicht synchronisierte Bestellungen: 40
Zu bereinigende Bestellungen: 0

Im Backend finden Sie dieselbe Einstellung unter WooCommerce → Einstellungen → Erweitert → Funktionen im Bereich „Datenspeicher für Bestellungen“. Dort stehen „Leistungsstarke Speicherung von Bestellungen (empfohlen)“ und „Speichern als WordPress-Beiträge (alt)“ zur Auswahl. Ersetzen Sie admin in den Befehlen durch den Benutzernamen eines Administrators.

Verifizieren: Sie wissen, ob HPOS aktiv ist und wie viele Bestellungen noch nicht synchronisiert sind. Steht „HPOS aktiviert?“ bereits auf yes, springen Sie zu Schritt 5.

Schritt 2: Erweiterungen auf Kompatibilität prüfen

Plugins, die direkt in wp_posts nach Bestellungen suchen, finden nach der Umstellung nichts mehr. WooCommerce fragt deshalb bei jeder Erweiterung ab, ob sie HPOS unterstützt:

wp wc hpos compatibility-info --user=admin

Die Ausgabe teilt die Plugins in kompatibel, inkompatibel und unsicher ein. Inaktive Plugins stehen immer in der Liste der unsicheren. Solange ein aktives Plugin als inkompatibel gilt, lässt WooCommerce die Umstellung nicht zu. Aktualisieren Sie solche Plugins oder fragen Sie beim Hersteller nach; ein Plugin ohne Aussage zu HPOS sollten Sie auf der Staging-Kopie mit echten Abläufen testen, etwa Rechnungserstellung, Versandetiketten oder Schnittstellen zur Warenwirtschaft.

Verifizieren: Die Zeile „inkompatible Plugins gefunden“ zeigt 0, und die unsicheren Plugins haben Sie auf Staging getestet.

Schritt 3: Bestellungen synchronisieren

Der Kompatibilitätsmodus hält beide Speicherorte gleich: Jede Bestellung wird in die neuen Tabellen geschrieben und parallel in die alten. Das ist Ihr Sicherheitsnetz, denn solange er aktiv ist, können Sie jederzeit zurückschalten. Ohne vorherige Synchronisierung verweigert WooCommerce die Umstellung:

Warning: [Fehlgeschlagen] Es müssen noch Bestellungen synchronisiert werden. Führe bitte `wp wc hpos sync` aus, um ausstehende Bestellungen zu synchronisieren.
Error: Fehler bei Vorabprüfungen von HPOS, siehe Fehler oben

Legen Sie das Backup an, schalten Sie den Kompatibilitätsmodus ein und synchronisieren Sie die vorhandenen Bestellungen:

wp db export vor-hpos.sql
wp wc hpos compatibility-mode enable --user=admin
wp wc hpos sync --user=admin
wp wc hpos verify_data --user=admin

Bei großen Shops läuft sync in Stapeln und kann eine Weile dauern. Über SSH ist das zuverlässiger als im Backend, wo WooCommerce die Synchronisierung als Hintergrundaufgabe verteilt. verify_data vergleicht anschließend jede migrierte Bestellung mit dem Original.

Verifizieren: verify_data meldet, dass alle Bestellungen verifiziert wurden, und wp wc hpos status zeigt 0 nicht synchronisierte Bestellungen.

Schritt 4: HPOS aktivieren und beobachten

Jetzt schalten Sie die neuen Tabellen als maßgeblich:

wp wc hpos enable --user=admin
Prüfungen vor der Aktivierung werden ausgeführt …
Success: HPOS aktiviert.

Lassen Sie den Kompatibilitätsmodus einige Tage eingeschaltet. In dieser Zeit prüfen Sie im Alltag: Kommen Bestellungen vollständig an, stimmen Rechnungen, E-Mails und Exporte, funktionieren Rückerstattungen? Tritt ein Problem auf, schalten Sie mit wp wc hpos disable --user=admin zurück auf die alte Speicherung, was nur bei synchronen Daten möglich ist. Der Kompatibilitätsmodus kostet etwas Leistung, weil jede Bestellung doppelt geschrieben wird; als Übergang ist das in Ordnung.

Verifizieren: wp wc hpos status zeigt „HPOS aktiviert?: yes“ und „Kompatibilitätsmodus aktiviert?: yes“, neue Testbestellungen erscheinen in der Bestellübersicht.

Schritt 5: Alte Bestelldaten aufräumen

Wenn der Shop über die Beobachtungsphase stabil lief, schalten Sie die Synchronisierung ab. Erst dann erlaubt WooCommerce das Aufräumen; ein zu früher Versuch endet mit Die Bereinigung kann nur durchgeführt werden, wenn HPOS aktiv und der Kompatibilitätsmodus deaktiviert ist.

wp db export vor-hpos-cleanup.sql
wp wc hpos compatibility-mode disable --user=admin
wp wc hpos status --user=admin
wp wc hpos cleanup all --user=admin

Der Status zeigt vor dem Aufräumen unter „Zu bereinigende Bestellungen“, wie viele Einträge in den alten Tabellen übrig sind. cleanup entfernt die überflüssigen Bestelldaten aus wp_postmeta. Dieser Schritt ist ohne Backup nicht umkehrbar, deshalb die zweite Sicherung direkt davor. Danach kann sich ein Neuaufbau der Tabellen lohnen, damit der freie Platz zurückgegeben wird; wie das bei MariaDB geht, steht in MariaDB für WordPress optimieren.

Verifizieren: wp wc hpos status zeigt 0 zu bereinigende Bestellungen, und die Bestellübersicht zeigt weiterhin alle Bestellungen.

Schritt 6: Hintergrundaufgaben überwachen

WooCommerce und viele Erweiterungen erledigen Arbeiten zeitversetzt über den Action Scheduler: Datenbank-Updates, Statistik-Importe, Webhooks, Abonnementzahlungen. Die Warteschlange sehen Sie unter WooCommerce → Status → Geplante Aktionen oder kompakt per WP-CLI:

wp action-scheduler status
wp action-scheduler action list --status=failed --fields=id,hook,status --user=admin

Zwei Zustände verdienen Aufmerksamkeit. Viele Aktionen mit Status „Überfällig“ bedeuten, dass die Warteschlange nicht abgearbeitet wird. Der Action Scheduler startet standardmäßig über WP-Cron, das wiederum nur bei Seitenaufrufen läuft. Bei wenig Besuchern oder abgeschaltetem WP-Cron ohne Ersatz bleibt er stehen. Die Lösung ist ein echter Cronjob auf dem Server, wie ihn Cronjobs in WordPress überwachen beschreibt. Fehlgeschlagene Aktionen dagegen zeigen, dass eine Aufgabe einen Fehler geworfen hat. Im Test lieferte eine absichtlich verwaiste Aktion diese Meldung:

Error: Fehler beim Ausführen der Aktion 52: Geplante Aktion für firma_test_fehler wird nicht ausgeführt, da keine Rückrufe registriert sind.

Eine solche Meldung entsteht typischerweise, wenn ein deaktiviertes Plugin noch Aufgaben hinterlassen hat. Der Hook-Name verrät fast immer, zu welchem Plugin die Aktion gehört.

Große Warteschlangen arbeiten Sie per WP-CLI ab, das laut Action-Scheduler-Dokumentation der schnellste Weg ist, weil er nicht an die Zeitgrenze von 30 Sekunden pro Webanfrage gebunden ist:

wp action-scheduler run --batch-size=50 --user=admin

Verifizieren: wp action-scheduler status zeigt keine alten Einträge unter pending, und fehlgeschlagene Aktionen sind einem Plugin zugeordnet und erklärt.

Schritt 7: Aufbewahrung der Aufgaben steuern

Erledigte und abgebrochene Aktionen löscht der Action Scheduler selbst nach rund einem Monat, fehlgeschlagene seit Version 4.0.0 nach drei Monaten. Beides lässt sich per Filter anpassen, etwa in einem kleinen eigenen Plugin:

add_filter( 'action_scheduler_retention_period', function () {
	return 14 * DAY_IN_SECONDS;
} );

Kürzere Fristen halten die Tabellen wp_actionscheduler_actions und wp_actionscheduler_logs klein, nehmen Ihnen aber Zeit zur Fehlersuche. Einen einmaligen Rückstand räumen Sie manuell auf:

wp action-scheduler clean --status=complete --before="14 days ago" --user=admin

Die Umstellung auf HPOS ist einmalig, die Pflege danach nicht: WooCommerce und seine Erweiterungen bekommen häufig Updates, die oft Datenbank-Updates als Hintergrundaufgaben mitbringen. Wer das nicht selbst im Blick behalten möchte, kann es abgeben: Die WordPress-Wartung von wordpressupdate.de spielt Updates von WordPress, Plugins und Themes nach einer Kompatibilitätsprüfung ein und sichert die Website wöchentlich auf externen Speicher.

Verifizieren: wp action-scheduler clean meldet die Zahl gelöschter Aktionen, und die Übersicht unter Geplante Aktionen enthält nur noch jüngere Einträge.

Typische Fehler

  • Umstellung wird verweigert: Es gibt nicht synchronisierte Bestellungen oder ein aktives inkompatibles Plugin. Führen Sie wp wc hpos sync aus beziehungsweise prüfen Sie compatibility-info.
  • Cleanup bricht ab: Der Kompatibilitätsmodus ist noch aktiv. Schalten Sie ihn ab, wenn die Beobachtungsphase ohne Auffälligkeiten war.
  • Plugin zeigt nach der Umstellung keine Bestellungen: Es liest direkt aus wp_posts. Schalten Sie per wp wc hpos disable zurück, solange die Daten synchron sind, und klären Sie ein Update mit dem Hersteller.
  • Hunderte überfällige Aktionen: WP-Cron läuft nicht. Richten Sie einen System-Cronjob ein und arbeiten Sie den Rückstand mit wp action-scheduler run ab.

Häufige Fragen

Macht HPOS den Shop für Kunden schneller?

Der Effekt betrifft Abfragen auf Bestellungen, also vor allem die Bestellverwaltung im Backend und Auswertungen. Die Ladezeit von Produktseiten hängt eher von Caching und Theme ab.

Kann ich nach dem Aufräumen zurück?

Ja, mit Umweg. Nach dem Cleanup zeigt wp wc hpos status alle Bestellungen als nicht synchronisiert, und wp wc hpos disable lehnt das Zurückschalten ab. Erst wp wc hpos sync schreibt die Bestellungen wieder in die alten Tabellen; im Test war danach das Zurückschalten möglich. Das Backup von direkt vor dem Cleanup bleibt trotzdem Ihre Absicherung.

Darf ich fehlgeschlagene Aktionen einfach löschen?

Ja, aber erst, wenn Sie die Ursache kennen. Wiederkehrende Fehler desselben Hooks deuten auf ein Problem, das Löschen nicht behebt.

Testumfang

Wir haben die Umstellung auf HPOS auf einer Testinstallation mit WordPress 7.1.2 und 40 Bestellungen im alten Format vollständig durchgespielt. Die gezeigten Fehlermeldungen bei fehlender Synchronisierung und zu frühem Aufräumen stammen direkt aus diesem Test. Echte Zahlungsanbieter, Abonnements und Shops mit sechsstelligen Bestellzahlen haben wir nicht geprüft. Betreiben Sie einen solchen Shop, sollten Sie die Umstellung unbedingt zuerst auf einer Staging-Kopie testen.

Fazit

Die Umstellung auf HPOS ist bei sorgfältiger Vorbereitung unspektakulär: prüfen, synchronisieren, verifizieren, aktivieren, beobachten, aufräumen. Der Kompatibilitätsmodus gibt Ihnen dabei einen Rückweg. Die Hintergrundaufgaben brauchen dagegen dauerhaft Aufmerksamkeit, denn ein stehender Cron oder ein Plugin mit Fehlern fällt sonst erst auf, wenn Bestellungen hängen. Wenn Sie Updates und Backups für Ihren Shop lieber in fremde Hände geben, übernimmt das die WordPress-Wartung mit persönlicher Betreuung.

Weiterführende Anleitungen und Quellen

WordPressWooCommerceHPOSAction SchedulerWP-CLIPerformance