appbespoke

Every step cited to the vendor’s own docs

How to migrate from Wix to Shopify, step by step.

Wix is the hardest mainstream platform to leave, because it holds more of your data than it lets you export. This is the whole move: what the dashboard gives you, what needs the API, and the order that keeps your store selling throughout, with the documentation behind every step.

Start the checklist

14 steps · Plan on 20-40 hours of your own time

  • 14

    steps, in the order they have to happen

  • 26.5

    hours of hands-on work for a mid-sized store

  • 8

    things that do not come with you

  • 9

    URL shapes that need a 301

Phase 01 · 2.5 h

Before you touch anything

  1. 1 hWix docs

    List what Wix will and won’t release

    Walk every section of the Wix dashboard and note what exists: products, contacts, orders, CMS collections, blog, Bookings, members, automations. Products, contacts, orders, CMS data and redirects export from the dashboard; blog posts, reviews, the member list and Bookings configs do not: those need the API or a rebuild.

    Where

    Wix dashboard → Catalog, Orders, Customers & Leads, Blog, CMS, Bookings, Members

    The catch

    Digital (downloadable) products are excluded from the product export entirely: a store selling downloads has no dashboard export path at all.

    Wix docs ↗

  2. 1.5 hWix docs

    Download your media library

    Pull your images and files out of the Wix Media Manager as insurance. Shopify fetches product images from URLs at import time, so the originals must still be reachable when you import.

    Where

    Wix dashboard → Media → Site Files, folder by folder

    The catch

    There is no "download everything" button: Site Files come down folder by folder. Do it now, not after cutover, while every image URL still resolves.

    Wix docs ↗

Phase 02 · 5 h

Get your data out

  1. 30 minWix docs

    Export the product catalogue

    Export products to CSV. Wix writes one row per product and one per variant, sharing a handle, distinguished by the fieldType column. Note your product, variant and image counts from the dashboard: they are the reconciliation numbers for every later import.

    Where

    Catalog → Store Products → Products → More Actions → Export

    The catch

    Wix documents a 5,000-row cap per export CSV. Over that, export in filtered batches, and remember each variant is its own row.

    Wix docs ↗

  2. 30 minWix docs

    Export contacts and order history

    Contacts export as CSV up to 50,000 at a time. Orders export either one row per order or one per line item. Take both shapes so you can reconcile totals later.

    Where

    Customers & Leads → Contacts → Import/Export → Export · Orders → Export

    The catch

    Only the site owner can export contacts. A collaborator cannot. And order timestamps are written in UTC, so reports shift unless you offset them.

    Wix docs ↗ · Wix docs ↗

  3. 4 hWix docs

    Pull blocked data through the Wix API

    Blog posts and rich product data have no dashboard export. The Wix REST API is the escape hatch: the Blog endpoint returns up to 100 posts per call. Skip this step if you have no blog and your product CSV covered everything.

    Where

    Wix dashboard → API keys, then www.wixapis.com

    The catch

    The products API returns no variant data from its query endpoint: variants come one product at a time, so a large catalogue means thousands of calls.

    Wix docs ↗ · Wix API docs ↗

Phase 03 · 14 h

Build in parallel

  1. 2 hShopify docs

    Reshape the product CSV for Shopify

    Rename Wix columns to Shopify’s import schema, convert units, and save as UTF-8 CSV. Map by meaning, checking a handful of products against both dashboards, rather than trusting any published table blindly.

    Where

    Any spreadsheet tool; save as UTF-8 CSV

    The catch

    Wix exports weight in kilograms; Shopify expects grams. Multiply by 1,000, and strip spaces, accents and periods from handles. Treat Shopify’s published mapping table with suspicion: parts of it lag the current Wix export format.

    Shopify docs ↗

  2. 1 hShopify docs

    Import products into Shopify

    Upload the reshaped CSV, or use Shopify’s free Store Migration app if it is available to your store and your products have three options or fewer. Reconcile the imported counts against the numbers you noted at export.

    Where

    Shopify admin → Products → Import

    The catch

    An import cannot be cancelled once started, there is no import history, and the file caps at 15 MB. Run it against a development store first, and untick "publish to all sales channels".

    Shopify docs ↗

  3. 45 minShopify docs

    Import customers and plan invites

    Import the contacts CSV: the email column must exist, and marketing consent only accepts yes or no. Then decide how account invitations go out: a third-party app, or batched sends.

    Where

    Shopify admin → Customers → Import

    The catch

    Passwords cannot migrate. Imported customers cannot log in until they accept an invite, and Shopify has no official bulk-invite tool. Plan the invite wave, don’t discover it at launch.

    Shopify docs ↗

  4. 2 hShopify docs

    Move orders and blog posts via apps

    Shopify has no native import for orders or blog articles. Order history goes through a migration app (Cart2Cart, LitExtension, EZ Importer); blog posts through Matrixify from the API export. Reviews cannot leave Wix at all, so re-key the best ones.

    Where

    Shopify admin → Apps

    The catch

    If you stage blog imports in Excel, cells silently truncate at 32,767 characters, so long articles lose their tail. Use CSV for body HTML.

    Shopify docs ↗ · Matrixify docs ↗

  5. 8 hShopify docs

    Rebuild design, members and automations

    Nothing visual or behavioural transfers. Build the theme against your Wix screenshots, re-create each automation in Shopify Flow, and configure customer accounts to stand in for the members area.

    Where

    Online Store → Themes · Apps → Shopify Flow · Settings → Customer accounts

    The catch

    Any Wix Automation that called an external webhook needs Shopify’s HTTP action, which is restricted to Grow, Advanced and Plus plans, so check before promising parity.

    Shopify docs ↗

