Enable High-Performance Order Storage, or HPOS, through WooCommerce's supported migration workflow after confirming that your extensions and custom code can use it. HPOS stores order data in dedicated tables, so the change affects more than a visual setting.
IN THIS ARTICLE
01 Review the current data store
Newer stores may already use HPOS. Open WooCommerce > Settings > Advanced > Features and identify the current authoritative order storage and compatibility-mode status. Record these settings before making changes. Do not infer the active store merely from the presence of HPOS tables in the database.
02 Check compatibility and recovery
- Review WooCommerce's incompatible-extension list and each important vendor's current HPOS statement.
- Include payment gateways, subscriptions, bookings, exports, accounting, fulfilment and custom order reports.
- Ask the developer to review custom code that reads orders directly from posts or postmeta tables.
- Create a complete, current database and files backup and rehearse recovery on an isolated copy.
03 Rehearse the transition
- Use staging with live payments, customer email and external fulfilment isolated.
- Keep relevant extensions that register their own order-related types active during the migration, following WooCommerce's compatibility guidance.
- Enable the supported compatibility or synchronisation workflow and let the required background processing complete.
- Check for pending or failed migration actions and verify representative recent and older orders.
- Switch the authoritative order storage to HPOS only when synchronisation is complete and the interface permits it.
- Test checkout, refunds, order editing, reports and all critical integrations.
Why is the HPOS option unavailable?
An extension may declare incompatibility, or the data stores may not yet be ready to switch. Review the displayed reason and resolve it with the extension developer. Do not bypass compatibility checks by changing database flags manually.
Does compatibility mode replace a backup?
No. Synchronised data stores are not an independent historical recovery copy. They can both receive an unwanted change. Keep normal backups and a tested recovery process, including the data created after a production cutover.
04 Deploy and monitor
Schedule the tested transition during a controlled maintenance window, take a fresh backup and monitor synchronisation to completion. Compare order counts and known transaction records, then verify new orders and external exports. Keep compatibility mode for the agreed observation period where appropriate, following current WooCommerce guidance.
Can I switch back immediately if something fails?
Only after confirming the destination data store is fully synchronised through the supported workflow. Switching to stale order data can lose visibility of new transactions. Preserve current records, pause affected writers where necessary and investigate the incompatible component. Do not delete legacy tables or HPOS tables merely because the initial test succeeded; cleanup requires a separate, reviewed retention and recovery decision.