Don't Lose Your Rankings: SEO for Shopify Migrations
The most expensive part of a Shopify migration is usually invisible on launch day. The store looks right, orders work, and then organic traffic slides for six weeks because a few hundred URLs that used to rank now return 404s.
This is the most preventable failure in replatforming, and preventing it is mechanical work, not magic.
TL;DR: Shopify enforces fixed URL prefixes, so every product, category, and blog URL from your old platform changes. Export every URL that earns traffic, map each one to its new Shopify path, and load them as 301 redirects before cutover. Know the redirect tool's limits: no wildcards, 301s only, and it only fires on URLs that would otherwise 404. Google says ranking movement after a move is normal and to keep redirects live for at least 180 days. Some dip is expected; a crater is a mapping failure.
For the overall replatforming sequence, start with the complete migration guide. What follows here is the one step that protects the traffic you spent years earning.
Why Every URL Changes
Shopify's URL structure is fixed. Products live at /products/handle, collections at /collections/handle, pages at /pages/handle, and blog articles at /blogs/blog-name/article-handle. You cannot remove those prefixes, and you cannot keep a .html suffix from an old platform.
So a WooCommerce URL like /product-category/valves/brass-ball-valve or a Magento URL like /valves/brass-ball-valve.html has no surviving equivalent. The page exists on the new store; the address doesn't. Multiply by every product, category, filtered listing, and blog post, and the conclusion is unavoidable: a migration to Shopify is a full URL change, and Google treats it as one.
Google's site-move documentation is calm about this if you do the work: redirect every indexed URL with a 301, submit the new sitemap, and expect the transition to take "a few weeks or more" for a medium-sized site. It also gives the number people skip past: keep redirects in place for at least 180 days. Redirects are not launch-week scaffolding. They're infrastructure.
Building the Redirect Map
The map is a spreadsheet with two columns that matter: old path, new path. Building it well is a filtering exercise.
Start with a full crawl of the live old site and an export of twelve months of Google Search Console data. The crawl tells you every URL that exists; Search Console tells you which ones actually earn impressions, clicks, and backlinks. Map those first and best. A store with 40,000 historical URLs usually has a few thousand doing all the work.
Then map by pattern. Products map to /products/, categories to /collections/, articles to /blogs/. If your handles change during migration (they often do, and sometimes should), the mapping is row-by-row work; if you preserve handles, most of the map generates itself. Either way, someone must decide what happens to the URLs with no equivalent: discontinued products redirect to their category, not the homepage, and genuinely dead content is allowed to 404.
Load the map before cutover, not after. Shopify accepts bulk redirect imports via CSV, and importing in batches of about a thousand makes error-checking bearable.
What Shopify's Redirect Tool Will and Won't Do
The tool is simpler than what Magento and WordPress users are used to, and the differences are exactly where migrations go wrong.
There are no wildcards and no regex. Every redirect is one explicit path to another. If your old platform's category URLs followed a pattern, you cannot write one rule for the pattern; you write a row per URL. This is the single biggest adjustment for anyone coming from .htaccess.
Redirects only fire on URLs that would otherwise be broken. If an old path happens to resolve to a real page on the new store, the redirect for it is ignored. Only 301s are supported, which for a permanent migration is what you want anyway. And there are ceilings: 100,000 redirects on standard plans, far higher on Plus. For most stores 100,000 is plenty; for a large catalogue with years of URL history, it forces the prioritisation you should have done anyway.
A few odd corners catch people: you can't redirect a collection's tag-filtered URLs, and you can't point a redirect at the shop's root path from the admin tool. If your map needs either, plan the workaround rather than discovering it at midnight on launch day.
The Rest of the SEO Surface
Redirects are the bulk of the work, but four smaller items belong on the checklist.
Metadata doesn't ride along automatically. If your titles and descriptions live in an SEO plugin (Yoast and Rank Math store them as WordPress custom fields), they are not part of a standard product export. Export them explicitly and map them into Shopify's SEO title and description fields, or launch with auto-generated metadata on pages you spent years tuning. This is the most commonly missed step in WooCommerce moves.
Canonicals and duplicates are handled, mostly. Shopify generates canonical tags and resolves its own known duplicate pattern (the same product reachable through a collection path). Filtered collection URLs still produce crawlable near-duplicates; the default robots.txt already blocks the worst of them, and since 2021 robots.txt is editable through a Liquid template if you need more. Shopify's own warning on that template is worth quoting: incorrect use can cost you all traffic, and support won't help you fix it. Edit it like it's production code, because it is.
Structured data needs re-verifying. Modern Shopify themes ship product and breadcrumb schema, but if your old store's rich results came from a plugin, check the new store against the Rich Results test rather than assuming parity.
Sitemap on day one. Shopify auto-generates /sitemap.xml. Submit it in Search Console at cutover, and use the Change of Address tool if the domain itself is changing.
What Normal Looks Like After Cutover
Some movement is expected. Google says ranking fluctuation during a move is normal and settles; practitioner experience with clean migrations is a dip that stabilises within a few weeks and recovers over two to three months. What's not normal is a sustained crater, and the diagnosis is almost always in Search Console: a growing 404 report means the map has holes, a crawl-stats collapse means something structural (robots, DNS, canonicals) went wrong at launch.
So the post-launch routine is unglamorous: watch the 404 and coverage reports weekly, patch the map as real gaps surface, and resist the urge to delete redirects that "look old." The 180-day figure is a floor, not a target; redirects cost nothing to keep.
The whole discipline compresses to one sentence: know which URLs feed you, and make sure every one of them still resolves somewhere sensible the moment DNS flips. Everything else in migration SEO is commentary.
If your store also has a wholesale side, there's a second migration problem that search reports won't show you: moving your B2B customer base to Shopify without retyping it.
Peer Jakobsen is the founder of Mentilead. He builds Shopify B2B apps from Denmark with a focus on clean architecture and EU compliance.