Redesigns and builds

Moving from WooCommerce to Shopify without losing search traffic

How do I move my store from WooCommerce to Shopify without losing my Google rankings?

Before the build, list every old address that had visits or links in the last year and map each to its matching Shopify page, have the redirects working the moment the domain switches, and check them daily for the first week; nobody can promise rankings, but this catches the avoidable mistakes.

In this note10 sections

What follows is how we plan and check each of those steps, from the moving platforms pack of our launch checklist, with what Shopify, WooCommerce, WordPress and Google say in their own documentation as of October 2026. The pack adds 16 checks to the core list every build runs, which the launch checklist post walks through.

We build on WooCommerce too: Hide-A-Gate is a WooCommerce store we built for homeowners and builders. So this note is not a case for leaving WooCommerce; it assumes you have already decided to move. If you have not, start with redesign, move platforms or fix what you have.

The short answer

The plan has six steps, in this order:

  1. Before the build, list every old address with visits or links in the last 12 months. Before the domain switches, take a dated baseline of your search data.
  2. Map each address to exactly one Shopify page: product to product, category to collection, a discontinued product to its closest replacement or its parent collection. Never to the home page.
  3. Carry the words across: the titles and descriptions of your top landing pages, and one H1 on every page that names the product or collection.
  4. Plan for what does not move on its own: passwords (they never move, so returning customers set new ones), reviews, gift card and store credit balances, email consent and the unsubscribe list.
  5. On launch day, have the redirects live at the switch, stop the old store taking orders, and send every other form of your address to the main one.
  6. Watch the first 30 days: broken pages every day for the first week, recrawls on day 1, day 7 and day 30, and a written rule for which drop gets investigated.

Why stores lose traffic after a move

Some movement is normal. Google’s guide to site moves says to expect rankings to fluctuate while it recrawls, and that for a medium-sized site it can take a few weeks or more before Google gradually starts showing the new addresses instead of the old ones (Google Search Central). The losses worth planning against are the ones that are not normal. Our checklist plans against three causes of them.

Every address changes shape

WooCommerce and Shopify write their addresses differently, so nearly every address except the home page changes. A product at /product/hoodie-with-logo on WooCommerce lives at /products/hoodie-with-logo on Shopify, if its slug is kept as the handle. A category at /product-category/accessories becomes a collection at /collections/accessories. Shopify’s own WooCommerce guide warns that if you keep your domain, old links to specific pages will likely stop loading unless you set up redirects (Shopify Help). Each of those addresses carries links and rankings, and each needs a redirect to its new form.

A redirect done right is not the risk. A permanent redirect tells Google to show the new address in its results (Google Search Central), and Google says permanent redirects do not lose PageRank (Google Search Central). The risk is in the redirects that are wrong or missing.

Redirects that go to the home page, or nowhere

The first mistake is an address nobody mapped. It becomes a 404 on launch day and, as our checklist puts it, “loses the links holding its rankings”.

The second is a shortcut: sending every old address to the home page. Google says that redirecting many old addresses to one irrelevant page, such as the home page, may be treated as a soft 404, a page it counts as missing (Google Search Central).

The third is quieter. Our checklist’s reason for testing every redirect: “Bulk redirect imports drop rows without warning and mistyped targets fail quietly, so breakage stays invisible until the traffic is gone.”

Titles and headings lost to theme defaults

A new theme brings its own defaults, and they replace what ranked. From the checklist: “Themes wrap the logo in an H1 and apply one boilerplate title to every page, so ranking pages lose the wording they ranked for.” Every redirect can be right and a page can still drop, because the page it lands on no longer says what the old one said.

Before the build: the list of addresses that matter

Our home page puts the principle in one line: “Redirects, URL structure and markup are planned before the switch, not repaired after it.” The plan starts with a list, made before design starts, and everything later is checked against it. Both checks below are in the search visibility and safe migration group of the checklist.

Which addresses go on it

