Aktualisiert am 14. Oktober 2026
WooCommerce auf HPOS umstellen: Ablauf, Kompatibilität und Rückweg
WooCommerce HPOS aktivieren: Plugins prüfen, Bestellungen synchronisieren, umschalten, testen und notfalls zurück. Mit den passenden WP-CLI-Befehlen.
Inhalt
HPOS (High-Performance Order Storage) heißt: WooCommerce speichert Bestellungen in eigenen Datenbanktabellen statt in den WordPress-Tabellen für Beiträge. Stand Oktober 2026 ist HPOS bei neu installierten Shops seit WooCommerce 8.2 (Oktober 2023) voreingestellt, ältere Shops stellt WooCommerce aber nicht von selbst um. Das machen Sie in drei Schritten: Plugins prüfen, die Bestellungen in die neuen Tabellen synchronisieren, umschalten. Solange der Kompatibilitätsmodus läuft, kommen Sie jederzeit zurück.
Was sich mit HPOS ändert
Bis WooCommerce 8.2 lagen Bestellungen als eigener Beitragstyp in wp_posts, ihre Details in wp_postmeta. In denselben Tabellen stehen Seiten, Beiträge, Produkte und die Daten vieler Plugins. Mit jeder Bestellung wächst dort der Berg, durch den sich Abfragen im Checkout und in der Bestellübersicht arbeiten.
HPOS legt dafür vier eigene Tabellen an: wp_wc_orders, wp_wc_order_addresses, wp_wc_order_operational_data und wp_wc_orders_meta (das Präfix wp_ kann in Ihrer Installation anders heißen). Laut Entwicklerdokumentation von WooCommerce bekommen Bestellungen damit eigene Indizes, es gibt weniger Lese- und Schreibzugriffe auf stark belegte Tabellen, und Bestelldaten lassen sich gezielter sichern und zurückspielen.
Im Backend sieht die Bestellübersicht danach fast gleich aus. Die Umstellung trifft vor allem Plugins und eigenen Code, die Bestellungen direkt aus wp_posts lesen.
Läuft mein Shop schon mit HPOS?
Unter WooCommerce > Einstellungen > Erweitert > Funktionen steht, welcher Speicher für Bestellungen aktiv ist. In der englischen Oberfläche heißen die beiden Optionen „High-performance order storage (recommended)“ und „WordPress posts storage (legacy)“. Ist der Bestellspeicher ausgewählt, sind Sie fertig. Steht dort noch der WordPress-Beitragsspeicher, läuft Ihr Shop auf dem alten Weg.
Mit Zugang zur Kommandozeile geht es schneller: wp wc hpos status zeigt, ob HPOS und der Kompatibilitätsmodus an sind und wie viele Bestellungen noch auf die Synchronisation warten.
Vor der Umstellung: Plugins und eigenen Code prüfen
Woran die Umstellung hängt, sind fast immer Erweiterungen. Ein Plugin, das Bestellungen an WooCommerce vorbei direkt aus der Datenbank liest, sieht nach dem Umschalten veraltete oder gar keine Daten. Kandidaten sind alles, was mit Bestellungen arbeitet: Rechnungs- und PDF-Plugins, Germanized oder German Market, Zahlungs- und Versand-Plugins, die Anbindung an Warenwirtschaft oder Buchhaltung und selbst geschriebene Exporte.
WooCommerce warnt selbst: Meldet ein aktives Plugin, dass es HPOS nicht unterstützt, ist die Option zum Umschalten gesperrt, und der Link „View and manage“ listet die betroffenen Plugins. Dieselbe Liste erreichen Sie direkt über /wp-admin/plugins.php?plugin_status=incompatible_with_feature&feature_id=custom_order_tables.

