Short answer: Migrate a website without losing SEO by crawling and benchmarking the old site first, mapping every URL that has traffic or links to its closest new equivalent, and setting up page-to-page 301 redirects before launch. Carry over titles, content, structured data and internal links, test everything on staging, then watch Search Console, 404s and rankings by template for at least three months.
Key takeaways
- Most lost traffic after a migration comes from a handful of avoidable causes: missing or lazy redirects, thinner content, changed titles and broken internal links.
- Benchmark before you touch anything. Without a crawl, a Search Console export and a list of ranking pages, you cannot tell a normal dip from real damage.
- The URL map is the heart of the project. Every old URL with clicks, links or sales gets a one-to-one 301 redirect to its closest match, never a blanket redirect to the homepage.
- Shopify fixes its URL prefixes (/products/, /collections/, /pages/, /blogs/), so almost every replatforming to Shopify changes URLs and needs a full redirect import.
- A temporary dip of a few weeks is normal. A drop that keeps growing after a month usually points to a specific template or redirect problem you can find and fix.
A website migration is any change big enough that Google has to relearn your site: a new domain, a new platform, a new URL structure, a redesign that rewrites templates, or several at once. Replatforming from Salesforce Commerce Cloud (formerly Demandware), WooCommerce or Magento to Shopify usually hits three of those in one go.
Search engines handle migrations well when the signals are clear. The rankings you lose are mostly the ones you give away by accident. This is the plan we follow, in order, with the Shopify parts called out.
What should you do before a website migration?
Before anything moves, record exactly what the current site has and what it earns from search. That means a full crawl, a Search Console export, a backlink list and a ranking snapshot, saved somewhere nobody will overwrite.
This is the step most often skipped. After launch the old site is gone, and if a category quietly loses its copy, the only way to notice is to compare against a record of what was there.
What to collect
- A full crawl of the old site. Every URL with its status code, title tag, meta description, H1, canonical, word count and internal links. Any desktop crawler will do this. Save the export.
- Search Console data for the last 12 to 16 months. Clicks, impressions and position by page and by query. Export it, because the old property's history becomes harder to use once URLs change.
- Analytics landing page data. Organic sessions, conversions and revenue by landing page, so you know which URLs make money, not just which get visits.
- Backlinks by target URL. Pages with links from other sites need redirects even if they get no traffic today, because the links are part of why the rest of the site ranks.
- XML sitemaps and any old URL lists. These catch pages a crawl misses, such as products only reachable through search or filters.
- A ranking snapshot. Positions for your most important queries, grouped by page type: home, categories, products, blog, information pages.
Find the pages that carry the site
Organic traffic is rarely spread evenly. Sort the Search Console page export by clicks and you will usually find a small share of URLs bringing most of the visits.
The site
A store moving to Shopify has 3,000 URLs in its crawl. Search Console shows 900 of them received at least one click in the last year.
The concentration
60 URLs, mostly category pages and a few guides, bring around two thirds of organic clicks. Another 150 URLs have backlinks from other sites.
What it means
Those 200 or so URLs become the priority list. Each gets a hand-checked redirect, a content comparison and a place on the post-launch watchlist.
The rest
The remaining URLs still get redirects, but in bulk by pattern, with spot checks rather than one by one.
The common mistake is benchmarking only the homepage and a few head terms. Migrations rarely break the homepage. They break a template, such as every product page or every blog post, so your benchmark needs to show performance by page type.
If you have never looked at your site this way, it is close to what a good audit covers. Our guide on what an SEO audit is and what it should check explains the crawl and Search Console side in more detail.
How do you map old URLs to new ones?
Build a spreadsheet with one row per old URL and a column for its new URL, then fill it so every old page points to the closest equivalent on the new site. Match like for like: product to product, category to category, article to article.
The URL map is the single most important document in a migration. Redirects, content checks and post-launch monitoring all run off it.
How URL structures change when you move to Shopify
Shopify uses fixed prefixes for each type of page. You choose the handle after the prefix, but not the prefix itself, and there are no nested category folders. That is why moving to Shopify nearly always changes URLs, even when you keep the same slugs.
| Page type | Typical old pattern (varies by setup) | Shopify pattern |
|---|---|---|
| Product | WooCommerce: /product/linen-shirt/. Magento: /linen-shirt.html. Salesforce Commerce Cloud: often a slug with a product ID, such as /linen-shirt/12345.html, sometimes under a locale folder. |
/products/linen-shirt |
| Category | WooCommerce: /product-category/mens/shirts/. Magento: /mens/shirts.html. Salesforce Commerce Cloud: nested folders like /mens/shirts/. |
/collections/mens-shirts (flat, one level) |
| Information page |
/about-us/, /shipping.html
|
/pages/about-us |
| Blog article | /blog/2023/05/how-to-wash-linen/ |
/blogs/news/how-to-wash-linen (the middle part is the blog's handle) |
| Filtered or sorted views | Parameters such as ?size=m or layered filter paths |
Shopify filter parameters, usually not worth redirecting one by one |
How to fill the map quickly
Start with pattern matching, then fix the exceptions by hand.
- Products: export old products with their URL and SKU, export the new Shopify products with handle and SKU, and join the two on SKU. This matches most products in minutes, even when slugs changed.
- Categories: map these by hand. There are usually few enough, and they carry the most valuable rankings. Flattening nested categories means deciding which Shopify collection each old folder becomes.
- Blog and information pages: match on slug or title, then check the leftovers manually.
- Retired pages: for discontinued products or merged categories, point to the closest relevant page, usually the parent collection or a replacement product.
Keep the slugs where you can. If the old product was linen-shirt, make the Shopify handle linen-shirt as well. It makes the map easier to check and keeps your URLs recognisable.
What to do with pages that have no equivalent
Not every old URL deserves a new home. A page with no traffic, no links and no relevant replacement can return a 404 or 410. That is a legitimate choice, and Google treats it as such.
What you should not do is redirect everything without a match to the homepage. Google tends to treat irrelevant redirects like that as soft 404s, so you lose the page's value anyway and confuse users on top.
/products/handle.That last row catches many sites that have migrated before. If the old platform already had redirects from an earlier relaunch, add those source URLs to the map too and point them directly at the new pages.
How do you set up 301 redirects on Shopify?
Use Shopify's built-in URL redirects tool and import the map as a CSV with two columns, "Redirect from" and "Redirect to". Shopify serves these as permanent 301 redirects, which pass ranking signals to the new URLs.
The redirects section has moved within the admin over the years, between the Online Store and Content menus. Searching the admin for "URL redirects" is the quickest way to find it. From there you can add redirects one at a time, or import and export them in bulk.
How Shopify redirects behave
-
Use paths, not full old URLs, in the "from" column. For example
/product/linen-shirt/, not the full address with the old domain. The domain is handled when you connect it to Shopify. - A redirect only fires when nothing exists at that path. If a live product, collection or page sits at the old URL, Shopify shows the page and ignores the redirect. This rarely clashes, but it explains why a redirect occasionally seems not to work.
- Test URLs that rely on query parameters. Old platforms that put product IDs in parameters can produce source URLs that do not match the way you expect. Check a sample after import rather than assuming.
- Handle changes after launch. When you edit a product, collection or page handle in the admin, Shopify offers a box to create a redirect from the old URL. Leave it ticked. If you change handles in bulk through an import or an app, check that redirects were created, because not every route does it for you.
- Domains. Once your domain points to Shopify, set the primary domain. Shopify redirects other connected domains, such as the non-www version, to it.
Moving the domain as well
If the migration also changes domain, the old domain needs to keep serving redirects to the matching new URLs. Keep it registered and pointed at a server or service that does this, and use the Change of Address tool in Search Console once the redirects are live. Google's own guidance is to keep redirects in place for at least a year. In practice we keep them indefinitely, because old links keep sending visitors for years.
Import the full redirect CSV to Shopify before the domain switch and test a sample on the store's preview address. Redirects added days after launch mean Google has already crawled a wave of 404s, and some of those pages drop out of the index before the fix arrives.
Migrations with thousands of URLs, several old platforms or a domain change on top are where most of the risk sits. If you would rather have someone own that part, this is the core of our Shopify SEO services for stores moving platform.
Technical SEO services for site migrations
We build the URL map, write and test the redirects, check staging against the old site and watch Search Console after launch. You get a clear list of what could go wrong before it does, and honest advice on what is safe to leave.
See our technical SEO servicesWhat else needs to carry over besides URLs?
Everything that made the old pages rank: title tags and meta descriptions, the main copy, headings, structured data, image alt text, internal links and indexing rules. Redirects pass signals to the new page, but the new page still has to deserve its position.
Titles and meta descriptions
Migrate them as data, not by hand. Most replatforming tools and import apps can carry over SEO titles and descriptions for products, collections and pages, but check a sample, because they often fall back to the product name. In Shopify these live in each item's search engine listing section.
Copy and headings
Category copy is the content most often lost. Old platforms sometimes stored it in a separate content block or a CMS field that the import tool does not pick up. Compare word counts for your priority pages between the old crawl and the new store. If a category had 400 words and the new collection has 40, the migration has removed the reason it ranked.
Structured data
Check that the new theme outputs Product markup with a correct Offer (price, currency, availability), that breadcrumbs are marked up if they were before, and that review markup only appears where reviews are visible. Product reviews are content too: import them into the new review app so pages do not launch empty.
Internal links
Links inside blog posts, page copy and menus often still point to old URLs after import. They will redirect, but every internal link should point straight at the new URL. Search the imported content for the old domain and old path patterns, and update them in bulk.
Images and indexing rules
Image URLs change when files move to Shopify's CDN, so keep file names and alt text if image search matters to you. Also check that pages the old site kept out of the index, such as internal search results, stay out.
Once the store is live, the usual Shopify housekeeping applies, such as duplicate collection paths and app bloat. We cover those separately in our guide on how to improve SEO on Shopify, so this post sticks to the move itself.
What should you check on staging and on launch day?
On staging, crawl the new site and compare it against the old benchmark, page type by page type. On launch day, switch the domain, test the redirects live, submit the new sitemap and confirm Google can crawl the site.
Staging checks
Keep the staging site out of Google. On Shopify, the password page does this before launch. On other staging servers, use password protection rather than relying on a noindex tag, which is easy to forget to remove.
Then compare, using the old crawl as the baseline:
- Do your priority pages exist, with the same or better titles, headings and copy?
- Do internal links point to final URLs, with no redirects or 404s inside the site?
- Do canonical tags point to the page itself, not to staging or the old domain?
- Is the structured data valid on one product, one collection and one article?
- Are page speed and mobile rendering at least as good as before on product and collection templates?
The launch day checklist
On timing: launch early in the week, outside your busiest season, when the people who built the site are available to fix problems. A Friday night launch before a sale is how small redirect mistakes become expensive.
What should you monitor after launch, and how big is the dip?
Watch Search Console, 404s and rankings by page template daily for the first two weeks, then weekly for at least three months. Expect some movement: a temporary dip of a few weeks is normal even on a well-run migration.
What to watch
- Pages report in Search Console. Look for "Not found (404)" growing, "Page with redirect" rising as Google processes the old URLs (that one is expected), and new pages moving into the indexed count.
- 404s in the crawl and in analytics. Any 404 with traffic or backlinks needs a redirect. Shopify's redirect list can be updated at any time, so fix these as you find them.
- Clicks and positions by template. Group pages into products, collections, articles and information pages, and compare each group with the benchmark. A drop confined to one group points to that template.
- The priority list. Check the 50 to 200 URLs that carried the old site individually. These are where a problem costs the most.
What a normal dip looks like
When URLs change, Google has to crawl the old URLs, follow the redirects, process the new pages and move signals across. That does not happen overnight, and positions often wobble while it does.
Before launch
A store averages 10,000 organic clicks a month, steady for the previous quarter.
First weeks
Clicks run at a rate of around 8,500 a month while Google recrawls. Products recover first, because they redirect one to one.
Warning sign
Collections keep falling after week four while products recover. The cause is almost always template-level: missing copy, a changed title format or broken redirects for one URL pattern.
Typical outcome
Once the problem pattern is fixed, the site usually returns to its old level within weeks to a few months, and sometimes beats it if the new site is faster and cleaner.
The numbers are illustrative, but the shape is typical. Depth and length depend on site size, how much changed at once and how often Google crawls you.
The honest trade-offs
Changing everything at once (platform, domain, URL structure, design and content) saves project time but makes problems hard to diagnose, because any of five changes could explain a drop. If you can, keep the domain, keep slugs and keep content roughly the same at launch, then improve copy and structure afterwards, when you can measure each change.
The other trade-off is effort. A careful URL map and staging comparison on a large store is real work, often several days of it. Skipping it tends to cost more later, in recovery time and lost sales. For multi-market or multi-platform moves, ecommerce SEO services that cover migration planning are usually worth the cost. If you only need an independent check of an existing plan, a pre-launch review through our SEO audit services is a lighter option.
Frequently asked questions
Not if the move is handled carefully. Shopify is a sound platform for SEO, and stores that migrate with a full redirect map and the same or better content usually recover within weeks to a few months. Most lasting losses come from missing redirects or thinner pages, not from the platform.
Google recommends at least a year. We keep them indefinitely, because backlinks, bookmarks and old emails keep sending visitors to old URLs long after Google has updated its index. On Shopify they cost nothing to keep.
Only partly. You can keep the slug, such as linen-shirt, but Shopify adds fixed prefixes like /products/ and /collections/ and does not support nested category folders. So the full URL almost always changes, and redirects are needed either way.
For SEO purposes, often yes. Even with unchanged URLs, a redesign can change headings, copy, internal links, structured data and speed across every template. Benchmark and compare on staging just as you would for a platform move.
Customers and orders do not affect rankings, but reviews do matter, because they are visible content and can feed review markup. Export them from the old platform and import them into your new review app before launch, so product pages keep their reviews from day one.
Use an app or import tool for products, customers and content, because doing that by hand is slow and error prone. Do the SEO checks yourself: the URL map, titles, category copy and redirect testing are where tools tend to cut corners.
What to do next
The safest migrations are planned weeks before launch, starting with a record of what the current site earns from search.
- Export 16 months of page and query data from Search Console and crawl the current site this week, before anything changes.
- Build the URL map in a spreadsheet, starting with the pages that bring most clicks and the ones with backlinks.
- If you want a second pair of eyes on your plan or a migration that has already lost traffic, ask for a free written SEO audit. We send it within 48 hours, with the risks and fixes in priority order.