How to Migrate From Shopify Without Losing Sales
To migrate off Shopify without losing sales, do it in this order: export your catalog and customers, rebuild the store and test checkout on a staging URL, map every old Shopify URL to a 301 redirect on the new platform, then cut over DNS last — once everything is verified. The only step that touches live traffic is the final DNS change, so if you sequence it this way there is effectively zero downtime and no drop in rankings.
Why merchants get nervous about migrating
The fear isn't the export — Shopify lets you download most of your data as CSV. The fear is the two things a bad migration actually breaks: SEO (Google has years of indexed URLs pointing at your Shopify store, and if those 404 after you move, your rankings and traffic go with them) and checkout (any window where customers can't pay is lost revenue). Get redirects and payments right and everything else is mechanical. This guide is built around protecting those two things.
Step 1: Export everything from Shopify first
Before you touch anything, pull a complete backup of your Shopify data. From your Shopify admin you can export:
- Products — Products → Export → All products, as CSV. This includes titles, descriptions, variants, prices, SKUs, and image URLs.
- Customers — Customers → Export. Note that Shopify cannot export customer passwords (no platform can — they're hashed), so customers will set a new password or use magic-link sign-in on first login.
- Orders — Orders → Export, for your historical records and reporting.
- Your full URL list — this is the one people forget. Grab your Shopify sitemap at
/sitemap.xmland export the list of every indexed page: products, collections, blog posts, and static pages. You'll need this exact list in Step 4.
Keep these files somewhere safe. They're your source of truth and your rollback insurance.
Step 2: Rebuild the catalog on the new platform
Import your product CSV into ShopsWired and rebuild your storefront on a staging URL — every new store gets a <name>.shopswired.com subdomain, so you can build and test the whole thing before your real domain ever points at it.
A few things worth doing carefully while you import:
- Variants and options — map Shopify's Size/Color options to ShopsWired option dimensions. Each variant carries its own SKU, price, compare-at price, stock, and images, so you don't lose granularity.
- Collections become tags — Shopify uses collection entities; ShopsWired uses tags as the native grouping mechanism. A product's tags drive storefront filtering, coupon targeting, and pricing rules, so re-map each collection to a tag. This matters for Step 4, because your collection URLs need a redirect target.
- Digital products — attach the files buyers receive; digital items deliver automatically once payment clears.
Then pick a theme. ShopsWired ships a complete default storefront and a library of ready-made themes (Aura, Onyx, Harvest, and more), or you can build a custom theme if you want full control of the look.
Step 3: Set custom product URLs to match Shopify
This is the single highest-leverage SEO step, and it's easy. Shopify product URLs follow the pattern /products/summer-tote. Give each product in ShopsWired a matching clean slug so the path stays as close as possible to the original:
Shopify: /products/summer-tote
ShopsWired: /product/summer-toteThe path prefix differs (/products/ vs /product/), which is exactly why Step 4 exists — but matching the slug keeps your redirects clean and predictable. As a bonus, ShopsWired automatically 301-redirects a product's old slug to the new one whenever you change it later, so internal link rot never becomes a problem after launch.
Step 4: Map every old URL to a 301 redirect
This is the step that protects your rankings. A 301 redirect tells Google "this page moved permanently here," and it passes the vast majority of the old page's ranking signal to the new URL. You need one for every indexed Shopify URL from Step 1.
Build a mapping table from your old URL list to the new destinations:
/products/summer-tote -> /product/summer-tote
/collections/bags -> /search?tag=bags
/blogs/news/spring-launch -> /page/spring-launch
/pages/about -> /page/aboutThe rules that keep you out of trouble:
- Never let an old URL 404. A 404 tells Google the page is gone and the ranking evaporates. Every indexed URL needs a live 301 target.
- Redirect to the closest equivalent, not the homepage. Mass-redirecting everything to
/is treated as a soft 404 by Google and won't pass ranking. Send a product to its product, a collection to its filtered search or tag page. - Keep redirects one hop. Old URL → final URL directly. Chains of redirects dilute signal and slow the page.
ShopsWired emits automatic 301 redirects when a product slug changes and outputs a sitemap that products feed into, so once your slugs match and your redirect map is in place, search engines re-crawl to the new URLs cleanly.
Step 5: Reconnect payments and test a real checkout
Payments are the other thing you cannot afford to get wrong. On ShopsWired you connect one active payment provider per store — Stripe, Square, PayPal, and others — through a gateway app from the Marketplace, and each supplies its own webhook setup. Do this on your staging subdomain and then place at least one real end-to-end test order: add to cart, apply a coupon, pay, and confirm the order appears, the confirmation email sends, and stock decrements. A migration that looks perfect but can't take a payment is the worst possible outcome, so never skip the live test.
While you're here, re-create your shipping methods (flat rate, weight-based, free shipping, local pickup), tax rules by region, and any active coupons. These don't come across in a product CSV.
Step 6: Cut over DNS last
Only now — with the catalog built, redirects mapped, and checkout tested — do you point your real domain at the new store. In ShopsWired, add your custom domain and verify ownership with the CNAME + TXT records it gives you; you get SSL and edge caching per shop automatically. Because you validated everything on the subdomain first, the DNS switch is the only moment live traffic moves, and it moves to a store you've already confirmed works.
A clean cutover sequence:
- Lower your domain's DNS TTL a day ahead so the change propagates fast.
- Add and verify the domain in ShopsWired while it's still resolving to Shopify.
- Switch the DNS record. Both stores can technically answer during propagation, which is fine — orders land wherever the customer resolves, and no one hits a dead page.
- Submit your new sitemap in Google Search Console and keep the old Shopify store live (but unlinked) for a few weeks so its 301s — if you configured any there — and crawler re-indexing settle.
Post-launch: watch these for two weeks
- Search Console coverage — watch for a spike in 404s or "soft 404." Each one is a redirect you missed; add it.
- Analytics — organic traffic may dip for a few days as Google re-crawls, then recover. A sustained drop after two weeks means a redirect or indexing problem, not normal settling.
- Orders and emails — confirm real orders are flowing and transactional emails (confirmation, shipping) are sending.
What changes on the cost side
The reason a lot of merchants make this move is the math. ShopsWired charges 0% platform transaction fees on every plan — you pay only your payment processor's standard rate, with no extra platform cut on top of each sale. That's meaningfully different from paying an additional per-order fee unless you use a specific first-party gateway. Pricing is simple per-shop: Pro is $99/mo, Business $249/mo, and Enterprise $499/mo, each including a custom domain, SSL, and edge caching. Right now the Pro plan is $1/month for your first 3 months — enough runway to migrate, test, and launch before you're paying full price. (See the full pricing breakdown for what each tier raises.)
The short version
Export first, rebuild on a subdomain, match your slugs, map every URL to a 301, test a real checkout, and change DNS last. Do it in that order and the only variable customers ever notice is that your store got faster. The migration isn't risky — an unsequenced migration is. Sequence it and you keep your sales and your rankings.
← Back to Blog