If you are considering using, or, are already using WooCommerce, this article might be very useful to your business. WooCommerce, after years of development, introduced High-Performance Order Storage (HPOS). It is a great upgrade that promises to change the whole experience significantly on multiple levels.
In this article, we will explain what HPOS is about, how it manages to speed up your WooCommerce site, and how to enable it on your WordPress installation. Let’s dig right in!
What is WooCommerce HPOS and How Does It Improve Order Storage?
High-Performance Order Storage, previously called “Custom Order Tables“, represents a feature that started years ago with the aim of enhancing WooCommerce performance by restructuring the storage of order data in the database.
More specifically, it replaced the default WordPress post-based storage of orders and used dedicated custom database tables for data like orders and order addresses instead. This way is more efficient for handling large volumes of orders and eventually improving overall performance.
High-Performance Order Storage is a major improvement to this project. It promises up to 40x faster orders, faster order creation, and faster checkout.
3 Reasons You Should Enable High-Performance Order Storage
Let’s discuss in what ways High-Performance Order Storage can improve your WooCommerce website.
As its primary goal, HPOS will enhance the performance of your WooCommerce store by optimizing the storage of order data. Storing order data in a custom structure reduces the load on your WordPress database. This can prevent database bloat and improve database query efficiency. Your website’s search and reporting capabilities will also become quicker and more efficient because of this.
As an overall result, you have faster page load times, quicker order processing, and improved overall site responsiveness, which leads to a better user experience for your customers.
The system can now handle large volumes of orders more efficiently. So, if your store experiences significant growth and an increasing number of orders, HPOS will suffice to meet the requirements without a significant loss in performance.
Enabling HPOS aligns your website with future performance improvements in WooCommerce, ensuring that your store will be ready to benefit from these enhancements.
Search engines will appreciate a better customer shopping experience. Faster performance will have a positive impact on your rankings, reduce bounce rates, and increase customer satisfaction.
Google and other search engines consider page load times as a factor in search results ranking, so a performance boost from HPOS can potentially improve your SEO.
How to Enable High-Performance Order Storage
Woocommerce has managed to provide the smoothest possible way to transition from your existing store to the HPOS-featured shop if needed.
As we always recommend, before you proceed with any changes, you should create a staging environment to test on and then push it to the live site.
NOTE: We also suggest that you study the official documentation. HPOS promises great improvements, but it is a new feature nonetheless, and some extensions may not be compatible with the new database architecture yet. The good news is that in cases like this, a warning message will appear inside your wp-admin dashboard.
To check if HPOS is enabled, you have to go to WooCommerce settings and find the Features section under the Advanced tab.
If your store is new, then HPOS is already enabled by default.
If your store was created before October 10, 2023, HPOS will not be enabled by default to ensure that your shop will not suddenly face any issues.
However, you have the choice to enable HPOS by ticking the Enable compatibility mode checkbox. This will synchronize orders to the posts table.
During this transition stage of HPOS, you may need to perform some work to synchronize your store with the new database structure, so please bear with us.
Once the checkbox is enabled and changes are saved, the
wc_schedule_pending_batch_process action will start running to check whether there are orders that need to be backfilled. If so, the
wc_run_batch_process action will be triggered.
You can see these actions in the Scheduled Actions table if you follow the WooCommerce -> Status menu item and look under the Scheduled Actions tab.
You can click the Run button or wait for it to run on its own schedule. This action applies to 25 orders at a time, which means that if there are more orders, more actions will be scheduled.
Once this has finished, the order tables will be in sync and your shop now utilizes High-Performance Order Storage.
Of course, you always have the choice to go with the “WordPress posts storage (legacy)” option and keep the old functionality without utilizing HPOS. But let us point out why we advise otherwise;
About Compatibility Mode
If you examine the structure of database tables when compatibility mode is enabled, you will notice that some order-related metadata is still stored in the postmeta table. This means that while HPOS synchronizes orders to custom tables, some additional details and metadata associated with orders may still be retained in the postmeta table.
But this happens for a reason.
Consider this a temporary transition stage until all things run smoothly between HPOS and all 3rd party plugins installed on your site. Technically speaking, there are some plugins that have not yet been updated to work with HPOS, others that are using direct database queries, or avoid the official APIs WooCommerce developers provide to access order data.
So, WooCommerce does not automatically remove order data held in the post/post meta tables, in order to prevent something breaking when running third-party plugins. Tools that help merchants do this safely are coming in the next phase of development.
Try our Award-Winning WordPress Hosting today!
Frequently Asked Questions
Where and How Are WooCommerce Orders Stored in the Database?
WooCommerce introduced High-Performance Order Storage, which stores orders in separate database tables:
and some information is kept on the traditional post tables.
Specifically, the _wc_orders table stores WooCommerce orders. These orders also exist in the _posts table as custom posts with the post type shop_order.
The _wc_orders table stores the order ID, which matches the corresponding post ID with the shop_orders type in the _posts table. The order status, such as “wc-processing,” also remains identical in both tables, ensuring that these data stay synchronized.
In the _wc_orders_meta table, you can see the billing and shipping details of the order. The rest of the details are located in the _postmeta table.
The _wc_order_addresses table includes the addresses attached to the order, and _wc_order_operational_data holds the order’s checkout information.
How Do I Speed Up My WooCommerce?
You can employ various approaches to enhance the speed of your WooCommerce. To expedite your WooCommerce store, enable High-Performance Order Storage (HPOS), which enhances the storage of order data in the database. Here’s how to proceed:
- Check Compatibility: First, check if your store is eligible for HPOS. If your store is new, HPOS is likely already enabled. If you launched your store before October 10, 2023, you will need to enable it. To do so, tick the “Enable compatibility mode” checkbox in WooCommerce settings. You can find this option under the advanced tab.
- Sync Your Store: Once you enable HPOS, your store will need to sync to the new database structure. This process is initiated automatically, but you can monitor it in the Scheduled Actions table.
Could Enabling HPOS Cause Problems With the Server?
In a nutshell, no it should not.
Enabling HPOS in WooCommerce doesn’t imply hosting restrictions or limitations. It not only doesn’t inherently cause problems with the server, but it is likely to improve performance after enabling it.
However, if you use inexpensive shared hosting, there are a few important considerations. First, ensure that your server meets the necessary requirements. Additionally, it’s crucial to check that there are sufficient server resources available to your site.
High-Performance Order Storage will level up your online shop with a modern database architecture that scales easily to adapt to your business growth. It offers faster websites, improved customer experience, and store management.
We highly recommend that you try it out and enjoy its benefits!