DopaShiftGet a scoped price

Shopify migration SEO: how to move without losing rankings

The short answer

You keep rankings through a Shopify migration by mapping every old URL to its new Shopify URL with a 301 redirect, carrying titles, descriptions, alt text and structured data across unchanged, and submitting the new sitemap the day you launch. Shopify fixes the URL structure, so some paths will change and redirects are not optional. Google says a small to medium site takes a few weeks to settle, so plan to watch Search Console for at least 90 days.

Take a baseline before anything moves

You can’t tell what you lost if you never measured what you had. Before the build starts, export three things and keep them somewhere the whole team can see.

First, your top URLs. Pull the Pages report from Google Search Console for the last 12 months and export every URL with clicks or impressions. Add the landing pages report from your analytics tool. This is your list of pages that must survive.

Second, your rankings. Export your tracked keywords with current positions and landing URLs. If you don’t track rankings, the Search Console query export is enough.

Third, your crawl. Crawl the live site with any desktop crawler and save the full export: URL, status code, title, meta description, canonical, H1 and word count for every page. You’ll use this file to build the redirect map and to check that titles and descriptions came across.

Do the same for images. The old crawl should include image URLs and alt text so you can confirm they moved.

How Shopify URLs differ from your current store

Shopify fixes the folder for each content type. Products live at /products/handle, categories become collections at /collections/handle, static pages at /pages/handle and posts at /blogs/blog-handle/post-handle. You choose the handle, not the folder.

This matters because almost every other platform lets you put a product at the root or nest it under a category path. A Magento product at /mens/running-shoe.html becomes /products/running-shoe on Shopify. A WooCommerce category at /product-category/mens/ becomes /collections/mens.

Shopify’s own redirect rules also say that a URL ending in .html can’t be redirected to the same URL without .html, so .html URLs need a target with a different handle or folder, which they will almost always have anyway.

Content typeShopify pathWhat usually changes
Product/products/handleCategory folders and .html suffixes disappear
Category/collections/handleNested category paths flatten to one handle
Static page/pages/handleRoot-level pages gain the /pages/ folder
Blog post/blogs/blog/handleDate-based paths flatten

The practical rule: keep the handle identical to the old slug wherever you can. A redirect from /mens/running-shoe.html to /products/running-shoe is a folder change only, and the keyword in the slug stays.

Build the redirect map before the build, not after

Google’s site move guidance is direct about this: map your old site’s URLs to the URLs for the new site, starting with the important ones, which means the URLs in your sitemap, high-traffic pages from logs and pages with many links.

Take the crawl export and add a column for the new Shopify URL. Every product, collection, page and post gets a row. Then handle the long tail: old filter URLs, paginated category pages, old campaign landing pages and anything with backlinks. Those point to the closest relevant collection or page, not the home page.

Google’s advice is to point each redirect straight at the final destination and keep chains short, ideally no more than 3 hops and fewer than 5. Google’s crawlers follow up to 10 hops, but every hop adds delay and risk, so we aim for one.

Shopify only redirects URLs that return a 404. If you keep a product handle identical to its old root-level slug, there’s nothing to redirect because the product URL changed folders. If you are moving to Shopify from a store already on Shopify, hiding a product makes its URL return a 404, which is what lets the redirect work.

For the mechanics, limits and the things Shopify can’t redirect, see our guide to Shopify redirects.

Send us your Search Console export and we'll tell you which URLs need a redirect and which can keep their handle.

Get a scoped price

Canonicals and duplicate URLs on Shopify

Shopify can serve the same product at two addresses: /products/handle and /collections/collection-handle/products/handle. The second one appears whenever a theme links products from inside a collection. Themes output a canonical tag from the canonical_url Liquid object, and it points to the /products/ version, so Google consolidates the two.

Google describes rel="canonical" as a strong signal that the specified URL should become canonical, and a permanent redirect as a strong signal that the target should become canonical. Sitemaps are only a weak signal. So the canonical tag does the work here, and you should check it on a handful of collection-scoped product URLs after launch.

