Article

How to migrate to Shopify without losing sales, data, or SEO.

A clean move is not a CSV and a new theme. It is a plan that keeps the store selling, brings across the records that matter, and protects the URLs Google already trusts. This guide covers the three ways to migrate, what actually transfers, and the SEO work that decides whether traffic holds.

Quick answer

Choose the path from the size of the catalog and how much the store depends on other systems. The first step is always the same: take a full backup of the current store before anything is edited or exported.

Small catalog

CSV

Under about 200 products, no subscriptions, no ERP. Shopify’s importer can carry products and customers. A founder can do it in a few days.

Most stores

Migration app

A few hundred to several thousand products. An app such as Matrixify moves the records. A person still has to check images, variants, and prices.

Plus, B2B, subscriptions

A partner

When the catalog, the checkout, or an ERP would be expensive to get wrong. The data move is the small part of the project.

Then move products, collections, customers, the orders you still need, pages, and posts. Build the 301 redirect map before the domain switches. At Thails a full migration usually takes six to twelve weeks. The date is fixed in the plan before we start.

Why brands move to Shopify

Shopify takes the work that does not compound — hosting, security patches, PCI compliance, checkout, and scaling — and runs it as the platform. The team can spend its time on the brand and the catalog.

The old trade-off was customization. That has mostly gone. The app ecosystem covers the jobs most stores used to custom-code. Online Store 2.0 themes are built from sections. Hydrogen is there when a storefront truly needs to be headless. Multi-currency, Shop Pay, and Markets cover what older platforms sold as extras.

What you actually gain

Four things, if the move is done properly:

  • A checkout that already converts, including Shop Pay.
  • A store that stays up when traffic spikes.
  • A cost you can predict, instead of a platform you are staffing yourself.
  • Upgrades Shopify ships, instead of a release calendar your developers own.

None of that appears because the products imported. It appears when the data, the URLs, and the integrations arrive intact, and the new store is built to use them.

When you should stay

Move because the current platform is costing you sales, time, or risk. Stay if the store is healthy and the only pressure is that Shopify is the default conversation in the industry. A quarter spent on a migration is a quarter not spent on the business.

If the company runs on B2B rules or checkout behavior that does not map to Shopify’s model, test the fit before you commit. We would rather say stay than rebuild a process the platform cannot hold.

The three ways to migrate

Shopify describes the same three paths. The right one depends on catalog size, integrations, and how much risk you can take on launch day. A store can mix them — a spreadsheet for products, an app for orders — as long as one person owns the result.

CSV, by hand

The cheapest path, and the one with the most gaps. Shopify’s importer covers products and customers. Pages and posts can be pasted across. It fits a founder with fewer than about 200 products and a free weekend.

Orders, passwords, and saved cards do not come across in a CSV. If customers expect their history inside the new account, this path will disappoint them.

A migration app

Matrixify is the usual app once the catalog is past a weekend and still short of a full replatform. It moves products, variants, collections, customers, orders, discounts, draft orders, pages, posts, redirects, files, and metafields from spreadsheets.

Shopify also ships a free Store Migration app that can pull a smaller catalog from platforms it supports, including WooCommerce, Wix, Etsy, and Square. Treat it as a first import. Variant and SKU handling is uneven, so open a sample of products before you trust it.

A Shopify partner

Choose a partner when the store is on Shopify Plus, sells B2B, runs subscriptions, depends on an ERP or a 3PL, or the catalog is large enough that a bad import is expensive to undo.

The fee is higher because the work is wider: the URL map, the theme, the integrations, and the logic that does not fit Shopify’s model. An app copies records. It does not decide the new catalog structure, stand behind launch night, or watch rankings for the next 90 days. That is the work we run on Move to Shopify.

What comes across — and what never does

Simpler platforms give you a cleaner export. Wix, Etsy, and Squarespace are usually a CSV or Shopify’s migration app. WooCommerce sits in the middle: a connector handles most stores, and the messy ones are the custom plugins. Magento, BigCommerce, Salesforce Commerce Cloud, PrestaShop, and Shopware need a mapped import. Their data models are not Shopify’s.

What should move

Products, variants, collections, customers, posts, pages, and recent order history. On an app or partner-led move, also metafields, metaobjects, draft orders, gift cards, and store credit — where the source can export them.

Redirects are the record that matters most. They bulk-import into Shopify’s URL redirect list.

What cannot move

Passwords are hashed on the old platform. They cannot be copied. Customers activate the new account by email.

