WooCommerce has been going through one of its biggest architectural changes in years: the move to High-Performance Order Storage, commonly called HPOS. If you’re running a WooCommerce store with plugins for GPSR compliance, this shift matters more than you might think.
Let’s break down what HPOS actually is, why WooCommerce made this change, and how to make sure your compliance plugins keep working properly.
What Is HPOS and Why Does It Exist?
For years, WooCommerce stored order data in the same database tables WordPress uses for posts and post meta. Every order was technically a custom post type, and all the order details (billing address, line items, totals) were saved as post meta entries. It worked, but it was slow, especially for stores processing hundreds or thousands of orders.
HPOS replaces that system with dedicated database tables built in particular for order data. Orders get their own tables with proper columns for the most commonly queried fields. The result is much faster order lookups, better database performance, and a foundation that can scale to much larger stores.
WooCommerce began rolling out HPOS as the default storage engine in WooCommerce 8.2, and as of 2025, new WooCommerce installations use it by default. Existing stores can migrate at their own pace, but the old system will eventually be deprecated.
Why Plugin Compatibility Matters
Here’s where things get tricky. Any plugin that reads or writes order data needs to use the correct API methods to work with HPOS. Plugins that directly query the old wp_posts and wp_postmeta tables for order information will break when HPOS is enabled.
For a GPSR compliance plugin, this is particularly important. GPSR data is tied to products and orders. Manufacturer details, responsible person information, and product safety data all need to be stored correctly and retrieved reliably, regardless of which storage engine your store uses.
If a plugin isn’t HPOS-compatible, you might see:
- Missing GPSR data on order confirmations and invoices
- Blank manufacturer fields in order details
- PHP errors or warnings in your error log
- Compliance information that shows on the frontend but doesn’t carry through to the order record
That last one is especially problematic. If your product pages display the right GPSR data but your order records don’t capture it, you could have a compliance gap without even realizing it.
How GPSR Compliance Plugin Handles HPOS
The GPSR Compliance for WooCommerce plugin was built with HPOS support from the start. It declares HPOS compatibility in its plugin header, which tells WooCommerce it’s safe to use with the new order storage system.
Under the hood, the plugin uses WooCommerce’s CRUD (Create, Read, Update, Delete) methods for all order-related operations. Instead of directly querying post meta, it goes through WooCommerce’s order objects and their built-in methods. This means the plugin works identically whether your store uses the legacy post-based storage or the new HPOS tables.
Product-level GPSR data (manufacturer info, safety details, responsible person) is stored as product meta, which isn’t affected by the HPOS change. But when that data gets attached to orders, for example in order confirmation emails or packing slips, the plugin uses the proper HPOS-compatible methods to read and write it.
Checking Your Store’s HPOS Status
To see whether your store is using HPOS, go to WooCommerce > Settings > Advanced > Features. Look for the “Order data storage” option. You’ll see one of three states:
- WordPress posts storage (legacy) – the old system, still functional but being phased out
- High-performance order storage – the new dedicated tables
- Both (synchronization enabled) – data is written to both systems simultaneously, useful during migration
If you’re still on legacy storage, WooCommerce provides a migration tool in the same settings area. Before migrating, check that all your active plugins declare HPOS compatibility. You can find a compatibility status for each plugin in the WooCommerce system status report.
Steps to Ensure Everything Works Together
Here’s a practical approach to making sure your GPSR compliance setup works smoothly with HPOS:
- Check plugin compatibility – Go to WooCommerce > Status and review the HPOS compatibility column. Every active plugin should show as compatible.
- Update everything first – Make sure WooCommerce, your GPSR plugin, and all other extensions are running their latest versions before enabling HPOS.
- Use sync mode during migration – Enable both storage systems with synchronization. This lets you test without committing fully. If something breaks, you can switch back.
- Test order flow end-to-end – Place a test order and verify that GPSR data appears correctly in the order details, confirmation email, and any invoices or packing slips you generate.
- Check your backups – Always back up your database before making storage changes. If something goes wrong during migration, you want a clean restore point.
Looking Ahead
HPOS isn’t optional anymore, it’s the direction WooCommerce is heading. Stores that delay migration will eventually be forced to switch when legacy support is removed. The sooner you verify that your plugins, including your GPSR compliance tools, work with HPOS, the smoother that transition will be.
Your key takeaway: don’t just check that your plugins are “updated.” Check that they declare HPOS compatibility. An updated plugin that still uses direct database queries will cause just as many problems as an outdated one.