Recently WooCommerce introduced “High-Performance Order Storage” [HPOS] for WooCommerce orders as a beta feature, which you can activate to save WooCommerce orders data into separate database tables with the following names:
- _wc_orders
- _wc_orders_meta
- _wc_order_addresses
- _wc_order_operational_data
- _wc_order_coupon_lookup
- _wc_order_product_lookup
- _wc_order_stats
- _wc_order_tax_lookup
This guide explains how you can make use of this feature to prevent orders in the staging site from replacing orders on the live site whenever you push a staging site to the live site. To do that, follow these steps:
Contents
Enable HPOS on Both the Live and Staging site:
Note: HPOS is heavily developed and still work in progress. You find a more detailed instruction on the official WooCommerce HPOS article.
Go to (WooCommerce > Settings > Advanced > Features) and select “High-performance order storage” box as in this screenshot on both the staging and live sites, and make sure “Enable compatibility mode” is checked as well.

After this step WooCommerce will start to sync orders from the regular _posts table to the new _wc_orders table, you might need to wait a couple of minutes till the synchronization is done.
Again, it’s a must to do these steps on both the live and staging sites.
Exclude WooCommerce Orders Tables During The Pushing Process
Now when it comes to pushing a staging site to the live site, you can exclude these tables:

And your live site’s WooCommerce orders will remain the same after the push and not replaced with the staging site’s ones.