Migrate
Wix to Shopify Migration
The Git integration puts real .js files in a real repo, which makes technical stakeholders think the hard part is done. It is not: no design ever leaves Wix, and every line of Velo is runtime-bound.
Migrating from Wix
What breaks
Start with the code-export illusion, because it is what gets this migration under-scoped. Wix’s Git integration syncs src/Pages, src/Backend and src/Public — JavaScript, and only JavaScript. No design, no layout, no $w element definitions ever leave Wix. And the code that does leave is not portable either: it calls wix-stores-backend, wix-bookings-backend, wix-members-backend, wix-data and $w selectors, every one of which is bound to the Wix runtime. One hundred per cent of the business logic is rewritten. This catches technical stakeholders specifically — they are the ones who open the repository and conclude the hard part is already done. Non-technical stakeholders already assume the design is being rebuilt, and they are right.
Wix Bookings has no Shopify-native equivalent. Shopify has no built-in appointment feature at all, so a Wix business selling time rather than stock is buying an app and re-modelling its services, staff and availability inside it.
The Wix Members Area does roles, badges, page-level gating on any page, and public member profiles. Shopify customer accounts are transactional — orders, addresses, saved payment methods. Gated content, member-only pages and profiles are an app or a rebuild, not a setting, and if the community is the product then the community is the migration.
Before scoping the front end, establish which editor the site is on, because as of 2026 there are two structurally different ones. The classic Editor is pixel-positioned. Wix Studio — which Editor X was folded into in January 2025 — uses CSS Grid and Flexbox. "Wix sites are absolute-positioned" is only true of the first: a Studio site has responsive intent a developer can read and carry over, and a classic-Editor site does not. Getting this wrong in either direction misprices the theme work.
One correction worth making early, because "nothing exports from Wix" is false and gets repeated anyway: Products, Orders and Contacts all have native CSV export. Blog posts do not — Wix’s own feature-request page confirms there is no native blog export, and the workaround is the /blog-feed.xml feed, which carries published posts only. Drafts and scheduled posts are not in it. If the blog is an SEO asset, that recovery is its own task with its own risk.
Data model differences
Wix Stores allows 6 options, 100 choices per option, 1,000 variants per product and 50,000 products. Put that beside Shopify’s 3 options and 2,048 variants and the comparison inverts halfway through: Shopify’s variant ceiling is roughly double Wix’s, but its option ceiling is half. So a product with four or more options arrives at Shopify with more variant headroom than it had and still cannot be a single product — it splits, and gets stitched back together with Combined Listings. Catalogue size is almost never the constraint here; option count almost always is.
Wix modifiers — up to 10 per product — explicitly cannot carry price variation. That is genuinely useful information, because it tells you exactly what they can become: line-item properties on Shopify, which also cannot carry price. This is the one place in this family where the source platform’s limitation makes the mapping easier rather than harder, and it means personalisation inputs move across without a pricing problem attached.
Wix categories are a real taxonomy — up to 5 levels deep, 1,000 in total. Shopify collections are not. Nested collections shipped in 2026, but they combine the contents of existing collections by rule: set-combination, not taxonomy. There is no /collections/parent/child URL, no parent_id, and no inherited breadcrumb. A five-level Wix tree does not become a five-level Shopify tree; it becomes flat collections plus navigation and filtering that imply the shape the tree used to hold.
Multi-currency is a mechanism difference rather than a limit difference, and it is the one that surprises people. Wix multi-currency is a live FX-conversion display layer on daily rates, with no per-currency price override, and it does not apply to Bookings. Shopify Markets is rules-based, with fixed local pricing per market. There is no Shopify toggle that reproduces live conversion — so a Wix store that has been letting the exchange rate decide its foreign prices now has to decide them, as actual numbers, market by market. That is a pricing decision made during a migration by people who have never had to make it.
Common apps
| App | Shopify equivalent |
|---|---|
| Wix Bookings | No native equivalent — Shopify has no built-in appointment feature |
| Wix Members Area (roles, badges, page gating, profiles) | No equivalent — Shopify customer accounts are transactional only |
| Velo code (wix-stores-backend, wix-data, $w) | Rewritten as Liquid, theme app extensions or a custom app. Nothing ports. |
| Wix multi-currency (live FX conversion) | Shopify Markets — fixed local prices per market, not live conversion |
| Wix Stores product CSV export | Shopify product CSV import — Products, Orders and Contacts all export natively |
| Wix Blog | Shopify blogs — but there is no native Wix blog export; /blog-feed.xml carries published posts only |
Questions
Questions we get asked
Our site is already in a Git repo. Doesn’t that make this easier?
It makes it look easier, which is worse. What syncs is src/Pages, src/Backend and src/Public — JavaScript only. No design, no layout, no $w element definitions. And the JavaScript that is there calls wix-stores-backend, wix-bookings-backend, wix-members-backend, wix-data and $w, all of which exist only inside the Wix runtime. The repository is a readable specification of your business logic, which is genuinely valuable, but it is not portable code. Treat it as documentation for a rewrite.
Does any of the design come across?
None of it, and this is structural rather than a limitation of any particular tool: Wix’s own Git integration never emits design or layout files. The front end is rebuilt. What changes the cost is which editor you are on — a Wix Studio site was built with CSS Grid and Flexbox, so its responsive intent is legible and can be carried over deliberately; a classic-Editor site is pixel-positioned, and the responsive behaviour has to be re-decided rather than translated.
Some of our products use five or six options. What happens?
Wix allows six options per product; Shopify allows three. Those products split into several Shopify products and are grouped with Combined Listings, which is manual configuration rather than something an importer does for you. The variant count is not the issue — Shopify’s 2,048-variant ceiling is well above Wix’s 1,000 — so the decision is purely which three axes stay as options and where the rest go.
What happens to our prices in other currencies?
They stop floating. Wix converts live from daily FX rates and gives you no per-currency override; Shopify Markets uses fixed local pricing you set. Nothing on Shopify reproduces live conversion, so every market needs a real price decided by a person — including the rounding, which is where most of the argument happens. Note also that Wix multi-currency never applied to Bookings, so if you sell services abroad you are already handling this manually.
What about our URLs and redirects?
We do not publish a claim about Wix’s URL scheme, because we could not verify one from Wix’s own documentation, and a confident wrong statement about the platform you use daily is worse than an admission. In practice the redirect map for a Wix site is built from a crawl of the live site and its sitemap rather than from a documented pattern — which is more work than reading a settings screen, and more reliable than assuming.
Should we just stay on Wix?
If the store is small, sits alongside a content site, and leans on Bookings or the Members Area, then moving costs you two features Wix has natively and buys you commerce depth you may not be using yet. That is a real argument for staying, and we would rather make it now than halfway through. The clearest reasons to move are catalogue growth past what six options and manual merchandising can carry, wanting to set foreign prices rather than let the FX rate set them, and needing an app ecosystem Wix does not have.
Moving from Wix?
We’ve mapped what breaks and what doesn’t — tell us about your store and we’ll scope the actual work.