Collection filters and sorting create more duplicates. Shopify’s default robots.txt already blocks filtered collection URLs (/collections/*+*) and sorted collection URLs (/collections/*sort_by*), along with /cart/, /checkout, /account and /orders. If your old store relied on indexable filter pages for rankings, those pages won’t exist in the same form, and you’ll want a landing collection for each one that earned traffic.

You can customize robots.txt on Shopify by adding a robots.txt.liquid template to your theme. Shopify warns that incorrect use can result in loss of all traffic, so we only touch it with a specific reason.

Carry metadata and structured data across

Titles and meta descriptions don’t migrate themselves. Most migration tools bring product names and descriptions but drop the SEO title field, so a store that spent years tuning titles launches with the product name as the title.

Map the old title to Shopify’s “Page title” field and the old meta description to “Meta description” for every product, collection, page and post. Shopify’s title field accepts up to 70 characters and Shopify suggests keeping it to around 60 so it isn’t cut in results, and it recommends 160 characters for the description. Anything longer is shortened in search results, not rejected, so a long import still works.

Structured data is a theme job on Shopify. Check that the new theme outputs product structured data with price, availability and reviews where you have them, then run a few product URLs through Google’s Rich Results Test before launch and again after. If a review app supplied your star ratings before, the new review app has to output the same markup or the stars disappear from results.

Image alt text is the item most often lost. Shopify stores alt text per image, editable from the product’s media with “Edit alt text”, and Shopify’s own guidance is to use readable phrases that describe the image using keywords from the page. Your migration tool needs to write alt text into that field, not just upload the file. Check a sample of 20 products after the import.

Sitemaps, Search Console and the change of address rule

Every Shopify store generates sitemap.xml at the root of the domain automatically. It links to child sitemaps for products, collections, pages and blog posts, includes the primary product image, and updates itself when you add or remove content. You can’t edit it, and you don’t need to.

The day you launch, submit sitemap.xml in Search Console under Indexing. If you sell on more than one domain through Shopify Markets, submit a sitemap for each domain. Google says it’s normal to see warnings about redirecting URLs in the old sitemap, and that those can be ignored.

One rule people get wrong: the Change of Address tool is only for moving from one domain or subdomain to another. Google says not to use it for an http to https switch, for a www change, or for moving pages around within the same domain. If you keep your domain, which is the normal case for a replatform, you don’t use the tool. Redirects and a new sitemap are the whole job.

If your domain does change, implement the 301 from the old home page to the new one first, verify both properties in the same Google account, then run the tool. Google forwards signals for 180 days after you start the move, and it recommends maintaining the redirects for at least that long. We keep them permanently.

Private mode blocks the sitemap

While the Shopify store is in private mode behind the password page, Google can’t read the sitemap or crawl anything. Don’t submit the sitemap or run any Search Console step until the password is off.

What to watch in the first 90 days

Google’s guidance says a small to medium site takes a few weeks for most pages to move, and larger sites take longer. The pattern you want is simple: traffic on the old URLs goes down while traffic on the new URLs goes up. Here is what we check and when.

Week one, daily. The Pages report in Search Console for “Not found (404)” errors. Every new 404 is a URL you missed in the map, and you add the redirect that day. Also check the Sitemaps report shows the new sitemap as successful and watch the discovered URL count climb.

Weeks two to four, twice a week. Impressions and clicks against the baseline export, by page. Pages that drop more than their neighbors usually have a redirect pointing to the wrong place, a missing canonical, or a title that didn’t come across. Spot check the canonical tag on collection-scoped product URLs.

Months two and three, weekly. Your tracked rankings against the baseline. Compare like with like: the old URL’s position next to the new URL’s position for the same query. Confirm the Rich Results report shows product snippets for the same number of items as before.

Keep the redirect map file. Months later, someone will ask why a specific old link goes where it goes, and the file is the answer.

Frequently asked questions

Will I lose rankings when I move to Shopify?

Not if every old URL redirects to the right new URL and the page content stays equivalent. Google treats a permanent redirect as a strong signal that the new URL is the canonical one, so the signals follow it. Rankings can wobble for a few weeks while Google recrawls.

Can I keep my old URL structure on Shopify?

No. Products live under /products/, categories under /collections/, static pages under /pages/ and posts under /blogs/. You can choose the handle at the end, but the folder is fixed, so most stores need redirects for the folder change.

Do I need Google's Change of Address tool?

Only if the domain changes. Google says the tool is for moving from one domain or subdomain to another, not for path changes, www changes or an http to https switch. If you keep your domain, redirects and a new sitemap are enough.

How long should the redirects stay in place?

Google recommends keeping them for at least a year. We leave them permanently. On Shopify there is no cost to keeping them, and the limit is 100,000 redirects on standard plans.

Planning your next step?

Tell us your version and target date. You'll get a fixed price within 2 business days.

Get a scoped price