The move pack builds the list “from a full crawl of the old site plus Search Console, analytics and a backlink tool”. Every address with organic entrances or external links in the last 12 months gets exactly one destination on the new store. Google’s guide points to similar places to find old addresses: your sitemaps, the pages with the most traffic in your analytics, and the links report in Search Console. It also says to include images and videos, which have addresses of their own (Google Search Central).

The cut-off matters. Addresses nobody visited or linked to in a year are left out, which, as the core check’s reason says, “keeps the list one that can be checked line by line”.

Discontinued products stay on the list. Each one goes to its closest replacement or its parent collection.

A dated baseline, taken while the old reports still exist

Before the domain switches, we export and date a baseline: 12 months of Search Console queries and pages, current positions for the top 50 keywords, and organic sessions for the top 100 landing pages. Access to the old Search Console property is kept after launch.

The check gives three reasons. Without a dated baseline, “a seasonal dip and a migration mistake look identical”. Search Console keeps data for the last 16 months only (Google Analytics Help), so the year before the move has to be saved while it is still there. And the old property is the only place the 404 spike shows after launch.

If the domain changes too, the check adds a Change of Address in Search Console. Google says that tool is for moving to another domain or subdomain, and is not needed when only the paths change on the same domain, which is the case when the store keeps its address (Google Search Central).

How WooCommerce addresses map to Shopify

These are the forms each platform’s documentation gives, read on 23 October 2026. Where a cell gives no Shopify address, it says why or what we suggest instead. Your store’s settings decide which WooCommerce form you have, so check yours under Settings, then Permalinks, in WordPress.

PageWooCommerce addressShopify address
Product/product/hoodie-with-logo; with the shop base, /shop/hoodie-with-logo; on plain permalinks, /?product=111/products/hoodie-with-logo
Product category/product-category/accessories/collections/accessories
Product tag/product-tag/casualno matching page; our suggestion is the closest collection
Shop page/shop/see the warning below: Shopify lists /shop among the prefixes it cannot redirect from
Blog postset by WordPress’s permalink setting: /?p=123 on Plain, /2026/10/23/post-name/ on Day and name, /post-name/ on Post name/blogs/blog-name/post-name
Policy pagea WordPress page (WooCommerce creates a Refund and Returns Policy page as a draft)/policies/refund-policy, /policies/shipping-policy, /policies/privacy-policy, /policies/terms-of-service

Sources: WooCommerce permalinks, WooCommerce pages, WordPress permalinks, Shopify’s redirect page for the product and collection forms, Shopify’s article reference for blog posts and Shopify’s policies page for policies.

Warning

Shopify’s redirect page says it cannot redirect addresses that begin with /apps, /application, /cart, /carts, /orders, /services or /shop. WooCommerce’s shop page lives at /shop/ unless it was given another slug (WooCommerce), and the shop base setting builds every product address on it, as in /shop/hoodie-with-logo. A WordPress page at /services/ falls under the same rule. If your store has addresses like these, test one of those redirects on the new store early, and decide what happens to them before the rest of the plan depends on them.

Plain permalinks need the same early test. WordPress’s plain setting gives posts and products addresses with a query string, and Shopify says redirects from addresses with query strings might not work as expected (Shopify Help).

Where you can, keep the WooCommerce slug as the Shopify handle, so hoodie-with-logo stays hoodie-with-logo. Every row of the map then follows one pattern, which makes it easier to check line by line.

Each old address points straight at its final page. Google advises against chains of redirects and says to redirect to the final destination directly (Google Search Central). So if the old store already redirects some addresses from earlier changes, those older addresses go on the map too, aimed at the new page rather than at an address that redirects again.

Shopify takes redirects one at a time or as a CSV import, and a store can hold up to 100,000 of them, or 20,000,000 on the Plus plan (Shopify Help). After an import, count the redirects in Shopify against the rows of the sheet. A short count is the dropped row from the checklist’s warning, found before launch instead of after.

Carrying the words across

The move pack carries the title tag and meta description of the top 50 organic landing pages across from the old site instead of leaving theme defaults. It confirms that each product, collection and content page has exactly one H1, holding the product or collection name, not the store logo.