Phase 04 · 3 h

Keep your rankings

  1. 1 hWix docs

    Capture every live URL and redirect

    Export the redirects already configured in Wix, and crawl the live site to record every indexed URL. Together these are the input to the redirect map.

    Where

    SEO & GEO → Tools and settings → URL Redirect Manager → Export

    The catch

    You cannot reconstruct the URL inventory after the Wix site goes dark, so crawl it now. Existing Wix redirects stop working the moment DNS moves.

    Wix docs ↗

  2. 2 hShopify docs

    Build the redirect map in Shopify

    Turn the URL inventory into old → new pairs and bulk-import them. Redirects only save for URLs that would otherwise 404, so verify the import report line by line.

    Where

    Content → Menus → URL redirects → Import

    The catch

    Shopify refuses redirects from paths starting /shop, which is exactly where a Wix store lives. That one path needs theme-level handling; no 301 can exist for it.

    Shopify docs ↗

Phase 05 · 45 min

Cut over

  1. 45 minShopify docs

    Point the domain at Shopify

    At a quiet hour, update the A record and the www CNAME to Shopify’s values, keeping registration (and email DNS) where they are. The old store keeps selling until the record propagates.

    Where

    Wix → Domains → Manage DNS Records · Shopify → Settings → Domains

    The catch

    Point DNS; do not transfer the registration mid-migration. A transfer can take 20 days, trips ICANN’s 60-day lock if contacts were edited, and dropping the Wix DNS zone kills MX records, so screenshot every DNS record first.

    Shopify docs ↗ · Shopify docs ↗

Phase 06 · 1.5 h

After the switch

  1. 1.5 hWix docs

    Verify everything, then cancel Wix last

    Remove the Shopify storefront password, place a real test order, click the top redirects, and confirm images render. Only when a full week of orders, email and search traffic looks right do you cancel the Wix subscriptions.

    Where

    Shopify → Online Store → Preferences · Wix → Premium Subscriptions

    The catch

    Site plan, domain and business email are separate Wix subscriptions: cancelling one does not cancel the others, and cancelling too early takes down what you still depend on.

    Wix docs ↗

What does not come with you

Be wary of any guide that says everything moves. These are the things that do not, and what to do about each one.

  • Your page designs

    Wix pages are proprietary Editor documents with no export format; Shopify renders Liquid themes.

    Instead: Screenshot every Wix page first as the visual spec, then rebuild on a Shopify theme.

  • Customer passwords

    Passwords are encrypted outside Shopify and cannot be moved by any export.

    Instead: Import customers, then send account invites. Shopify has no bulk-invite tool, so plan a third-party app or batched sends.

  • Product reviews

    Wix Reviews has no export at all: the help page for it is a feature request.

    Instead: Re-key the best reviews into Judge.me, Loox or Yotpo, and start collecting fresh ones at launch.

  • Blog posts (via the dashboard)

    Wix states plainly that blog posts cannot be exported from the dashboard.

    Instead: Pull posts through the Wix Blog API (100 per request) and import with Matrixify, or copy-paste a small blog.

  • Digital / downloadable products

    Wix excludes digital products from the product CSV export entirely.

    Instead: Download the files from the Media Manager and re-create the products in Shopify by hand.

  • The site members list

    Wix blocks member-list export on privacy grounds; contacts are a separate list that does export.

    Instead: Export Contacts instead, and accept that member-only gating is rebuilt from zero.

  • Wix Bookings services

    Wix confirms service configurations cannot be exported, not even between two Wix sites.

    Instead: Export the booking and staff reports as CSV for history, then rebuild services in a Shopify booking app.

  • SEO metadata in bulk

    Wix has no CSV export of page titles and descriptions.

    Instead: Crawl the live site with an SEO crawler before cutover, and re-key what matters.

