Insights Replatforming

Should you migrate from WooCommerce or fix it?

Many WooCommerce problems are fixable where they are. Some are not. Here is how we tell the difference, and what a migration really costs in effort if you go ahead.

6 min read

Tall warehouse racking stacked with boxes on pallets

When a WooCommerce store starts to feel slow, fragile or expensive to change, replatforming often looks like the obvious answer. Sometimes it is. Just as often, the problems sit in the hosting, the plugins, the database or the custom code rather than in WooCommerce itself, and a move would carry those problems – or new versions of them – onto another platform at considerable cost.

This article sets out how we separate the two cases, and what a migration really involves if you decide to go ahead.

Problems that usually point to fixing, not moving

Most of the WooCommerce complaints we hear fall into a handful of categories, and most of them can be dealt with on the existing platform.

Hosting that no longer matches the store

A store that launched on shared hosting and now takes a few hundred orders a day will struggle, whatever platform it runs on. Undersized servers, no object caching, an outdated PHP version and a database sharing resources with dozens of other sites all show up as slow pages and a sluggish admin. Moving to properly sized hosting with object caching, a current PHP version and sensible page caching rules is usually far cheaper than a replatform, and the effect is often immediate.

Plugin sprawl

Over several years, stores accumulate plugins: one for a promotion that ended, two that overlap, a page builder nobody uses any more, a plugin added to fix a problem another plugin caused. Each one adds code to every request, and some add their own database queries, scheduled tasks and admin notices. An audit that removes what is unused, consolidates what overlaps and replaces the worst offenders can make a noticeable difference without touching the storefront.

Database bloat

WooCommerce stores tend to collect years of data they no longer need: expired transients, orphaned post meta, old revisions, huge log tables and a very large backlog of completed or failed jobs in the Action Scheduler tables. Options marked to load on every request can grow well beyond what they should be. Cleaning this up, adding the right indexes and moving order data to High-Performance Order Storage (HPOS) where the plugin set supports it are all realistic pieces of work. HPOS stores orders in dedicated tables rather than the general WordPress posts and post meta tables, and has been the default for new installations since WooCommerce 8.2.

Poorly built customisations

A theme with business logic buried in template files, core plugin files edited directly so updates can never be applied, or a custom pricing function that runs a database query for every product on a category page – these are common, and they are code problems rather than platform problems. They can be rewritten properly. A replatform would force the same rewrite anyway, alongside everything else.

Checkout performance

A slow checkout is often caused by specific things you can measure: a shipping rate lookup calling an external API on every cart update, fraud or tax plugins making synchronous requests, or scripts from marketing tools loading on pages where they add nothing. Profiling the checkout request by request usually shows where the time goes.

If your problems are mostly in this section, the honest answer may well be that your existing platform is fine; it just needs fixing.

Signs the platform genuinely no longer fits

There are situations where fixing WooCommerce means working against it, and the effort keeps growing.

  • Operational scale. High order volumes, large catalogues with many variations, or regular peaks from flash sales can reach the point where keeping a self-hosted stack stable becomes a permanent project in its own right. If a hosted platform would take that burden away and your requirements fit it, that is a legitimate reason to move.
  • B2B complexity. Customer-specific price lists, account hierarchies with several buyers per company, credit limits, quote workflows and approval rules can all be built on WooCommerce, but usually through a stack of plugins and custom code that becomes hard to maintain. A platform with these concepts built in may be a better long-term fit.
  • Team skills. If nobody in the business, or in your agency, is comfortable maintaining PHP and WordPress, every change carries risk. A platform your team can run confidently has real value, even if it is less flexible.
  • Integration needs. If the store needs to exchange orders, stock, pricing and customer data with an ERP, warehouse system and marketplaces in close to real time, the quality of the platform’s APIs, webhooks and integration ecosystem matters a great deal. Sometimes a different platform makes that architecture simpler.

Note what is not on this list: “the site looks dated” and “a competitor moved”. Both can be solved without replatforming.

A practical way to decide

We find it helps to work through the decision in a fixed order rather than starting with a platform shortlist.

  1. Write down the actual problems. Be specific: “the admin order screen takes several seconds to load”, “we can’t offer trade pricing by customer group”, “stock is wrong on the website twice a week”. Vague dissatisfaction leads to vague projects.
  2. Find the cause of each one. Measure page and query performance, review the plugin list and custom code, and trace where data problems begin. This step often moves several items into the “fixable” column.
  3. Estimate the cost of fixing. For each problem that has a cause on the current platform, estimate the work involved and how likely the fix is to last.
  4. Test the remaining requirements against alternatives. For anything left, check whether a candidate platform genuinely handles it, and how – natively, through an app, or through custom development that brings its own maintenance.
  5. Compare total effort, not licence fees. Weigh the full migration effort described below against the fixing effort, including the disruption to the business in both cases.

A reasonable outcome is sometimes a mix: stabilise the current store now, and plan a migration for later once the business case is clearer and the team is not firefighting.

What a migration really involves

Moving platforms is not just rebuilding the storefront. The work that takes the time is usually elsewhere.

Data

Products, variations, attributes, categories, images, stock and pricing all need mapping to the new platform’s data model, which will rarely match WooCommerce exactly. Custom fields added by plugins often have no direct equivalent. Expect several test migrations before the data is clean enough to rely on.

URLs and SEO

Product, category and content URLs will usually change structure. Every URL that has search traffic or inbound links needs a redirect to its closest equivalent, and those redirects need testing in bulk after launch. Page titles, meta descriptions, structured data and canonical tags need carrying over deliberately rather than left to defaults.

Customer accounts and passwords

Customer records can be moved, but passwords generally cannot. WordPress stores password hashes in its own format (WordPress 6.8 moved to a bcrypt-based scheme with a WordPress-specific prefix), and hosted platforms such as Shopify do not accept imported passwords. Customers will need to activate their accounts or set a new password, so plan the invitation emails, the timing and how customer service will handle the questions.

Order history

Decide how much history customers need to see in their accounts, how much your team needs for returns and support, and how much can live in an archive or reporting database. Importing historical orders can affect reporting, stock and customer notifications if it is not handled carefully.

Integrations

Every connection to an ERP, warehouse, accounting package, marketplace, email platform or review service needs rebuilding or reconfiguring and testing end to end. This is frequently the longest part of the project.

Apps replacing plugins

Each plugin needs a decision: replace with a built-in feature, replace with an app, rebuild as custom code, or drop. Apps may work differently, charge ongoing fees and store data outside your control. It is worth listing every plugin and what it actually does before choosing a platform, not after.

Where to start

The most useful first step is a clear, evidence-based view of what is wrong and why, before anyone commits to a platform. If you would like a second opinion, our replatforming review looks at your current store, identifies which problems are fixable and which are structural, and sets out the effort involved in either route – including when the right recommendation is to stay put.

Further reading

More insights

  • Architecture

    Headless commerce: when it’s worth it, and when it isn’t

    Separating the storefront from the commerce platform can solve real problems. It also creates a second system to build, host and maintain. Here is how to tell whether the trade is worth making.

    7 min read

  • Ecommerce rescue

    Taking over an abandoned ecommerce project: what we check first

    When a store is left without a developer, the first week is about finding out what exists and what could go wrong. This is the checklist we work through before changing anything.

    5 min read

  • Integrations

    Why ecommerce integrations fail

    Most integrations work on launch day. They fail later, through small assumptions that held in testing but not in production. These are the failure modes we see, and how to design around them.

    6 min read

Next step

Recognise some of this in your own platform?

Tell us what you’re dealing with. An engineer will reply within 1 business day.