Why migrations tank traffic (and why the platform is rarely the culprit)
When a store loses rankings after moving to Shopify, the instinct is to blame Shopify. In practice, the platform is almost never the problem. The problem is that URLs changed, redirects were missing or wrong, and the signals search engines had already learned about each page were quietly dropped in the move. Search engines have spent months or years associating specific URLs with specific topics, links, and rankings. Break that association without a clean handoff, and you are effectively launching a brand-new site that happens to sell the same products.
The good news is that this is preventable. A migration that keeps its URL map intact, ships redirects on day one, and carries over on-page signals tends to recover quickly, if it dips at all. Treat the move as a data-preservation project first and a design project second.
Build a complete URL inventory before you touch anything
Your first deliverable is a spreadsheet of every URL your current site exposes. Not the ones you remember, all of them. Pull from three places and reconcile them: your XML sitemap, a full crawl of the live site, and your analytics and Search Console data for pages that receive impressions or clicks. The crawl finds pages your sitemap forgot; the search data tells you which pages are worth protecting.
Once you have the list, tag each URL by type and by value. Type means product, collection or category, blog post, informational page, or filtered or parameterized variant. Value means: does this page earn organic traffic, does it hold backlinks, does it convert? A product page with earned links and steady search traffic deserves a hand-checked redirect. A parameter-noise URL that never ranked can often collapse into its parent. This triage is what keeps the project finishable.
Understand Shopify’s URL structure so you plan around it
Shopify does not let you invent arbitrary URL paths the way some platforms do. Products live under a /products/ path, collections under /collections/, and blog content under /blogs/. You control the final slug, but not the prefix. This matters because it means many of your old paths cannot be reproduced exactly, so redirects are not optional cleanup, they are the mechanism that carries authority from the old shape to the new one.
Decide your slug conventions before you import. Keep slugs short, descriptive, and stable. Where your old slug already reads well, reuse the meaningful part of it so the new URL stays recognizable to both users and crawlers. Resist the urge to restructure your entire taxonomy at the same time as the platform move; changing structure and platform together doubles the risk and makes it far harder to diagnose what went wrong if traffic slips.
Map old URLs to new ones, then set 301 redirects
This is the core of the whole project. Every URL in your inventory that will change needs a one-to-one mapping to its new Shopify equivalent, and every mapping needs a 301 (permanent) redirect. A 301 tells search engines the page moved for good and passes the accumulated signal to the destination. Temporary redirects or, worse, soft 404s and dead links throw that signal away.
A few rules keep redirects healthy:
- Redirect to the closest real match. Send an old product URL to its new product URL, not to the homepage or a generic collection. Mass-redirecting everything to the homepage is treated as a soft 404 and wastes the equity you are trying to preserve.
- Avoid chains. If an old URL once redirected to a second URL, point the new redirect straight at the final destination. Chains dilute signal and slow crawlers.
- Handle retired products deliberately. For a discontinued item with no successor, redirect to the most relevant collection rather than letting it 404. For a whole discontinued line, a relevant category is usually the right target.
Shopify supports URL redirects natively, and for a large catalog you will want to import them in bulk rather than one at a time. Whatever the count, the redirects must be live the moment the new store goes public, not added a week later once someone notices the traffic drop.
Carry over the on-page signals, not just the URLs
Redirects protect the address; they do not protect what lived at that address. Migrate the on-page elements page for page:
- Title tags and meta descriptions. These are often the biggest silent loss, because many themes and importers overwrite them with generic defaults. Export your existing titles and descriptions and reapply them.
- Headings. Preserve the H1 and the heading hierarchy that framed the page’s topic.
- Body content. Move the full product descriptions, buying guides, and category copy. Thin or truncated content after migration is a common, self-inflicted ranking hit.
- Image alt text and filenames. These feed image search and accessibility; re-uploading images without alt text discards both.
- Structured data. Reinstate product schema, breadcrumbs, and any review markup so rich results keep rendering.
Internal links deserve their own pass. Update navigation, collection links, and in-content links to point at the new URLs directly rather than bouncing through redirects. Internal links are how you tell search engines which pages matter most, and a store full of internal redirects looks messier than one that links cleanly.
Launch, then verify like you expect something to be broken
Assume the migration introduced at least one problem, because it usually does. Immediately after launch, crawl the entire new store and check for: URLs returning anything other than 200 that should be live, redirects that resolve to 404s, redirect chains, orphaned pages with no internal links pointing to them, and duplicate content served under multiple URLs. Confirm your canonical tags point to the preferred version of each page, and that filtered or sorted collection URLs are not spawning thin duplicates.
Then submit your updated XML sitemap in Search Console and watch coverage and indexing over the following weeks. Keep an eye on which URLs are being indexed and which are throwing errors. A short dip as search engines reprocess the new structure is expected and not a cause for panic. What you are watching for is the opposite pattern: pages dropping out and not coming back, or errors climbing instead of clearing.
Give it time, but keep watching the right numbers
Recovery is rarely instant. Search engines have to recrawl, follow your redirects, and re-associate signals with the new URLs, and that plays out over weeks rather than hours. During this window, resist the temptation to keep changing URLs or redirects reactively, since churn only resets the clock. Instead, monitor organic sessions, indexed page counts, and crawl errors, and act only on clear regressions such as a high-value page that lost its redirect or a template that stripped titles. Handled this way, a Shopify migration is a controlled handoff, not a gamble with your traffic.