Applies to Cmsmart Product Designer (NBDesigner) 2.17.0 · Updated October 2026. Covers WooCommerce's High-Performance Order Storage (HPOS) on any WooCommerce store, with specific compatibility notes for stores running Cmsmart Product Designer.

In short

  • Outcome: move your order data from WordPress posts tables to WooCommerce's dedicated order tables (HPOS) without a checkout outage, a lost order, or a broken plugin.
  • How it works: WooCommerce runs both storage systems side by side in compatibility mode, backfills orders in the background, and lets you switch over (and switch back) once every plugin that touches orders is verified.
  • What it takes: a backup, a staging run, a plugin compatibility check, and someone who watches the sync queue until it is safe to turn compatibility mode off.

A WooCommerce HPOS migration moves your order data off the shared posts tables and onto WooCommerce's own order tables without customers noticing a thing, as long as you treat it as a short project rather than a switch you flip on a live checkout. WooCommerce has made High-Performance Order Storage the default for every new store since version 8.2, and an older store that never opted in is now running on database tables the platform no longer optimizes for growth. Migrating is routine with a compatibility check, a staged sync and a rollback path ready before you cut over.

What does it cost a WooCommerce store to stay on legacy order storage?

Legacy storage spreads every order across the shared wp_posts and wp_postmeta tables, so Cmsmart sees order queries, reports and exports get slower as a catalogue grows. Moving to HPOS gives WooCommerce dedicated order tables, so the storefront, admin and any custom reporting stay responsive as order volume climbs.

This rarely shows up as one outage — it shows up as friction your team works around:

  • Slower admin screens. The Orders list, search and filters all run against the same tables WordPress uses for posts, pages and every other post type, so query time grows with the whole site's content, not just orders.
  • Risky custom reports. Any report, export or BI connector built with direct SQL against wp_postmeta has to scan rows that mix order meta with unrelated post meta, which is slow and fragile to maintain.
  • Backup and restore take longer. Order data is not isolated, so a targeted backup or point-in-time restore of just the orders table is not possible on legacy storage.
  • Staff time on manual workarounds. When the Orders screen lags, staff either wait or build spreadsheets to track fulfillment — time that is easy to lose and hard to notice until you add it up over a quarter.

A rough way to size the cost with your own numbers: (minutes staff lose per day waiting on slow order screens or manual exports) × (staff hourly cost) × (working days per month). On a store with a few years of order history, that number is rarely zero.

Cmsmart insight: in our WooCommerce migration work, the compatibility issues we fix most often are not in the storefront — they are in older reporting, loyalty-points or ERP-sync plugins that query wp_postmeta directly for order totals instead of going through the WooCommerce order API. Check those integrations first; the core checkout is usually the easy part. If a plugin conflict is what is actually blocking you, see our guide to finding and fixing WooCommerce plugin conflicts.

What does a finished HPOS migration look like for your store?

Cmsmart plans HPOS migrations so the outcome is boring on purpose: shoppers see the same product pages, cart and checkout, your team sees a faster Orders screen, and every plugin that handles orders — including Cmsmart Product Designer — keeps working without a re-setup.

WooCommerce product page unaffected by a WooCommerce HPOS migration, with Cmsmart Product Designer's Start and upload design button
The storefront a buyer sees — product page, design button, price — does not change when the order tables underneath it do.

Example scenario. A WooCommerce store with several years of order history schedules its HPOS migration for a quiet week. Compatibility mode runs for a few days while the team places test orders and checks every plugin on the Features compatibility list. Once the sync queue is empty and test orders look right in both the admin Orders screen and the customer's order emails, the store switches the live order-data source to HPOS. Shoppers never see a maintenance page; the only visible change is that the Orders screen loads faster the next morning.

That is the business case in one sentence: the migration is invisible to customers and valuable to the team running the store.

How does Cmsmart plan a safe WooCommerce HPOS migration?

Cmsmart treats an HPOS migration as a short, scoped project: audit every plugin that touches order data, run WooCommerce's own compatibility mode and sync tools, verify on staging, then cut over with a tested rollback — so your store gets the performance of HPOS without betting the checkout on an untested switch.

HPOS replaces the shared posts tables with four tables WooCommerce built specifically for order data: wc_orders, wc_order_addresses, wc_order_operational_data and wc_orders_meta, queried through the WooCommerce CRUD API (wc_get_order(), wc_get_orders()) instead of raw post lookups, as WooCommerce's own developer documentation describes. WooCommerce powers an estimated 33.4% of tracked ecommerce sites worldwide, around 4.53 million active stores (StoreLeads, August 2025), which is why WooCommerce ships a migration path instead of a hard cutover. Planning several storefronts too? See our multi-store WooCommerce planning guide.

Legacy order storage vs. High-Performance Order Storage
AreaLegacy storage (wp_posts / wp_postmeta)HPOS (custom order tables)
Where an order livesMixed into the same tables as pages, posts and every custom post typeDedicated wc_orders tables built only for order data
Admin Orders screen at scaleSlows down as total site content grows, not just order countQueries stay fast because the tables only hold orders
Backups and exportsHard to isolate order data from the rest of the posts tableOrder data can be backed up and queried on its own
Plugin compatibilityAny plugin reading get_post() for orders already worksPlugins must use the WooCommerce order API; older ones may need an update
RollbackN/A (default on older stores)Can switch back to the posts table instantly if a plugin breaks
Cmsmart Product Designer's design chooser on a WooCommerce product page, part of the buyer flow that must survive an HPOS migration unchanged
Every step a buyer takes to personalize and order a product has to keep working exactly like this once HPOS is live.

What's the business value of moving to WooCommerce HPOS?

Cmsmart frames HPOS as infrastructure work with a direct payoff: faster admin screens for your team, safer backups and reporting, and a plugin ecosystem (including Cmsmart Product Designer) that WooCommerce is actively optimizing for — so the store you run in two years isn't fighting database design choices from a decade ago.

Business value, how it shows up, and what to track
BenefitHow it shows up in your businessKPI to track
Faster order managementStaff spend less time waiting on the Orders screen during peak periodsAverage Orders-screen load time, staff-reported wait time
Cleaner backups and auditsFinance or support can pull order data without a full-site exportTime to produce an order export or point-in-time backup
Fewer plugin surprises laterNew WooCommerce extensions assume HPOS by default going forwardNumber of plugins flagged incompatible on the Features screen
Lower migration risk over timeMigrating now, on your schedule, avoids a forced rush migration laterOrder volume at time of migration vs. projected volume in 12 months

ROI worksheet (use your own numbers): if your Orders screen currently costs staff M minutes a day in waiting or manual workarounds, at an hourly cost of H, over D working days a month, the monthly cost of staying on legacy storage is approximately M ÷ 60 × H × D. Compare that to the one-time cost of a planned migration (audit + staging run + cutover) to see how many months it takes to pay for itself.

Get a WooCommerce HPOS compatibility review

How do you set up and migrate to WooCommerce HPOS step by step?

Cmsmart runs HPOS migrations through WooCommerce's own compatibility-mode workflow — sync, verify, switch, confirm — so you get the documented, reversible path instead of a risky one-way change, with Cmsmart Product Designer's order metadata verified intact at every step.

This is the same sequence WooCommerce's HPOS documentation and its large-store migration guide describe, adapted for a store also running Cmsmart Product Designer:

  1. Update WooCommerce and Cmsmart Product Designer to current versions before you start — Cmsmart has verified HPOS compatibility since 2.14.1, maintained through 2.17.0.
  2. Take a full database backup, or clone the store to staging, and run the whole process there first.
  3. In wp-admin, go to WooCommerce > Settings > Advanced > Features.
  4. Turn on Enable compatibility mode (synchronizes orders to the posts table) so both storage systems stay in sync during the transition.
  5. Let WooCommerce queue the backfill in batches of 25 orders, or for a large order history run wp wc hpos sync on the command line instead of waiting on scheduled background jobs.
  6. Watch progress under WooCommerce > Status > Scheduled Actions until the sync queue is empty, and optionally run wp wc hpos verify_cot_data --verbose to confirm the migrated data matches.
  7. Open the same Features screen's compatibility panel and resolve, update or contact the vendor for any plugin still flagged as not HPOS-ready.
  8. Place a full test order on staging — product page, design, cart, checkout, order email — and confirm the order, its line items and Cmsmart's design metadata all appear correctly in the admin Orders screen.
  9. Switch the order-data storage selector to High-Performance Order Storage, keeping compatibility mode on for a few more days as a safety net.
  10. Monitor order emails, exports and custom reports for a week; WooCommerce's large-store guide took about a week to sync 9 million orders, so budget time to your own order count.
  11. Once stable, turn off compatibility mode to stop the double-write overhead — or, if a plugin breaks, switch back to the posts table instantly and fix it before retrying.
WooCommerce cart showing a Cmsmart Product Designer custom design line item, used to test checkout after switching to HPOS
Part of step 8: confirm the cart still carries the custom design preview and edit-design link after the switch.
WooCommerce checkout page used as a staging test order to verify HPOS compatibility before going live
The same staging checkout you use to confirm an order round-trips cleanly through the new order tables.

Going further: what Cmsmart builds on top of a WooCommerce HPOS migration

Beyond the core migration, Cmsmart builds the custom development that larger or more complex WooCommerce stores need around HPOS — from rewriting legacy direct-SQL integrations to HPOS-safe ones, to performance tuning and ERP/MIS sync — scoped and delivered as a project, not a plugin install.

