• Greetings,

    i have a question because of the change that is happening right now regarding the HPOS compatibility.

    What should i watch out before switching from legacy to HPOS?

    Was it that until now the orders was being saved with both ways? So it will not really change that much if i switch to HPOS and disable the compatibility? or should i keep the compatibility on?

    What if a plugin i am using still uses the legacy way will that cause an issue? will i have to maybe change the plugin or change the plugin code in order to work with the new way?

    Could you please guide me?

    I am attaching some images with that options:

    https://prnt.sc/ckqQiDlEX5qU
    https://prnt.sc/BHFPiEqTM17r

    In the second image do i have to synchronize the orders and then change to HPOS?
    Will i see a process bar of the synchronization? How does that work? Is it like a scheduled task?

    • This topic was modified 1 day, 3 hours ago by vasilisweb.
Viewing 4 replies - 1 through 4 (of 4 total)
  • Plugin Support LovingBro (woo-hc)

    (@lovingbro)

    Hi @vasilisweb,

    Thanks for reaching out with these thoughtful questions around HPOS. It’s great that you’re checking before making the switch, as that’s definitely the best approach.

    Yes, when compatibility mode is enabled, WooCommerce keeps orders synced between the new HPOS tables and the legacy post tables. This helps older plugins continue working while you transition.

    Before disabling compatibility mode, the main thing to check is whether all plugins that interact with orders are HPOS compatible. If a plugin still relies on the legacy order storage and is not HPOS compatible, it could stop working correctly once compatibility mode is disabled.

    You can check this under WooCommerce > Settings > Advanced > Features, where WooCommerce usually shows plugin compatibility notices.

    A few recommendations before switching fully to HPOS:
    – Make sure WooCommerce, your theme, and all plugins are fully updated
    – Test the change on a staging site first if possible
    – Confirm that payment, shipping, invoicing, ERP, fulfillment, and reporting plugins support HPOS
    – Keep compatibility mode enabled for a while if you are unsure about some plugins

    In many cases, modern plugins already support HPOS, so merchants can switch without issues. But if an older plugin is not compatible, you may need to update it, contact the plugin author, or eventually replace/customize it.

    You can also review the official HPOS documentation here:
    https://woocommerce.com/document/high-performance-order-storage/

    I hope this helps clarify things a bit.

    Thread Starter vasilisweb

    (@vasilisweb)

    Thank you so much for that information.

    Although i have some new ones,

    • If i dont see any notices that means that every plugin i have is HPOS compatible? So i can proceed switching to HPOS?
    • Also you mentioned checking in a staging environment, how would i check it?
    • In order to switch from legacy to HPOS i need to check the “Enable compatibility mode…” in order for the orders to be synced between those 2 modes. Do i see a progress bar or like a notice that the orders have been completely synced? So i will be able to switch the the HPOS mode and deactivate that compatibility mode since the orders have been fully migrated?
    • If i see any plugin using the old way and its incompatible with the HPOS i either update it to the latest version or if it cant be updated do i have to look another way to achieve that functionalities? In order to work as it is supposed to?
    • What if i don’t switch to the HPOS will that affect my website’s functionality?
    • Is this like mandatory to switch?
    • How will it affect the website if i don’t switch?

    I will list down the steps so i get to see if i understand this correctly and for other people having the same query:

    • Check compatibility about plugins ( if the plugins support HPOS )
      • if they do support HPOS you enable the compatibility mode in order to synchronize the orders
      • if they don’t support HPOS then check if there is a newer version of that plugin if there isn’t a newer version, try and find maybe another plugin that do the same thing?
    • When the synchronization completes then change from legacy to HPOS and disable the complatibility mode?
    Plugin Support LovingBro (woo-hc)

    (@lovingbro)

    Hi @vasilisweb,

    Thanks for the detailed follow-up questions, you’re understanding the process very well already, and your summary is mostly correct.

    If you do not see any HPOS incompatibility notices under WooCommerce > Settings > Advanced > Features, that is usually a good sign that your active plugins declare HPOS compatibility. Still, it’s always recommended to test carefully, especially on a staging site if possible.

    About synchronization, yes, when you enable compatibility mode, WooCommerce synchronizes orders between the legacy posts tables and the HPOS tables. WooCommerce handles this in the background using scheduled actions.

    You can monitor the synchronization progress under: WooCommerce > Status > Scheduled Actions

    You may see actions related to order synchronization there while the migration is running. Depending on the number of orders, it may take some time.

    Your understanding of the process is correct overall:

    1. Check whether your plugins support HPOS
    2. Update plugins/themes/WooCommerce to the latest versions
    3. Enable compatibility mode so orders sync between both storage systems
    4. Wait for synchronization to complete
    5. Switch the authoritative storage to HPOS
    6. Keep compatibility mode enabled for some time if you are unsure about older plugins
    7. Once fully confident all plugins work correctly with HPOS, you can disable compatibility mode

    And yes, if a plugin is not HPOS compatible and no update is available from the developer, then you may eventually need to replace it with an alternative that supports HPOS properly.

    As for whether HPOS is mandatory, currently WooCommerce still allows legacy storage, so your site should continue functioning. However, HPOS is the future direction of WooCommerce order storage and brings better scalability and performance, especially for larger stores.

    Over time, more plugins and WooCommerce features will be optimized around HPOS, so migrating eventually is recommended.

    You can also review the official guide here for additional details: https://woocommerce.com/document/high-performance-order-storage/

    Thread Starter vasilisweb

    (@vasilisweb)

    I am afraid I may have edited my previous message after you saw it, so you might not have seen the full version of my questions. But thank you very much for your help so far.

    I am trying to better understand the safest and most correct way to proceed with the migration.

    Could you please review my questions once more?

Viewing 4 replies - 1 through 4 (of 4 total)

You must be logged in to reply to this topic.