Zum Hauptinhalt springen
Version: 1.x

Slow Checkout and Order Storage (HPOS)

The symptom: checkout in WCPOS takes several seconds, and it has been getting slower over time.

One common cause is the way WooCommerce stores your orders. This page shows you how to check, and how to move to the faster option with WooCommerce's own tool.

Why Legacy Order Storage Slows Checkout​

With legacy storage, WooCommerce keeps orders alongside your WordPress posts, where there is no quick way to find an order by the ID that WCPOS gives it. So every time WCPOS saves an order it has to search through your store's records one by one, and that search gets longer as your store grows.

WooCommerce's High-performance order storage (HPOS) keeps orders in their own tables, where the same search is close to instant.

On one store we measured (30,000 products, legacy storage), each search took about 0.46 seconds and a checkout made about two of them. With HPOS the same search took about 1 millisecond. Your store will differ, but the larger it is, the more you are likely to gain.

What WCPOS Supports​

  • HPOS is fully supported, and it is what we recommend.
  • Legacy storage still works. Nothing breaks; checkout is only slower on large stores.

Check Which Storage Your Store Uses​

  1. In WordPress admin, go to WooCommerce → Settings → Advanced → Features.
  2. Find Order data storage:
    • High-performance order storage (recommended) selected: you already use HPOS, so this is not the cause. See Other Causes of Slow Checkout.
    • WordPress posts storage (legacy) selected: switching to HPOS should speed up checkout. Read on.

Switch to HPOS​

WooCommerce moves your orders for you. First it copies them into the new tables (the sync), then you switch. WooCommerce will not let you switch until the copy is complete.

Back up first

Make a full backup of your site and database before you start, and check that you can restore it. If you have a staging site, try the switch there first.

  1. Go to WooCommerce → Settings → Advanced → Features.
  2. Tick Enable compatibility mode and click Save changes. WooCommerce starts copying your orders in the background. On a large store this can take a while; the progress shows under the checkbox. If it says orders are out of sync and nothing is happening, click Sync orders now.
  3. When the copy has finished, select High-performance order storage (recommended) and click Save changes.
  4. Leave compatibility mode on for a while. It keeps both copies of your orders in step, so you can switch back straight away if something goes wrong. Use this time to check your other plugins and take a few test sales in WCPOS.
  5. When you are happy, untick Enable compatibility mode and click Save changes.
If the HPOS option is greyed out

WooCommerce blocks the switch while an active plugin is marked as incompatible with HPOS. A warning on the Features page names those plugins, with a View and manage link. Update them, or ask their developers about HPOS support, before you switch.

For the full details, see WooCommerce's guide: High-Performance Order Storage.

Other Causes of Slow Checkout​

Order storage is not the only thing that slows checkout. If you already use HPOS, or checkout is still slow after switching, look at: