Keep extending WooCommerce
Workable while the catalogue is modest and pricing is simple. It gets hard when the store's real logic lives in bespoke theme code: on our own flooring store, pricing lived in thousands of lines bolted onto the storefront.
Move to a packaged platform
Often right when price is a number in a field and the catalogue is ordinary. It does not remove the migration work — the URLs, the data and any pricing rules still have to move.
Build around the catalogue
Worth it when price is a calculation, the catalogue is large, or suppliers disagree. We took this route for our own store: Catalogue Engine holds 118,651 catalogue rows with search that stays usable, resolves a room to boxes and a priced estimate, and rates freight before checkout.
What makes any option safe
The URL map. All 36,786 indexed URLs of the old store were mapped to live destinations before the DNS changed, so no ranked page became a 404. The method is in the guide to replatforming a large catalogue without losing rankings.