Skip to content
E-SAFQA
Migrating to Shopify

Keep SEO Rankings When Migrating to Shopify: 301 Guide

Keep SEO rankings when migrating to Shopify: URL mapping, 301 redirects, canonicals, sitemap resubmission, Search Console steps and a 90-day monitoring plan.

Author: Mousa Alhelo · Published · 6 min read

Keeping SEO rankings when migrating to Shopify comes down to one thing: 301 redirects. The new platform does not drop your rankings; old URLs that became 404 errors do. The plan is to export every old URL, build a page-to-page map, import the redirects into Shopify before launch, carry over titles and descriptions, submit the new sitemap, and then watch Search Console for 90 days.

Why stores lose rankings during a migration

Google ranks pages, not stores. Every indexed product or collection page carries a history of links and signals, and when its URL changes without telling Google where it went, the page starts from zero. The recurring causes we see in stores that come to us after a failed migration:

  • Redirecting every old URL to the homepage instead of the matching page.
  • Forgetting pages that are not in the menus: old collections, blog posts, brand pages, indexed images.
  • Rewriting every page title and description on the same day the URLs changed.
  • Launching the new store with the “noindex” tag left over from development.
  • Not submitting the new sitemap and leaving Google to discover the structure on its own.

Each of these is preventable with a simple plan, which follows.

Step one: collect every URL from the old store

Before a single page is built in Shopify, we gather a complete URL list from four sources, because any one of them alone is incomplete:

Source What it gives you
Old sitemap.xml The URLs your platform considers official
Search Console performance report (last 12 months) Pages that actually get clicks, ranked by importance
Search Console indexing report Indexed pages that may not be in the sitemap
A full site crawl with a crawler Internal links, images and forgotten pages

The lists are merged into one table and sorted by clicks, so the top 100 pages get manual attention and the rest are handled by rules. We also add URLs used in active ad campaigns and social media posts, because they bring traffic even when they are not indexed.

Step two: build the URL map page by page

Shopify’s structure is fixed: /products/handle, /collections/handle, /pages/handle and /blogs/blog/handle. So every old URL has one clear counterpart:

  • Product to product: the old URL redirects to the same product’s page in Shopify. Keeping the same handle where possible makes the redirect simpler and stronger.
  • Category to collection: every old category redirects to the matching collection, even if collections were reorganised.
  • Deleted product: redirects to the closest alternative product or the parent collection, never the homepage.
  • Old filter and pagination pages (such as ?page=3): redirect to the base collection.
  • Blog posts: to the matching post in the Shopify blog.

This map is the most important document in the whole migration; in migrate Magento to Shopify and migrate WooCommerce to Shopify you will see how URL structures differ by platform.

Step three: 301 redirects in Shopify

The Shopify admin includes a URL redirects tool under the online store section, and it accepts a CSV import with two columns: the old path and the new path. What we follow when importing:

  1. Old URLs are written as relative paths (starting with /), not full domains.
  2. No redirect chains: the old URL goes straight to the final destination, never to another URL that redirects again.
  3. A sample of the top 100 URLs is tested before launch, an hour after, and a day after.
  4. Indexed image URLs are redirected where possible, because product images bring traffic from image search.
  5. Old collections that carried written content redirect to collections with similar content, not to empty ones.

Shopify adds canonical tags automatically in standard themes and generates the sitemap at /sitemap.xml without intervention, which removes two steps that were manual on other platforms.

Step four: carry over what Google sees on the page

The URL is not everything. Google evaluates a page by its title, description and content, and if all of them change on the same day as the URL, it struggles to connect old and new. So:

  • Page titles and meta descriptions are carried over as they are at first, and improved later once things settle.
  • Product descriptions and image alt text are transferred.
  • Headings (H1/H2) on collection pages with written content are preserved.
  • robots.txt and any noindex tags left from development are reviewed.

The fundamentals of titles, descriptions and structure in Shopify are in the Shopify SEO complete guide.

Step five: Search Console after launch

On switch day: verify the new store in Search Console (the same property if the domain is unchanged), submit the new sitemap, and request indexing for the top 20 pages. The change of address tool is used only when the domain itself changes; if the domain stays and only the platform changed, it is not needed.

Then monitoring begins. How to read the reports and tell a temporary wobble from a real problem is covered in Google Search Console for Shopify stores.

The 90-day monitoring schedule

Period What we watch Action
Days 1 to 7 404 errors in the pages report, redirects working, indexing Add redirects for any URL showing an error
Weeks 2 to 4 Clicks and impressions for the top 100 pages versus pre-migration Fix wrong redirects, inspect pages that dropped
Month 2 New indexed pages versus old ones Old URLs gradually drop out of the index
Month 3 Impressions and clicks stable Start new SEO improvements once stable

From our experience

In the Luliz migration from Magento to Shopify we rebuilt the URLs and 301 redirects for thousands of product pages and reconnected Merchant Center, GA4 and the Pixel, completing the move in summer 2025 with no lost products and no lost rankings. For Toolmart, more than 35,000 products moved from Magento 2 to Shopify, and organic traffic later grew by more than 1000% through ongoing SEO work in Arabic and English. The migration was not the end of SEO but its beginning, because a faster, cleaner store is easier to index.

Conclusion

Google rankings survive a store migration with a five-step plan: collect every old URL, map pages one to one, import 301 redirects into Shopify before launch, carry over titles and descriptions, then submit a new sitemap and monitor Search Console for 90 days. These steps are a fixed part of E-SAFQA’s Shopify migration service.

Send us your store link on WhatsApp and we will review your current URLs and estimate the size of the redirect map your migration needs.

Want this applied to your store?

E-SAFQA builds and runs Shopify stores and their ads. Message us on WhatsApp for a free audit.

Frequently asked questions

Will I inevitably lose Google rankings when moving to Shopify?

No. Losses happen when old URLs turn into 404 pages or are all redirected to the homepage. With page-to-page 301 redirects and titles and descriptions carried over, rankings usually stay stable after a short wobble.

What is the difference between a 301 and a 302 redirect?

A 301 tells Google the page has moved permanently, so its value passes to the new URL. A 302 means a temporary move and is not used in store migrations.

Do I need the change of address tool in Search Console?

Only if the domain itself changes. If the domain stays and only the platform changes, it is not needed; submitting the new sitemap and watching the indexing report is enough.

How long does the ranking wobble last after migration?

It varies with site size and redirect quality. In our experience things settle within weeks when redirects are complete, and monitoring continues for 90 days to be sure.

What do I do with pages that will not exist in the new store?

Redirect them with a 301 to the closest alternative: a similar product or the parent collection. Do not redirect everything to the homepage, because Google treats that like a missing page.

← Back to the blog