How to migrate from Shopify: a practical, step-by-step guide

To migrate from Shopify, export your products, customers, orders, discounts, gift cards and URL redirects as CSV files from the Shopify admin, pull blog posts, pages and metafields through the Admin API, rebuild the theme on the new platform, and 301-redirect every old Shopify URL to its new equivalent. Test the new store on a private preview, switch the domain, and cancel the Shopify plan only after the new store is live and stable.

This guide walks through each step using Shopify's own Help Center and developer documentation, so you know exactly what each export contains and where the gaps are. Every platform choice has trade-offs; the aim here is a clean, lossless move, whatever you are moving to.

Step 1: Take stock before you export anything

Start with a written inventory. It becomes your migration checklist and, later, your test plan.

  • Catalog: number of products, variants, collections, and which products use metafields.
  • Customers and orders: how many, and how far back you need order history on the new platform (for customer accounts, returns and accounting).
  • Promotions: active discount codes and outstanding gift card balances.
  • Content: blog posts, pages, navigation menus, policies.
  • Apps: every installed app and what it does (reviews, subscriptions, loyalty, search, forms). App data usually lives with the app provider, not in Shopify's standard exports.
  • URLs: every public address that earns traffic or links. This feeds your redirect map in Step 4.

If you are still choosing where to go, our guide to choosing an e-commerce platform covers the decision questions.

Step 2: Export your data from Shopify

Shopify's Help Center states that you can use CSV files to import and export products, customers, inventory, admin and POS users, while orders and discounts are export only. Here is what each export gives you.

Products

In the admin, go to Products and click Export; you can export the current page, all products, selected products or a filtered set. The file includes product data, variants and inventory. Two details matter for a migration:

  • Images are not in the file. Shopify notes that the images associated with each product aren't included in the CSV, and that when importing into a new store, images only carry over while the original store stays publicly accessible. Move images before you close the old store.
  • Metafields are partly covered. Product metafields appear as columns in the format product.metafields.namespace.key, but Shopify states that variant metafields aren't supported for product CSV import/export. Use the Admin API for those.

The Handle column is the product's URL identifier. Keep it: it is the key for your redirect map.

Customers

From Customers, click Export. You can include customer tags and supported metafields. What you cannot move are passwords: Shopify's documentation explains that because passwords are encrypted, they can't be migrated by CSV, and imported customers need an invitation to set a new password. Plan an account-activation email for launch, and check your new platform's rules for email consent before sending it.

Orders

From Orders, click Export and choose either full order data or transaction histories only. Up to 50 orders download straight away; larger exports and date ranges are emailed to you and the store owner. Shopify says an export under 100,000 items might finish in under an hour, while 400,000 items might take around four hours, so start early. The transaction history contains captured payments only, not authorizations. Note that Shopify's backup guide says orders can't be imported into a store through the Shopify admin; most platforms have their own importer or API for historical orders.

Discounts

The Discounts page has an Export button for the current page, all, selected or searched discounts. Shopify notes that discounts can be exported only to CSV and can't be imported back by CSV. Treat the export as a specification and recreate active codes on the new platform.

Gift cards

You can export gift cards to CSV with fields such as ID, last characters, customer, balances, currency and expiry. For security, Shopify's standard export includes only the last four characters of each code, and Shopify says it can't be used to recreate cards or migrate them to another system on its own. Its advice is to review the new system's import requirements and issue new codes when needed. In practice: list every card with a remaining balance, issue new codes of equal value on the new platform, and email each holder.

Blog posts, pages and metafields

There is no CSV export for blog posts or pages in the admin; Shopify's backup guide suggests copying and pasting them. For more than a handful, use the GraphQL Admin API: the articles query returns blog articles and the pages query returns online store pages. For large catalogs and metafields, Shopify's bulk operations let you submit one query and download the result as a JSONL file, with a download link that expires after one week.

URL redirects and theme

