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
| Item | Why | What to do |
|---|---|---|
| Customer passwords | Encrypted; not in exports | Send account-activation invites |
| Full gift card codes | Only last 4 characters exported | Issue new codes for open balances |
| Discount codes | Export only | Recreate active codes |
| App data (reviews, subscriptions, loyalty) | Held by the app provider | Ask each provider for an export |
| Theme | Liquid templates are Shopify-specific | Rebuild the design on the new platform |
| Reports and traffic history | Shopify lists them as non-transferable | Export 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
- Test on a private preview. Place real test orders with every payment and shipping method, check taxes, and confirm order and account emails.
- Check the data. Compare product, customer and order counts with your exports; spot-check prices, variants and metafields.
- Crawl your redirect map. Every old URL should return one 301 to a live 200 page.
- Freeze and re-sync. Pause catalog edits, then run a final delta export of orders and customers created since your first export.
- Switch the domain. Point DNS to the new platform, submit the new sitemap, and watch 404s and checkout for the first days.
- 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
- Shopify Help Center: Open or edit a CSV file
- Shopify Help Center: Exporting products
- Shopify Help Center: Using CSV files to import and export products
- Shopify Help Center: Importing and exporting customer lists
- Shopify Help Center: Exporting orders to a CSV file
- Shopify Help Center: Exporting discounts
- Shopify Help Center: Managing created gift cards
- Shopify Help Center: Backups and duplication
- Shopify Help Center: URL redirects
- Shopify Help Center: Downloading themes
- Shopify Help Center: Deactivating a store
- Shopify.dev: GraphQL Admin API, articles query
- Shopify.dev: GraphQL Admin API, pages query
- Shopify.dev: Perform bulk operations with the GraphQL Admin API
- Shopify.dev: Theme templates (product, collection, page, article)
- Google Search Central: Site moves with URL changes (updated August 2026)
- Google Search Central: Redirects and Google Search