Saved cards and wallet tokens stay behind. The first checkout on Shopify asks for payment details again. Tell customers before you switch — it is the sharpest bit of friction on launch day.

Subscriptions are the exception to plan for. Billing dates and payment methods can move when the apps on both sides support it. They need their own cutover, so nobody is charged twice.

Clean the data before you import it

A migration is the cheapest moment you will get to ship a smaller catalog. Most stores carry years of debt: duplicate SKUs, orphan variants, three names for the same size, images that 404, metafields nothing reads anymore.

Export a master sheet. Decide what comes across. Leave the rest on the old platform, where someone can still look it up.

The audit that changes the result

  • Deduplicate titles and SKUs.
  • Check that image URLs still resolve. A sample is enough if the pattern is consistent.
  • Standardize option names. “Medium”, “Size: Medium”, and “M” become three variants if you do not.
  • Drop products you would not reorder. If it has not sold in 18 months and it is not a hero, it does not earn a URL on the new store.

Cutting dead SKUs after launch feels tidy and rarely happens. Cutting them before the import saves merchandising time and keeps search honest from day one.

Fit the data to Shopify

A product has at most three options — size, color, material — and, since late 2025, up to 2,048 variants. Themes only render the first 250 variants in Liquid, so a product above that needs a theme built for it.

More than three options does not fit a variant matrix. Flatten the product, or keep the extra detail in metafields and metaobjects. Combined listings, on plans that include them, group related products so they shop as one family without a fourth option crammed into a single product.

Do this mapping for products, customers, orders, and content before the first import. Every record needs a home in Shopify’s model. If it does not have one, it arrives as a broken row.

Import products and collections first

Products, then customers, then historical orders. Shopify attaches order lines to products and customers at import. Reverse that order and you get orders that do not match the catalog.

Products and variants

On Matrixify, run a dry run first. The app returns a template of the fields Shopify accepts. Fill it, check it, then import. Over a few thousand SKUs, import in batches. After each batch, open about 50 products and check images, variants, and prices before the next batch multiplies a mistake.

Collections

Shopify has two kinds. Manual collections are products you assign. Automated collections follow rules — tag, vendor, type, or price.

Most older platforms do not export collections in a shape Shopify understands, so you rebuild them or import them with an app. Keep the URL handle of any collection that already ranks. A new handle is a new page, even when the products are the same.

Then set the sort. Alphabetical is not merchandising. New arrivals and bestsellers should lead.

Customers and orders

The import is the easy half. The emails, the password resets, and the support load are the half teams undercount.

Accounts

Export name, email, tags, marketing consent, and anything else you need to recognize the customer. Use a CSV under a few thousand records. Use an app or the Admin API above that.

Send the activation email 24 to 48 hours after launch, not during the switch. Support should not meet a password-reset wave and a new checkout on the same morning.

Order history

Import the last 12 to 24 months so service can look a customer up, and so you can still segment. Older orders belong in a warehouse or the reporting tool, not in the Shopify admin.

Imported orders are a record. You generally cannot refund or fulfill them through the normal Shopify flow. Close open returns on the old platform, or handle them by hand.

Payments, shipping, and tax

These three have to be live and tested before the domain moves. A wrong payment setup is the usual way a launch loses a day of revenue.

Payments

Shopify Payments is the default for most brands: cards, Apple Pay, Google Pay, and Shop Pay, usually at a lower rate than a third-party gateway. If you use Stripe today, Shopify Payments runs on Stripe — you manage it in Shopify, not in the Stripe dashboard.

For international checkout, turn on the local methods that market actually uses. iDEAL, Bancontact, and Klarna are conversion, not decoration. Saved cards do not transfer. Say so in the launch email.

Shipping

Zones first, then rates. Shopify can do flat rate, free-shipping thresholds, carrier-calculated rates on Advanced and Plus, and local delivery.

If a 3PL or a fulfillment app ships the orders, connect it and place test orders before launch. Package weight and handling fees are the lines everyone forgets. They show up later as margin you cannot explain.

Tax

Turn on Shopify’s tax calculation and enter each registration you actually hold. Markets handles per-market pricing, language, and checkout. Duty and merchant-of-record setups are a separate decision. Confirm them with your accountant before launch, especially across the EU or US states. Country tax rules do not come across with the products.

Protect SEO through the switch

This is where migrations fail. A bad redirect map can give back a year of organic traffic in a week. A careful one usually holds, and often improves, because Shopify’s URLs, speed, and structured data are cleaner than the stack you are leaving.

The redirect map is the job

Before launch, export every URL that ranks or has a backlink — from Search Console, and from a backlink tool if you have one. Map each URL to the closest Shopify page.

