HPOS in WooCommerce: what it means for your shipping plugins

If you’ve been following WooCommerce development, you’ve heard about HPOS, High-Performance Order Storage.

It’s one of the most significant changes WooCommerce has made in recent years, and it affects which plugins work safely on your store.

Here’s what you need to know, and how to verify your shipping setup is compatible.

What HPOS is

Historically, WooCommerce stored order data in WordPress’s wp_posts and wp_postmeta tables.

That tables are designed for blog content, not transactional data.

As stores scaled, this caused performance problems.

HPOS moves order data into dedicated database tables (wc_orders, wc_order_items, etc.) built specifically for eCommerce.

The result:

  • Faster order queries.
  • Better database performance at scale.
  • Cleaner separation between content and commerce data.

WooCommerce introduced it as an optional feature and has been pushing stores to adopt it.

On new WooCommerce installations it’s now enabled by default.

Why shipping plugins are affected

Shipping plugins interact with WooCommerce at a low level as they hook into order processing and read cart data.

Plugins that query order data directly using old wp_posts-based queries can break or return wrong results when HPOS is active.

Specifically, a poorly written plugin might:

  • Query wp_posts for order history and fail to find orders in the new tables.
  • Use internal WC_Order methods that changed behavior under HPOS.
  • Store metadata in ways that don’t survive an HPOS migration

The safe approach is to use official WooCommerce APIs, and declare HPOS compatibility explicitly.

Advanced Shipping Rules for WooCommerce is fully HPOS compatible

My plugin Advanced Shipping Rules for WooCommerce is explicitly HPOS-compatible.

It stores all rule data in custom post types (asrfwoo_group, asrfwoo_condition) and WordPress options, neither of which is affected by HPOS.

It never queries wp_posts for order data and uses only WooCommerce’s official shipping method API (WC_Shipping_Method).

You can enable HPOS on your store or it may already be enabled, without any conflict with this plugin.

How to check HPOS status on your store

  1. Go to WooCommerce → Settings → Advanced.
  2. Click the Features tab.
  3. Look for “High-Performance Order Storage”.
wocoomerce hpos

If it’s listed and enabled, your store is running HPOS.

You can also run a plugins compatibility check: WooCommerce → Status → Tools → Run HPOS compatibility checker.

This flags any installed plugins that are not yet compatible.

What to do if a plugin isn’t compatible

If the checker flags your current shipping plugin:

  • Check if an update is available, many authors have added HPOS support recently.
  • Look for an alternative that’s already compatible.
  • If you must keep it temporarily, WooCommerce offers a compatibility mode that writes data to both storage systems, but this has a performance cost and is not a long-term solution. You can find it at WooCommerce → Settings → Advanced Features tab
enable compatability mode woocommerce

Choosing HPOS-compatible plugins going forward

When evaluating any new plugin, you should look for the HPOS compatibility declaration on the WordPress.org listing.

Try to check the changelog for HPOS-related entries, and prefer plugins that use official WooCommerce APIs rather than direct database queries.

WooCommerce’s direction is clear.

Stores that haven’t migrated to HPOS will need to eventually.

Auditing your plugin stack now saves problems later.

Conclusion

HPOS compatibility isn’t just a technical checkbox.

It’s a signal that a plugin is maintained, uses modern WooCommerce APIs, and won’t break as the platform evolves.

Advanced Shipping Rules for WooCommerce is fully HPOS-compatible and free.

More posts