Store Platforms

Wix to Shopify Migration: The CSV Gaps That Break Your Catalog

Wix to Shopify migration done properly: the corrected CSV field mapping, the columns that silently lose data, and the redirect map that protects your rankings.

Long Nguyen Avatar

Long Nguyen

Fullstack Developer · AI Engineer · Researcher

• • 5 min read •

A Wix to Shopify migration is three jobs that get treated as one: moving the catalog data, rebuilding the storefront, and preserving the URLs Google already indexed. The storefront is the visible work. The data move is where the silent failures live.

Shopify publishes a Wix field-mapping table, and it is the right starting point — but followed literally it drops every product image, prices every variant wrong, and maps your third product option onto your first. Below is the corrected mapping, the import order that avoids rework, and the redirect plan that keeps your rankings.

What actually transfers from Wix to Shopify (and what doesn't)

Decide scope before you touch a CSV. Only two data types have a first-party path; everything else is an app, an API call, or manual work.

Data How it moves Reality check
Products Wix CSV export → Shopify product CSV import, or the first-party Store Migration app Cleanest path, but you own the field remapping unless you use the app
Customers Wix Contacts CSV export → Shopify customer CSV import Shopify does no header mapping on customer imports — your headers must match its template exactly
Historical orders Third-party migration app or the Admin API No first-party path at all. Import last
Product reviews Not exportable from Wix Rebuild in a reviews app or start collecting again. This is the real loss in most migrations
Blog posts Manual, migration app, or Blog API No CSV route
Pages (about, policies) Copy-paste or Page API Faster by hand under ~20 pages
Theme and design Nothing transfers Budget a full theme build; this is usually the longest task
Bookings, Members, Automations, Velo code Nothing transfers Replace with Shopify apps or a custom build — scope this before you commit to the move

Shopify's first-party Store Migration app is in early access: desktop only, available to some stores, and it moves products and customers from an unmodified Wix CSV. Two limits decide whether it fits you — prices by location aren't supported (every product takes its highest price), and products with more than three options won't have their options imported. The details are in Shopify's Migrate from Wix guide.

The order to run a Wix to Shopify migration

The sequence is not cosmetic. Orders attach to product and customer records that must already exist, and redirects are worthless if they land after the domain moves.

  1. Build Shopify while Wix stays live. The two run in parallel on different domains. There is no downtime until the DNS switch.
  2. Import products first. Deselect Publish new products to all sales channels on the import so nothing goes live half-built.
  3. Import customers second.
  4. Import historical orders third. Run earlier and you get orphan line items with no linked product or customer.
  5. Load the redirect map into Shopify before the domain moves.
  6. Disconnect the domain from Wix, then point it at Shopify.
  7. Test orders, taxes and shipping, then remove the storefront password.

One trap worth setting a reminder for: every imported historical order fires a new-order notification to every staff member subscribed to them. Turn those notifications off before the order import and back on after, or your team wakes up to several thousand emails.

Map the Wix product CSV to Shopify's format without losing data

Export from the Wix dashboard under Catalog > Store products > Products > More actions > Export. What you get back uses Wix's own schema, not Shopify's. Here is the mapping with the gaps filled in.

Wix column Shopify column What to do
handleID Handle Letters, numbers and dashes only — strip accents, spaces and periods. This becomes the product URL, so record every old slug → new handle pair now; it is your redirect file
name Title Direct
description Body (HTML) Direct, but validate the markup — Wix descriptions often carry unclosed tags that break the Shopify product template
brand Vendor Direct
visible Published Direct
price Variant Price Base row only — see surcharge below
surcharge Variant Price (computed) Not in Shopify's table. Wix prices variants as a delta on the base price; Shopify wants an absolute price per variant. Variant Price = price + surcharge. Skip this and every variant silently inherits the base price
productImageUrl Image Src + Image Position Not in Shopify's table either. It is a semicolon-separated list — explode it to one URL per row and number the positions. Variant-specific images go in Variant Image
productOptionName1 / 2 Option1 / Option2 Name Direct
productOptionDescription1 / 2 Option1 / Option2 Value One value per row — explode the list into additional rows
productOptionName3 Option3 Name Shopify's table says Option1 Name. Use Option3, or your third option overwrites your first
productOptionDescription3 Option3 Value Same correction
sku Variant SKU Direct
weight Variant Grams ×1000 if your Wix store is set to kg. Check the unit first — a store configured in lb needs ×453.59, and nothing in the import will warn you
inventory Variant Inventory Qty Single-location stores only. Multi-location inventory goes in a separate inventory CSV after products exist
cost Cost per item Direct
collection Tags The product CSV has no collection column. Carry collections through as tags, then build automated collections on tag conditions — this also keeps collection membership editable later

Three things break quietly during the import itself:

  • Keep the Wix site published until the import finishes. Shopify fetches images from the Wix-hosted URLs in your CSV at import time. Unpublish early and you import a catalog with no photos.
  • Variant rows need a specific shape. Continuation rows repeat the Handle and leave Title, Body and Vendor blank. Filling them in creates duplicate products instead of variants.
  • Accented product names change the handle. Once diacritics are stripped, the new handle almost never matches the Wix slug — which is exactly why the redirect map is built during this step, not after launch.

Past a few hundred SKUs with deep variants, multi-location inventory or metafields, a spreadsheet round trip stops paying for itself and a scripted import against the Admin API is cheaper — that is the point to write the script or hand it to someone who does eCommerce data migration on a regular basis.

Store Migration app, manual CSV, or a third-party migration app?

Method Moves Limits
Shopify Store Migration app Products, customers Early access, desktop only, limited store availability. No orders. No prices by location. Three options per product maximum
Manual CSV Products, customers No orders, no reviews. You own the mapping — which is also the advantage
Third-party apps (Cart2Cart, LitExtension, EZ Importer, MigrationPro) Products, customers, orders Priced per object. They do not escape Shopify's own option and variant limits, so verify the result rather than trusting the summary screen
Admin API script Anything the API exposes Needs a developer, but handles delta runs and re-imports

My recommendation for most Wix stores under a few hundred SKUs: remap the CSV yourself. The export is small enough to fix in a spreadsheet in an afternoon, and you finish the migration actually knowing your own data — which matters the first time a price looks wrong. Pay for a migration app when you need historical order records, because that is the one job with no first-party path and no sane manual alternative.

The Wix to Shopify redirect map that protects your rankings

This is the section most migrations shortcut, and it is the one that costs revenue. Two facts drive it.

First, URL structures differ by platform, so every indexed product, post and page gets a new address. Second — and this is the one people miss — Wix's automatic redirects run on Wix's servers. Every slug change you made over the years and let Wix redirect for you stops existing the moment your domain no longer points at Wix. Those old URLs still have links and rankings, and they become 404s on day one unless you re-create them in Shopify.

Wix URL Shopify equivalent
/product-page/{slug} /products/{handle}
/post/{slug} /blogs/{blog-handle}/{article-handle}
/{page-slug} /pages/{handle}
Category or shop pages (custom path) /collections/{handle}

If you ever customized the Wix URL structure, the prefix won't be product-page. Read the real paths off your live sitemap instead of assuming them.

  • Build the list from data, not from your menu. Pull the Google Search Console Pages report for the last 12 months plus your Wix sitemap.xml. Anything with clicks or impressions gets a redirect; the rest can be triaged.
  • Upload, don't type. Shopify imports URL redirects from a CSV under Content > Menus > URL Redirects, so a 2,000-row map is one file.
  • Load them before the DNS switch. A redirect created in Shopify does nothing while the domain still resolves to Wix, and it is live the second it flips. Creating them afterwards means a window where every old URL 404s.
  • Never bulk-redirect to the homepage. Google treats a mass redirect to an irrelevant page as a soft 404 and drops the ranking anyway. Send unmatched URLs to the closest collection.

Cutover: domain, SSL, and the week after

  • Disconnect the domain from Wix first, then point it at Shopify. Leaving it connected on both sides produces SSL certificate errors while two platforms claim the same hostname.
  • Expect a short unsecured window. Shopify provisions its certificate only after DNS resolves to it, so plan the switch for your quietest traffic hours rather than a Friday afternoon.
  • Keep the storefront password on until data is verified — but remember a password-protected store can't have its sitemap crawled, so remove it as soon as you've checked prices, inventory and images.
  • Re-verify the domain in Google Search Console and submit the Shopify sitemap.xml. Then watch the Pages report for 404 spikes for two weeks; that report is where missed redirects surface.
  • Keep the Wix site unpublished in your account for 30 days. It costs nothing and it is the only reference you have when a customer asks about an order that didn't migrate.

What actually drives the timeline

The data move is rarely the long pole. On a 200-SKU store with clean options, export, remap and import is roughly a day of focused work. What stretches the project:

  • Variant depth — products with three options and dozens of combinations multiply CSV rows and surcharge arithmetic.
  • Order history — the moment you need it, you add an app, a budget and a verification pass.
  • Indexed URL count — a 50-page site is a lunch break; 3,000 indexed URLs is a real mapping exercise.
  • Non-store Wix features — Bookings, Members areas and Velo code have no equivalent and need replacing or rebuilding.
  • Theme fidelity — matching a Wix design pixel-for-pixel on Shopify costs more than adopting a good Shopify theme and moving your brand onto it.

Scope those five honestly before you pick a launch date. If you'd rather hand over the catalog remap and the redirect map and keep your own team on the storefront, tell us what your store looks like and we'll come back with scope and timing.

FAQ

Frequently asked questions

Can I migrate my Wix order history to Shopify?

Not with a first-party tool. Shopify's Store Migration app moves products and customers only. Historical orders need a third-party migration app or a script against the Admin API, and they must be imported after products and customers so each order links to real records.

Will a Wix to Shopify migration hurt my Google rankings?

Only if the redirects are missing or late. Every indexed URL changes, so each one needs a 301 to its new Shopify address, loaded before the domain switches. Remember that Wix's own automatic redirects stop working once the domain leaves Wix, so old slugs you previously redirected need re-creating in Shopify too.

Do Wix product reviews transfer to Shopify?

No. Wix reviews can't be exported for migration. Plan to rebuild them with a Shopify reviews app and, if the reviews matter commercially, run a post-launch campaign asking past customers to re-review. Treat this as a known loss when you decide on timing.

How much downtime does a Wix to Shopify migration cause?

None, if sequenced correctly. The Shopify store is built and populated on its temporary domain while Wix stays live. The only sensitive window is the DNS switch, when SSL is being provisioned on Shopify — a few minutes to a couple of hours depending on propagation.

Can I keep my existing domain when moving from Wix to Shopify?

Yes. Disconnect the domain from Wix first, then connect or transfer it to Shopify. Doing it in the other order leaves two platforms claiming the same hostname, which produces SSL certificate errors for visitors.

Does my Wix design transfer to Shopify?

No part of it. Themes, layouts, sections and any Velo code are platform-specific. Budget a theme build on Shopify — in most migrations this is the longest task, not the data move.

Should I use a paid migration app or do the CSV myself?

Under a few hundred SKUs with simple variants, remapping the CSV yourself is faster than evaluating apps, and you end up understanding your own data. Pay for an app when you need historical orders, or when the catalog is large enough that a scripted API import makes more sense.

Stay updated with Netalith

Get coding resources, product updates, and special offers directly in your inbox.