Verlassen Sie sich nicht allein auf diese Warnung. Laut HPOS-Rezeptbuch von WooCommerce zeigt WooCommerce die Kompatibilität nur für Plugins an, die im Dateikopf „WC tested up to“ angeben. Ein Plugin ohne diese Angabe fehlt in der Liste, auch wenn es Bestellungen anfasst. Dasselbe Rezeptbuch enthält einen Suchausdruck, mit dem Sie Ihren Code nach den betroffenen Funktionen durchsuchen.
Eigenen Code, etwa Snippets in der functions.php oder ein eigenes Plugin, prüfen Sie vor der Umstellung auf diese Stellen:
- Bestellungen per
get_post()laden: ersetzen durchwc_get_order(). - Bestellungen per
get_posts()oderWP_Querymit dem Beitragstypshop_ordersuchen: ersetzen durchwc_get_orders(). - Metadaten mit
get_post_meta(),update_post_meta()oderdelete_post_meta(): über das Bestellobjekt lesen und schreiben, danachsave(). - Eigene SQL-Abfragen auf
wp_postsoderwp_postmeta, die Bestellungen betreffen: umbauen, sie lesen mit HPOS die falschen Tabellen. - Meta-Boxen und Spalten in der Bestellübersicht, die am alten Bildschirm hängen: Die Bestellübersicht hat mit HPOS eine eigene Bildschirm-ID.
// alt: update_post_meta( $order_id, '_mein_feld', $wert );
$order = wc_get_order( $order_id );
$order->update_meta_data( '_mein_feld', $wert );
$order->save();
Ist der Code angepasst, erklärt ein eigenes Plugin seine Kompatibilität mit FeaturesUtil::declare_compatibility( 'custom_order_tables', __FILE__, true ). Dann taucht es nicht mehr in der Warnliste auf.
Erweiterungen mit eigenen Beitragstypen, etwa Woo Subscriptions oder WooCommerce Bookings, lassen Sie während der Umstellung aktiv. Die WooCommerce-Dokumentation zu HPOS warnt: Wer sie vorher deaktiviert und danach wieder einschaltet, bekommt abweichende Daten. Und jede Erweiterung, die für HPOS ein Update braucht, braucht auch eine gültige Lizenz. Welche laufenden Kosten so zusammenkommen, steht in Was kostet ein WooCommerce-Shop?
HPOS aktivieren: die Umstellung in sechs Schritten
- Erstellen Sie eine vollständige Sicherung der Datenbank und eine Staging-Kopie des Shops. Die folgenden Schritte laufen zuerst auf der Kopie.
- Bringen Sie WooCommerce und alle Erweiterungen auf den aktuellen Stand und prüfen Sie die Plugins wie oben beschrieben.
- Setzen Sie unter Erweitert > Funktionen den Haken beim Kompatibilitätsmodus und speichern Sie. WooCommerce kopiert die Bestellungen dann im Hintergrund, laut Dokumentation 25 Bestellungen pro Durchlauf. Den Fortschritt sehen Sie unter WooCommerce > Status > Geplante Aktionen. Bei vielen Bestellungen ist
wp wc hpos syncauf der Kommandozeile schneller. - Sind alle Bestellungen synchronisiert, wählen Sie den Bestellspeicher (HPOS) aus und speichern. Vorher lässt WooCommerce den Wechsel nicht zu.
- Testen Sie: je eine Testbestellung pro Zahlart, die Bestellübersicht, Rechnungen, E-Mails, Exporte und die Übergabe an Versand oder Warenwirtschaft.
wp wc hpos verify_datavergleicht alle Bestellungen in beiden Speichern,wp wc hpos diffmit einer Bestellnummer zeigt die Unterschiede einer einzelnen Bestellung. - Läuft auf der Kopie alles, wiederholen Sie die Umstellung im Live-Shop, am besten zu einer Zeit mit wenigen Bestellungen. Den Kompatibilitätsmodus lassen Sie danach an.
WooCommerce selbst rät, den Kompatibilitätsmodus nach dem Wechsel noch eine Weile laufen zu lassen. Ich würde ihn frühestens abschalten, wenn der nächste Rechnungslauf und die üblichen Exporte ohne Abweichung durch sind. Das kostet bei jeder Bestellung einen zusätzlichen Schreibvorgang, dafür bleibt der Rückweg ein Klick.
Der Rückweg, wenn etwas hakt
Solange der Kompatibilitätsmodus an ist, schreibt WooCommerce jede Bestellung in beide Speicher. Zurück geht es dann unter Erweitert > Funktionen: WordPress-Beitragsspeicher wählen, speichern, fertig. War der Kompatibilitätsmodus schon aus, schalten Sie ihn zuerst wieder ein und warten, bis die Synchronisation durch ist. Erst dann gibt WooCommerce den Wechsel frei. Auf der Kommandozeile bricht wp wc hpos disable mit einer Fehlermeldung ab, solange Bestellungen auf die Synchronisation warten.
Der Rückweg ist kein Dauerzustand. Er hält den Shop am Laufen, bis das Plugin, das Probleme macht, ein Update hat oder ersetzt ist.
Aufräumen: alte Bestelldaten entfernen
Nach der Umstellung bleiben die alten Bestelldaten in wp_posts und wp_postmeta liegen. Entfernen lassen sie sich mit wp wc hpos cleanup all, aber nur, wenn HPOS an und der Kompatibilitätsmodus aus ist. Laut Dokumentation der HPOS-Befehle löscht der Befehl endgültig und stoppt bei Bestellungen, deren alte Fassung neuer ist als die in HPOS. Kleine Platzhalter-Einträge bleiben in wp_posts stehen, damit ein späterer Wechsel möglich bleibt.
Aufräumen lohnt sich erst, wenn der Shop einige Wochen ohne Auffälligkeiten mit HPOS gelaufen ist, und nur mit frischer Sicherung. Eilig ist es nicht: Die alten Daten stören den Betrieb nicht, sie belegen nur Platz.
Selbst machen oder machen lassen
Bei einem kleinen Shop mit aktuellen Plugins und ohne eigenen Code ist die Umstellung schnell erledigt, die meiste Zeit geht in die Tests. Aufwendig wird es bei vielen Bestellungen, bei Plugins ohne HPOS-Unterstützung und bei Code, der Bestellungen direkt aus der Datenbank liest. Für die Umstellung auf HPOS oder den Block-Checkout plane ich 3 bis 8 Stunden ein.
Als WooCommerce-Entwickler stelle ich Shops auf HPOS um: Plugins prüfen, eigenen Code anpassen, auf einer Testkopie umschalten und erst dann im Live-Shop. Hängt Ihr Shop an einer Warenwirtschaft, gehört die Schnittstelle zum Test dazu. Wie solche Anbindungen aufgebaut sind, beschreibt der Beitrag zum WooCommerce-B2B-Shop.
Für Ihr eigenes Projekt: Checklisten zum Abhaken und als PDF