Shopify migration checklist: 40 things to check before and after launch
The short answer
A Shopify migration goes wrong in the details: a missed redirect, a lost alt text field, a tax rate nobody set, a pixel firing twice. This checklist covers 40 items across data, theme and apps, SEO, tracking, payments and tax, launch day and the first 90 days. Work through it in order, and don't take the password page off until every item in the first seven groups is done.
This is the list we run on every migration. It is grouped by phase, and the numbers run straight through so you can refer to an item by number in your project tracker. Where a Shopify limit or rule applies, we’ve written it in.
Before you start
-
Export your top URLs from Google Search Console and your analytics landing page report for the last 12 months, because this is the list of pages that must survive.
-
Crawl the whole live site and keep the export, with status code, title, meta description, canonical, H1 and image alt text for every URL.
-
Record current rankings for your tracked keywords with the URL that ranks, so you can compare like with like after launch.
-
List every extension, plugin and integration on the old store with what it does and who uses it, and mark each one as replace, drop or rebuild.
-
Decide the Shopify plan now, because the redirect limit, the Plus fee basis and the apps you can use all depend on it.
-
Choose a launch date on a quiet weekday and work back from it, leaving at least a week for testing with real data on a password-protected store.
Data
-
Clean the product catalog before export, removing discontinued products, duplicate SKUs and test entries, because every bad row costs time twice.
-
Check that no product needs more than three options or more than 2,048 variants, which are Shopify’s limits, and plan a split or a bundle app for any that do.
-
Map every product attribute to a Shopify field or metafield before the import, so sizing charts, materials and specifications don’t vanish into the description.
-
Keep product CSV imports under Shopify’s 15 MB file limit and split larger catalogs into several files.
-
Migrate customers with their addresses, tags and marketing consent, and plan the message that tells them to set a new password, since passwords can’t be moved.
-
Import historical orders as reference records and confirm a sample of ten against the old store for totals, tax and line items.
-
Rebuild categories as collections and decide for each whether it’s manual or automated, because automated collections need the right tags and product types to exist first.
-
Migrate blog posts and static pages with their publish dates, featured images and authors, and check internal links inside the content still point somewhere real.
Theme and apps
-
Pick the theme before you migrate data, because the theme decides which metafields and image sizes you need.
-
Rebuild the features that extensions provided with Shopify-native settings first and apps second, and only accept an app when the native option can’t do the job.
-
Install and configure every replacement app on the password-protected store, then test it with migrated data, not sample data.
-
Confirm every app that writes to the storefront outputs valid HTML and doesn’t duplicate structured data the theme already provides.
-
Test checkout end to end with a real card and a refund, including discount codes, shipping rates and the order confirmation email.
-
Check the theme on a phone with a slow connection, since most of your traffic arrives that way.
Want this list run by people who've done it before? We scope every migration against it.
Get a scoped priceSEO
-
Build the redirect map from the crawl export, one row per old URL, with every destination resolved to its final URL so no chain forms.
-
Keep product and collection handles identical to the old slugs wherever Shopify allows it, so most redirects are only a folder change.
-
Import the redirect CSV in batches and spot check twenty rows by loading the old URL on the password-protected store, remembering that Shopify only redirects URLs that return a 404.
-
Confirm that reserved paths and query string URLs on your old store have been given a sensible destination, since Shopify can’t redirect paths such as /cart or /collections/all and says query strings might not work as expected.
-
Carry SEO titles and meta descriptions into Shopify’s page title and meta description fields, which accept up to 70 and about 160 characters respectively.
-
Write alt text into every migrated image, and check a sample of twenty products, because alt text is the field migration tools most often drop.
-
Check the canonical tag on a collection-scoped product URL points to the /products/ version.
-
Validate product structured data on five products with Google’s Rich Results Test and make sure review ratings still appear.
-
Leave Shopify’s default robots.txt alone unless you have a documented reason to add a robots.txt.liquid template.
Tracking and analytics
-
Set up Google Analytics 4 and your ad pixels through Shopify’s channels or customer events, and confirm each event fires exactly once on product view, add to cart, checkout and purchase.
-
Place a test order and check it appears in GA4, in your ad platforms and in your email tool with the right revenue, before launch day.
-
Verify the Shopify store in Google Search Console and Bing Webmaster Tools under the same account that owns the old property.
-
Add the new store to your rank tracker and uptime monitor on launch day so the first week is covered.
Payments and tax
-
Activate Shopify Payments or your chosen gateway, complete the identity checks early because they can take days, and set the payout schedule.
-
Set up tax collection for every state where you have nexus, and note that Shopify Tax is free until $100,000 USD in sales in a calendar year for stores created before May 13, 2026, with a fee above that.
-
Recreate shipping zones, rates and any free shipping thresholds, then test a cart at each threshold.
-
Move active gift cards and store credit balances across and test one of each at checkout.
Launch day
-
Point the domain at Shopify, turn off private mode, and then load the home page, a product, a collection, a blog post and a redirected old URL from a phone on cellular data.
-
Submit sitemap.xml in Search Console, since Shopify generates it automatically and it can’t be read while private mode is on.
-
Watch orders, 404s and the checkout for the first four hours with your developer available, and keep the old store reachable but not indexable in case you need to look something up.
First 90 days
Launch day is item 40, but the work continues. Check Search Console’s Pages report for new 404s daily in week one and add a redirect for each the same day. Compare impressions and clicks by page against your baseline twice a week through week four, then weekly.
Google says a small to medium site takes a few weeks for most pages to move, so hold off on judging the migration until the fourth week. Keep the redirects for at least a year as Google recommends, which on Shopify means forever since they cost nothing.
Don't delete the old store yet
Keep the old platform’s database and media backup for at least 90 days. When a customer asks about an order from two years ago, or a redirect turns out to be wrong, the backup is the fastest answer.
At the 90 day mark, review three things: organic traffic against the baseline by page, conversion rate against the old store for the same period a year ago, and the app bill against the extension bill you had before. That review tells you whether the migration did its job and what to tune next.
Frequently asked questions
How long before launch should I start this checklist?
The first two groups start before any build work, because the baseline and the data audit shape everything else. Most stores spend 6 to 12 weeks on a migration, and the checklist runs across the whole period, not just launch week.
Can I migrate orders and customers to Shopify?
Customers migrate with their details, addresses and tags, but passwords can't move, so customers set a new one on first login. Orders can be imported as historical records for reference.
What's the most common thing stores miss?
Redirects for the long tail, and SEO fields. Product names and descriptions always come across. SEO titles, meta descriptions and image alt text are the fields that get dropped, and nobody notices until rankings slip.
Should I launch on a weekend?
Launch on a quiet weekday morning in your time zone, when your team, your developer and Shopify support are all available. You want the first hours of real traffic to happen while people are watching.