Existing redirects can be exported as CSV from the URL redirects page in the admin. Add them to your redirect map so old chains still resolve. You can also download your theme, which Shopify sends as a .zip file to your staff email. The theme is written in Liquid, Shopify's templating language, so it will not run elsewhere; keep it as a visual and content reference. Shopify also notes that a theme bought from its Theme Store is licensed only to the store it was bought for.

Step 3: Know what usually does not transfer

ItemWhyWhat to do
Customer passwordsEncrypted; not in exportsSend account-activation invites
Full gift card codesOnly last 4 characters exportedIssue new codes for open balances
Discount codesExport onlyRecreate active codes
App data (reviews, subscriptions, loyalty)Held by the app providerAsk each provider for an export
ThemeLiquid templates are Shopify-specificRebuild the design on the new platform
Reports and traffic historyShopify lists them as non-transferableExport reports you need; keep analytics

Step 4: Map every Shopify URL and set up 301 redirects

Shopify URLs follow fixed patterns, documented in its theme reference:

  • Products: /products/[handle], and also /collections/[collection]/products/[handle]
  • Collections: /collections/[handle]
  • Pages: /pages/[handle]
  • Blog articles: /blogs/[blog]/[article]

If your new platform can reproduce the same paths, keep them. If not, build a spreadsheet of old URL to new URL, one row per page, using the handles from your exports. Google's site-move guidance recommends exactly this mapping, and says 301 and 308 status codes tell Google a page has permanently moved and that the target should be treated as canonical. Redirect each old URL straight to its closest equivalent, not to the home page, and avoid chains. Google advises keeping redirects for as long as possible, generally at least one year.

For the SEO side in depth (titles, canonicals, sitemaps, structured data and post-launch monitoring), follow our e-commerce replatforming SEO checklist.

Step 5: Test, then cut over

  1. Test on a private preview. Place real test orders with every payment and shipping method, check taxes, and confirm order and account emails.
  2. Check the data. Compare product, customer and order counts with your exports; spot-check prices, variants and metafields.
  3. Crawl your redirect map. Every old URL should return one 301 to a live 200 page.
  4. Freeze and re-sync. Pause catalog edits, then run a final delta export of orders and customers created since your first export.
  5. Switch the domain. Point DNS to the new platform, submit the new sitemap, and watch 404s and checkout for the first days.
  6. Send the follow-up emails. Account activation invites and new gift card codes.

Step 6: End the Shopify subscription last

Keep the Shopify store running until the new one has taken real orders and your redirects are verified. Before you deactivate, follow Shopify's advice: export CSV backups and download your theme. According to Shopify, deactivating ends the subscription at the end of the billing cycle and removes all apps, custom domains become disconnected, and domain renewals are not canceled automatically. It also says store information is kept for two years in case you reopen, and reminds you to check apps billed outside Shopify so you are not charged after the store closes. If your domain was bought through Shopify, transfer it before you close.

Moving to CIQRA

If CIQRA is your destination, the move runs in five steps: inventory, transfer, design, preview and go live. Products, categories, content and media move over in every language. Your new store is built behind a password while the current one keeps selling until launch, and the preview environment never sends notifications to real inboxes. Product and category URLs are kept or 301-redirected, and titles and descriptions carry over unchanged; the redirect manager lets you bulk-import old URLs and catch broken links from the 404 log. Once you give the go-ahead, we point your domain to the new platform. For a side-by-side view, see CIQRA vs Shopify.

FAQ

Can I move customer passwords from Shopify?

No. Shopify's documentation says passwords can't be migrated by CSV. Customers set a new password through an activation invite on the new platform.

Will my gift cards still work after migrating?

Not as-is. Shopify's export shows only the last four characters of each code, so issue new codes with the same balances and notify each holder.

When should I cancel my Shopify plan?

After go-live, once the new store has processed real orders, your redirects are verified, and you have saved CSV backups and your theme.

Sources

Share LinkedIn X Facebook Email

Related articles