Headless Shopify is not an alternative to Shopify. Shopify's documentation states that headless commerce separates the storefront frontend from the backend, and that its APIs 'handle the commerce underneath'. The relevant question is which layer fails you: the storefront, commerce operations, or the platform itself. Platform-fit judgements are my assessment. Capability claims come from vendor documentation.
Shopify alternatives: a direct answer by constraint
Match the route to the constraint you can actually name.
| Present constraint | Route to test | What stays | What changes | Workflow to validate |
|---|---|---|---|---|
| Slow theme, app clutter, clumsy content edits | Stay on Shopify and fix the theme, apps and content workflow | Catalogue, checkout, orders, integrations | Theme code, app set, editing process | Theme audit, app-by-app review, one real content edit from draft to live |
| Storefront needs a non-Liquid stack or an integrated CMS | Headless Shopify. This is a storefront change: Shopify remains the commerce backend, not a replacement platform | Catalogue, pricing, checkout, orders, payments in Shopify | Frontend code, hosting, who maintains it | Cart, hand-off to checkout, customer sign-in, menus and metafields |
| Backend limits that apps cannot fix | BigCommerce, as another hosted commerce backend | Possibly the storefront, if you build headless | Catalogue, checkout, orders, payments, admin | Variant import, checkout and payments, each integration |
| You want to own the stack, or run a content-led store on WordPress | WooCommerce | Little beyond your catalogue data | Hosting, updates, plugins, admin | Checkout, tax and shipping rules, plugin behaviour, backups |
| Custom commerce workflows, with engineers to own them | Medusa | The frontend, if you are already headless | The whole backend, built and run by you | One custom workflow end to end, payment and fulfilment providers |
| Small, simple catalogue and operations that feel too heavy | Squarespace | Your product data, in principle | Platform, admin, checkout, possibly some features | Variants, shipping rules and order flow against what you really use |
Two readings of that table matter. If you want simpler operations, with fewer apps and fewer moving parts, the realistic options are tidying what you have or moving a genuinely simple catalogue to a simpler platform. If you need custom commerce workflows, evaluate headless on Shopify first. Shopify advises teams to consider building headless when business systems, processes or customer experience cannot be achieved with its sales channels, themes and apps. Replace the backend only when the backend is the blocker.
Is the problem the storefront or the commerce backend?
Draw a line. On one side sits presentation: templates, layout, editorial pages, menus and merchandising blocks. On the other sits the machinery that takes money and ships boxes.
- Storefront side: page templates, content, merchandising layouts, front-end behaviour.
- Backend side: catalogue, pricing, customer accounts, checkout, orders, payments, fulfilment.
Hydrogen, Next.js or any custom frontend sits on the first side. Keep that distinction sharp. Shopify notes that the frontend gets its data and commerce capabilities from Shopify: products and collections, customers, plus the cart, checkout and international pricing. Its help centre puts it plainly: with a custom storefront you replace the Online store channel with your own storefront, connect it to Shopify as the back end, and customers still check out using Shopify Checkout. You have not left Shopify. You have changed who builds the shop window.
That brings costs. Shopify states that a headless storefront costs more to build and run than a theme, and the merchant needs developers to maintain it after launch. Some data also requires a token: product tags, metafields, menus and customers sit behind Storefront API authentication. The API is versioned, with releases four times a year, introducing a maintenance cadence you did not have with a theme.
If the frontend/backend boundary is your immediate question, the headless ecommerce development page covers it in detail. If editorial workflow is the issue, a separate content model may suit. That is covered under headless CMS development.
When staying on Shopify is the proportionate choice
A rebuild is a big answer to a small question. Before anyone opens a new repository, audit what you already have.
- Theme weight: what the theme loads on a product page that nobody asked for.
- Third-party apps: what each one does, who owns it, and whether two of them overlap.
- Menus: whether customers can find collections without a tour.
- Content workflow: how many steps it takes an editor to publish a landing page.
That is an audit, not a prediction. I will not promise that every constraint can be fixed on your current theme, because some cannot. The audit identifies which. For a structured review of performance, see Shopify speed optimisation.
A commercial site should not change checkout and order processing merely to tidy a frontend. If orders flow, payments settle and fulfilment connects, the backend works. Fix the layer that hurts.
Comparing the real alternatives by fit
Each platform below gets a best-fit situation, a material tradeoff and a task to test. No vendor lists, no padding.
BigCommerce
Best fit: you want another hosted commerce backend, with or without a custom frontend. BigCommerce documents itself as a commerce backend for headless storefronts, where it creates orders, processes payments, stores customer records and retrieves catalogue and order data. It also provides Catalyst, starter apps and APIs.
Tradeoff: you are still running a platform migration. Catalogue, checkout, orders and integrations all move, and the vendor documentation establishes architecture. It does not establish lower running costs or feature parity.
Test: import a representative set of variants and push an order through checkout with your intended payment gateway in test mode and shipping rules.
WooCommerce
Best fit: a team that already runs WordPress, wants ownership of hosting and code, and has staff to manage both. Free to download is not free to run. Check WooCommerce's getting started documentation for setup scope. For the broader WordPress context, see WordPress alternatives.
Tradeoff: you inherit hosting, updates and plugin choices.
Test: run checkout, tax calculation and shipping on a staging environment with your active plugin stack, then update a plugin and see what breaks.
Medusa
Best fit: engineers who require custom commerce workflows. Medusa describes itself as a headless commerce platform where requests pass through API routes, workflows, modules and a data store. It supports PostgreSQL as the database, while third-party services connect through Commerce and Infrastructure Modules, with Stripe and ShipStation as documented examples. Check Medusa's existing modules and integrations against each requirement before you decide where custom development is needed. Its documentation includes migration guides from Shopify, WooCommerce and Magento.
Tradeoff: your team owns the engineering and the operations. That is the point, and it is also the bill.
Test: build one awkward workflow you cannot manage today, along with one payment and one fulfilment integration, before committing.
Squarespace
Best fit: a genuinely simpler storefront and catalogue. My assessment: it is not a default choice for complex commerce.
Tradeoff: you give up depth for simplicity, so anything bespoke in your current setup needs checking first.
Test: review Squarespace's product export article as a baseline, then test your active variants, shipping rules and order flow against it.
What data moves, and what needs separate work?
Shopify supports product CSV import and export, which handles basic product data exchange with other platforms. A product CSV is not a business backup. Shopify documents clear limits:
- Variant metafields aren't supported in product CSV import/export, though product metafields are once defined.
- The inventory quantity column applies only to single-location stores. Multi-location stores use the inventory CSV.
- Markets columns appear only when exactly one of a market's active catalogues isn't shared with another market.
- Changing Option1 value data creates new variant IDs, which can break third-party dependencies on them.
- Gift cards can't be created by importing a product CSV. That statement concerns importing into Shopify, so treat gift cards as separate work in either direction.
The customer CSV documentation adds further constraints. Customer exports carry marketing-consent fields, covering email, SMS and WhatsApp, recorded as yes or no. They also carry a narrow range of metafield types. Exports of more than 50 customers arrive by email. Order history cannot be imported through a customer CSV, and Shopify states that you cannot migrate customer passwords from another store via CSV. That warning applies to migrating into Shopify. Do not read it as a guarantee for exports: verify what your destination platform accepts.
Map these elements independently: orders, reviews, discounts, subscriptions, app data, media, marketing consent and fulfilment connections. Customer authentication and payment arrangements need a separate migration plan for the destination and the provider. Don't assume stored payment details or passwords will transfer.
Build a scope worksheet instead of a price comparison
I will not quote plan pricing or estimate savings. Those numbers date quickly, and the only relevant figure is your own. Audit your line items instead.
- Storefront templates you actually use.
- Catalogue rules: variants, bundles, metafields, pricing logic.
- Markets and currencies.
- Integrations: ERP, CRM, PIM, fulfilment, email, reviews.
- Operational workflows: returns, refunds, wholesale, subscriptions.
Beside each line item, assign who maintains it post-launch. Compare operational costs across subscriptions, apps, hosting, initial build and ongoing engineering. A headless build reallocates budget to developers, as Shopify acknowledges. Open source shifts spend into hosting, security and patches. A hosted platform concentrates spend in subscriptions and apps. No architecture reduces total cost to zero. Spend merely shifts.
Validate the migration before cutover
Treat these as acceptance checks. They do not guarantee stable search rankings or conversion rates, and no credible engineer would promise that.
- URLs and SEO: preserve or map product, collection and content URLs. Check redirects, metadata, canonicals, product structured data and media.
- Purchase path: test representative variants, inventory, cart, checkout, payment methods, tax and shipping rules, and refunds.
- Customers and operations: check customer access, fulfilment, marketing consent, tracking and transactional email in the destination.
Then the sequence:
- Reconcile data counts between source and destination.
- Plan a final data sync for orders and customers created during the build.
- Keep an operational rollback route until you trust the new setup.
- Monitor errors and sales after launch.
Bring your current storefront, catalogue and integration list to scope what actually has to move.
FAQ
Does a headless frontend mean leaving Shopify?
No. Shopify defines headless as a custom frontend built over its APIs, with Shopify retaining the cart, checkout and core commerce engine.
Are products alone enough to migrate?
No. Products are only one dataset. Orders, customer records, consent status, discounts, subscriptions, app state and fulfilment connections require dedicated mapping, and several cannot be moved via CSV.
When does staying on Shopify make sense?
When orders, payments and fulfilment work and the pain is theme weight, apps, menus or editing. Fix those first.
What should I bring to an initial migration discussion?
Bring your production storefront, a catalogue sample covering your edge-case variants, your integration inventory, and an ownership log for each workflow.
The core issue is straightforward: a new frontend leaves your Shopify dependencies intact, while a new backend requires far more work than a product import. Identify the failing layer first. Then test the single architecture that addresses it.