Your URLs, mapped.

Wix and Shopify disagree about URL shapes, so every old address needs a 301 to its new home. This is the mapping.

WixShopify
/product-page/linen-throw/products/linen-throw
/category/bedding/collections/bedding
/shop/collections/all
/post/how-we-weave/blogs/news/how-we-weave
/blog/blogs/news
/about-us/pages/about-us
/account/my-orders/account/orders
/#!blog/c1p1z(not redirectable server-side)
/product-page/linen-throw?variant=…/products/linen-throw

Your apps, matched.

  • Wix StoresShopify products (built in)

    Shopify's free Store Migration app moves products and customers, but caps at 3 options per product and uses the highest price where Wix priced by location.

  • Wix BookingsThird-party booking apps

    No first-party Shopify booking product, and Wix cannot export service configs, so services are rebuilt in an app like Sesami or BookThatApp.

  • Wix Members AreaShopify customer accounts

    The member list is not exportable; export Contacts instead and rebuild gated content with theme logic or an app.

  • Wix AutomationsShopify Flow

    No export from Wix: rebuild each trigger/action pair by hand. The webhook action needs Grow, Advanced or Plus.

  • Wix Email MarketingShopify email tools

    Subscriber consent must be re-declared through the customer import; history does not move.

  • Wix FormsShopify Forms

    Existing form submissions stay behind; only synced contacts move.

  • Wix ChatShopify Inbox

    Chat history does not transfer.

  • Wix BlogShopify blogs

    Wix has no blog export and Shopify no native blog import: the move goes through the Wix API plus Matrixify.

  • Wix Pricing PlansShopify Subscriptions

    Active recurring plans cannot migrate; subscribers re-subscribe on Shopify.

  • Wix ReviewsJudge.me / Loox / Yotpo

    Wix cannot export reviews at all, so they are re-entered or collected fresh.

  • Velo codeNo equivalent

    Velo code runs only on Wix hosting. This is a rewrite (metafields, Functions or a custom app), and should be scoped separately.

  • Wix CMS collectionsShopify metaobjects

    Collection data exports to CSV, so the content moves even though dynamic-page routing is rebuilt.

What goes wrong.

What catches people on a Wix move, why each one happens, and how to get ahead of it.

Your old shop page 404s forever after launch

Why: Wix stores live at /shop, and Shopify refuses to create redirects from any path starting /shop (also /cart, /orders, /services, /apps).

Avoid it: Check how much traffic lands on /shop before cutover, and handle it in the theme rather than promising a 301 that cannot exist.

Years of old redirects vanish on cutover day

Why: Wix 301 redirects only work while Wix serves your custom domain; the moment DNS points at Shopify, every Wix-side redirect stops.

Avoid it: Export the Wix redirect list and re-create the whole chain in Shopify before the DNS change.

Some redirects never take effect

Why: Shopify only accepts a redirect from a URL that currently 404s, and rejects the rest of the row silently in bulk imports.

Avoid it: Check the import result report line by line rather than assuming a clean upload.

Every returning customer is locked out on day one

Why: Passwords cannot migrate, and imported customers are placeholders until they accept an invite.

Avoid it: Plan the invite wave before launch; Shopify has no official bulk-invite tool.

Shipping rates come out a thousand times wrong

Why: Wix exports weight in kilograms; Shopify's grams column expects grams.

Avoid it: Multiply the weight column by 1,000 in the reshape, then spot-check calculated shipping on three products.

A bad import cannot be undone

Why: Product CSV imports cannot be cancelled once started and leave no import history to roll back.

Avoid it: Run every import against a development store first, and keep the pre-import export as your rollback.

Product images 404 after Wix is retired

Why: Shopify fetches images from the URLs in your CSV at import time; if Wix-hosted media disappears first, the images never land.

Avoid it: Confirm every image renders in Shopify admin before cancelling the Wix plan.

Company email dies the day the domain moves

Why: Transferring a domain away from Wix drops the DNS zone, including MX records; ICANN's 60-day lock can also stall the transfer entirely.

Avoid it: Screenshot every DNS record first, point DNS at Shopify rather than transferring during the migration, and never edit WHOIS contacts beforehand.

Or hand the whole list to someone who has done it.

Send your store URL and you get back a fixed price and a plan for your store specifically: SKU count, which apps have Shopify equivalents, the redirect plan, and the risks we can see.

Get my free migration plan