Descriptions need a second pass. Shopify’s WooCommerce guide maps WooCommerce’s Description column to Shopify’s Body (HTML), so each description arrives as it was, with the links and image addresses inside it unchanged. Our check searches product descriptions, collection descriptions, blog posts, navigation and theme files for links and images on the old domain or in the old media library, and repoints them. The reason: “Imported descriptions keep pulling images from the old library, so product pages lose their images the day the old host is switched off.”

Imported products also have to be published. The same guide has you import with publishing switched off, and lists products that imported but were not published as a common error. The core list checks that every product and category meant to be live is in the sitemap, because products created by CSV import often arrive unpublished, and then “look correct in admin while being invisible to shoppers and crawlers”.

Once the store is live, our free store checkup reads one page and reports its title, its meta description, how many H1s it has and how many redirects its address takes. It is a quick look at a top landing page, not a substitute for the full list.

What does not move on its own

Shopify sets the order of the import: products first, then customers, then past orders, so each order connects to its product and its customer (Shopify Help). Shopify’s own Store Migration app is in early access, for certain stores and on desktop only, and it imports products (Shopify Help). The rest is a separate job.

Before the build, the move pack writes down which records move and which do not, with the cut-off date and the person who runs each import. The checks cover four kinds of record. Most sit in the customers and balances group of the checklist; the reviews check sits with the catalogue.

Customer passwords

Shopify says passwords cannot be migrated from another store by CSV, because they are encrypted outside Shopify. After the import, you have to invite customers to create new ones (Shopify Help). So the handover doc records what a returning customer has to do to log in, and the approved message telling them their old password does not carry over. On Shopify we also record which customer accounts version the store uses, new or classic, and confirm that every app built on accounts supports it.

Reviews

Shopify’s WooCommerce guide says reviews cannot be exported or migrated from WooCommerce to Shopify; they go in through a third-party review app (Shopify Help). We import them, reconcile the count and the average rating against the export, and confirm the stars show on product pages and collection cards. This is where the handle matters: “Reviews are matched on product handle, so a handle change during the rebuild silently drops years of ratings.”

Gift cards and store credit

Shopify’s migration table lists migration apps and its API for gift cards and store credit, and no CSV import (Shopify Help). Every unspent balance is recreated, and the number of active codes and their total value are reconciled against the export. Then one migrated gift card and one credit balance are redeemed on test orders. From the checklist: “These are debts the client already collected cash against, and a card that fails at checkout is paid out twice.”

Shopify’s customer import has a yes or no column for email marketing consent (Shopify Help). Customers go in with their consent state, and the subscribed count in the new store and in the email platform has to match the old export, because “a list imported as unsubscribed loses the email channel”. The old email platform’s unsubscribe, complaint and hard bounce list goes into the new one before any send, and one test campaign confirms those addresses are left out.

Launch day for a move

The launch runs from a written plan with a named owner for each step and a way back, outside your busiest hours and campaigns. Google gives the same timing advice for site moves: move when traffic is low, if you can (Google Search Central). Three parts of the day matter most on a move. The whole day is the launch day group of the checklist.

Redirects live at the switch

Shopify lets you create redirects before the domain moves (Shopify Help), and they start working immediately (Shopify Help). So the map is loaded in advance, and the redirects are live the moment the domain points at Shopify.

One rule shapes the testing. Shopify’s help page puts it in seven words: “You can redirect only from broken URLs.” A redirect works only where the new store has no live page at that address; if a page loads there, the redirect does nothing. Shopify even deletes a redirect from a hidden collection when that collection is made visible again.

So the test runs on the live domain, address by address, and each old address has to open, or redirect in one step, to its matching page, not to the home page. Shopify’s WooCommerce guide says to check by entering the old address in a browser, and to check the pages that were most visited on the old store. For a full list, Google points to its URL Inspection tool for single addresses and to scripts for large numbers (Google Search Central).