A standard HPOS migration covers what WooCommerce ships. Some things that come up around a migration are custom development Cmsmart builds for your store, because they depend on your own plugin stack and integrations:

  • Rewriting legacy integrations. If an in-house script, theme or old extension queries wp_postmeta directly for order data, Cmsmart builds it for your store to use the WooCommerce CRUD API instead, so it is HPOS-safe going forward.
  • ERP and MIS sync. When an external system reads orders through a database connector rather than the WooCommerce REST API, Cmsmart builds the integration layer so it keeps working — and keeps performing — on HPOS.
  • Custom order reporting and dashboards. Cmsmart builds reporting against the new order tables so finance and ops dashboards stay accurate and fast after the migration.
  • Performance tuning beyond storage. HPOS fixes the order tables; Cmsmart builds broader performance work — caching, query audits, hosting review — for stores that need more headroom than storage alone provides.
  • Staged, zero-downtime cutovers for large stores. For stores with years of order history, Cmsmart plans and runs the phased sync-verify-cutover process WooCommerce's own large-store guidance describes, so the switch happens without a maintenance window.

Cmsmart's delivery approach is the same for all of it: discovery, solution design, build in sprints, QA against your staging store, launch, then support — see examples of delivered work on Cmsmart's ecommerce project case studies.

Plan my WooCommerce HPOS migration

Why work with Cmsmart on a WooCommerce HPOS migration?

Cmsmart has run WooCommerce and WooCommerce-plugin development since 2012, builds and maintains Cmsmart Product Designer against every current WooCommerce release, and has verified its own plugin's HPOS compatibility directly — so a migration project comes from a team that tests this stack, not just reads about it.

Cmsmart is a Netbase JSC division that has been building WooCommerce store setup and migration services since 2012, with 6,300+ client projects and 1,800+ live stores on record. Cmsmart Product Designer itself has been maintained through WooCommerce's HPOS rollout: version 2.14.1 verified end to end against WooCommerce 11.0.1 with HPOS enabled, confirming an order round-trips through the HPOS tables with its design metadata intact, and that result carries through the current 2.17.0 release — which matters because order-data features like the approved-artwork lock (2.17) rely on that same order metadata staying correct under HPOS.

Reviews are public and verifiable — Trustpilot shows Cmsmart at 4.2 out of 5 from 404 reviews. One recent example, from a review titled "NB Designer - exceptional designer":

"We have had the NB Designer plugin installed for three years and have experienced absolutely no problems during that time. It is wonderful to see their commitment to continuous development, with new features being added frequently to keep the software current and highly capable." — Web Developer, Trustpilot

Mobile WooCommerce product page with Cmsmart Product Designer, showing the mobile-first storefront a migration must not disrupt
Mobile checkout traffic is exactly where you cannot afford a slow Orders screen or a broken plugin during a migration.

Frequently asked questions about WooCommerce HPOS migration

What is HPOS in WooCommerce?

High-Performance Order Storage is WooCommerce's replacement for storing orders as WordPress posts. It moves order data into four dedicated tables (wc_orders, wc_order_addresses, wc_order_operational_data, wc_orders_meta) built specifically for ecommerce queries, as described in WooCommerce's developer documentation. It has been the default for new stores since WooCommerce 8.2 in October 2023, per WooCommerce's own platform update post.

How long does a WooCommerce HPOS migration take?

It depends on your order history and whether you use the CLI sync. WooCommerce's own large-store migration guide describes a 9-million-order store where the wp wc hpos sync command took about a week to complete; a typical SME store with a few thousand orders syncs far faster. Cmsmart scopes the timeline to your actual order count during the audit.

Will migrating to HPOS break my existing orders or plugins?

Not if you follow the documented path. Compatibility mode keeps the old and new tables in sync while you test, the Features screen flags any plugin that is not yet HPOS-ready, and WooCommerce's own documentation confirms you can switch back to the posts table instantly if something goes wrong.

Is Cmsmart Product Designer compatible with WooCommerce HPOS?

Yes. Cmsmart verified Cmsmart Product Designer against WooCommerce 11.0.1 with HPOS enabled in version 2.14.1: the online designer, cart, Store API checkout block and order round-trip all passed, with design metadata intact. That holds through the current 2.17.0 release, which separately fixed the Customer Design review box on the HPOS order screen.

Do we have to migrate to HPOS, or can we stay on legacy storage?

WooCommerce's documentation does not publish a retirement date for the legacy posts-based storage, so there is no forced deadline — but HPOS has been the default for new stores since October 2023, and new WooCommerce development increasingly assumes it. Migrating on your own schedule is lower-risk than migrating under pressure later.

Can Cmsmart manage the whole migration for us?

Yes. Cmsmart audits your plugin stack, runs the staged sync and test-order verification, and manages the cutover and rollback plan as a scoped project, including any custom development your integrations need to be HPOS-safe.