Do not send leftovers to the homepage. Google treats that as a soft 404.

Do not chain redirects. One hop, from the old URL to the final page.

If you have migrated before, flatten the old chains. Every historic URL should land once.

Shopify’s URL redirects accept a CSV. That is how you load a few thousand rows. Write the map in week one, and treat it as a constraint the new theme has to respect. Every URL you change later costs you twice: once in the theme, once when the map has to catch up.

Keep what ranks. Rewrite what does not.

Pages sitting in positions 1 to 10 should keep the title, the H1, the meta description, and the shape of the answer. The ranking lives in that page. A casual rewrite invites a drop.

Pages in positions 11 to 30 are the ones worth rewriting, so the page matches the query more tightly. Do that on purpose, after launch has settled — not in the same week as the domain switch.

Schema, sitemap, Search Console

Check Product, Article, Breadcrumb, and FAQ markup in Google’s Rich Results Test before launch. Submit the new sitemap in Search Console on the day you switch. If the domain changes, keep the old property for at least six months and watch crawl errors. Crawl the new site the week before launch and fix broken links, chains, and pages nothing links to.

Mistakes we see on almost every first import

Testing catches these. Launch morning should not be the first time you see them.

Products imported, still hidden

Imported products often land unpublished. They will not show on the storefront until the Online Store channel is on. Filter the catalog and publish the ones that should sell.

Variant images that did not attach

Images miss when option names do not match. Pick one spelling and one case — Color, not Colour and color — and use it everywhere before the import. If a product arrives with no variants, the source had a structure Shopify cannot represent. Remodel it with metafields, or add it by hand.

Broken redirect chains

A store that already moved once — Magento 1 to Magento 2, then to Shopify — often still has old hops in the way. Flatten them. Crawl the list and fix anything that passes through more than one URL.

Tax that is suddenly wrong

Registrations do not transfer. Re-enter them. Place a test checkout from each market, with a real-looking address, before you open the store.

Test, then switch

Build and test on a preview domain while the current store keeps selling. Switch DNS when the checklist is done, off-peak, with a rollback you have actually tried.

On the preview store

Place real orders on every payment method. Refund one. Cancel one. Partially fulfill one. Issue store credit. Run an abandoned checkout through to the email. Confirm analytics and ad pixels fire on the right events. Buy from a phone on cellular, and time it.

Before you remove the password

  • Preview password off, and only when you mean to launch
  • Domain resolving to Shopify
  • Redirects uploaded and crawled — no chains, no homepage dumps
  • Sitemap submitted in Search Console
  • Images, alt text, and metadata checked on the products that make the revenue
  • Test orders paid on every method
  • Email, reviews, loyalty, and subscriptions proven on a test customer
  • Analytics pixels confirmed
  • Support briefed on password resets and “where is my order”
  • Speed and schema checked
  • Someone watching uptime, errors, and Search Console the next morning

Plan a quiet month after launch. Rankings move for two to four weeks, then settle. Do not redesign URLs in that window. You will not know what caused the change.

At Thails the watch continues for 90 days: rankings, speed, and orders. Launch is not the end of the job.

What we would do on day one

Getting rows into Shopify is a solved problem. An app or a careful import can do it. The moves that hold traffic are the ones that treat SEO as week-one work, not a cleanup the week you go live.

Three rules we would not bend:

  • Write the redirect map before the theme. Pull the URLs that rank. Map each one to its Shopify destination. The new site has to honor that map. Changing the URL structure mid-build is how a perfect catalog still loses organic traffic.
  • Cut the catalog before you move it. Importing everything and “rationalizing later” gives dead products a theme, a collection, and a URL. Later does not come. A smaller catalog is faster to merchandise and easier to crawl.
  • Tell customers what will not follow them. Passwords and saved cards stay behind. Send the account email the day after launch, not during the switch.

How Thails runs a migration

We move stores from WooCommerce, Magento, Salesforce Commerce Cloud, BigCommerce, PrestaShop, Shopware, and simpler platforms onto Shopify and Shopify Plus.

One team owns the path: discovery, the data model, the theme, the integrations, the redirect map, preview QA, the cutover, and 90 days after. Your team keeps selling. We carry the migration.

A typical plan is about ten weeks, inside a six-to-twelve-week range, depending on catalog size, subscriptions, and integrations. The date is agreed before we start. The price is fixed from the audit — not an open hourly meter.

If you want this run for you, start with how we migrate stores or book a call with André. You will talk to the founder, not a sales queue.

FAQ