The old store stops taking orders

Inside the cutover window, the old store is stopped from taking new orders, and we prove it by trying to check out on the old store’s own address. The reason: “DNS propagation keeps the old store selling into an admin nobody watches.” The handover doc records who keeps admin access there, until when, and who handles refunds and returns for orders placed before launch.

The old platform stays reachable at a temporary address, with hosting paid for at least 30 days, as the way back if the switch goes wrong.

The other addresses: http, www and staging

The core check: “Every other form of the store’s address (http, www, platform or staging) redirects to the main one or is switched off.” Its reason: “When the same pages open at more than one address, Google picks one of them to show in its results, and it may not be the one you chose.” On Shopify the .myshopify.com address already redirects to your primary domain once you set one, so the forms to check are http, www and any staging copy.

Three more core checks close the day. The live store opens over HTTPS on the main address, the www address and a product page. Nothing left over from development hides it from search engines: no password page and no leftover blocking setting. And the store is verified in Google Search Console under your own account, with its sitemap submitted. Google advises verifying every variant of the old and the new site, with and without www, on http and on https (Google Search Central).

The first 30 days

The core list checks orders, failed payments and broken pages every day for the first seven days, and every issue found is fixed or reported to you by day 30.

A move is one of the cases the 30 days after pack is written for. Where it is in the scope, we recrawl the store on day 1, day 7 and day 30, check the Search Console Pages report for new Not found and Page with redirect entries, and compare the top 20 landing pages against the dated baseline. We also write down, in the project doc, the drop that triggers an investigation, for example one page down more than 30 percent for seven days running, and who watches for it once the window closes on day 30. The reason for writing it down: “Migration damage builds gradually, and with no fixed dates and no written trigger it is spotted months later.”

Day 30 is the end of the window, not of the redirects. Google says to keep them for as long as possible, generally at least a year, and from a visitor’s point of view, for good (Google Search Central).

What a move costs

With us, moves between platforms start at $2,000, against $1,500 for a redesign on the platform you already have. Our pricing page says why: “Moving the data and keeping your search rankings is the expensive part.” The size of the catalogue, connected systems and custom features move the price from there, and builds with more systems to connect start at $5,000.

Every build runs the core list of 48 checks. Which packs apply, the move pack and the 30 days after pack among them, is written into your scope and priced with it. The price is fixed before we start: 40% to start, 60% at handover. The pricing page has the figures, and redesigns and builds has how the work runs.

What nobody can promise

This is the answer we give on the redesigns page when someone asks whether they will lose search traffic, in full:

What we control is checked. The old store’s addresses that had visits or links in the last year are saved before the build, and after launch each one has to open, or redirect in one step, to its matching page, not to the home page. We check for broken pages every day for the first seven days. On a move between platforms, each of those addresses is mapped to its new page before the switch. Rankings themselves are the search engine’s decision, and nobody can promise them.

A move done this way checks for the mistakes that are ours to make. It does not skip Google’s recrawl, and it does not decide where Google ranks the new pages. If you are planning a move, the free store review is a 15-minute call, then written notes. Have your analytics open.

Where this comes from

  1. Migrate from WooCommerce, Shopify Help Center
  2. Migrate to Shopify, Shopify Help Center
  3. Creating and managing URL redirects, Shopify Help Center
  4. Importing and exporting customer lists, Shopify Help Center
  5. Adding store policies, Shopify Help Center
  6. Liquid objects: article, Shopify.dev
  7. Permalinks, WooCommerce
  8. WooCommerce Pages, WooCommerce
  9. Customize permalinks, WordPress.org
  10. How to move a site, Google Search Central
  11. Redirects and Google Search, Google Search Central
  12. [GA4] Queries report, Google Analytics Help
  13. Changing your primary domain, Shopify Help Center

Filed under Redesigns and builds. More notes on the blog.

Anthony Havrik, founder of Craftive

Want this looked at on your store?

A free 15-minute call, then written notes. Or run the free checkup on one page first.

Book a 15-minute store review