A platform move puts two things at risk, your data and your search traffic. Both are safe with a plan. The problems we see usually come from skipped steps, such as orders imported before customers or redirects added after launch.
This guide follows the order we work in.
Plan before you export
- Crawl the current site and save every live URL. Include products, categories, tags, pages and blog posts.
- Export your top landing pages from Google Search Console and analytics. Check these redirects by hand later.
- List every WooCommerce plugin and what it does. Each one needs a Shopify app, a native setting, or a decision to drop it.
- Pick a launch date outside your busiest season. Freeze product edits on the old store for the final days.
What moves
Shopify's guide sets the order. Import products first, then customers, then historical orders. Orders then link to the right products and customers.
- Products. Export them from WooCommerce as CSV, map the columns to Shopify's product template and import. Shopify's guide maps Name to Title, Description to Body (HTML), SKU to Variant SKU and Regular price to Variant Price. Weight in pounds becomes Variant Grams, multiplied by 453.6.
- Customers. Export them with the Import Export Suite plugin. Shopify's customer import has no column mapping, so the headings must match Shopify's template exactly. State and country need ISO codes. Marketing consent goes in the Accepts Email Marketing column.
- Orders. Shopify has no native CSV import for orders. Use a migration app or the API. Turn off staff new-order notifications first, or every imported order sends an email.
- Blog posts, pages and gift cards move with migration apps or the API.
What does not move cleanly
- Passwords. You cannot migrate customer passwords with a CSV. With new customer accounts, customers sign in with a 6-digit code sent by email, so they need no password. With classic accounts, invite customers to set a new password.
- Reviews. Shopify's guide says you cannot export or migrate WooCommerce reviews directly. Use a review app that imports them.
- Products with many options. Shopify allows 3 product options. Products with more lose their options on import, so restructure them first.
- Variants with a missing option. They fail to import and need to be added by hand.
- Multi-location stock. The inventory column in the product CSV only works for single-location stores. Use the inventory CSV for the rest.
- Plugin data. Custom fields, bundles, subscriptions and bookings live in plugin tables. We plan each one separately, usually as metafields or through an app.
URL structure and 301 redirects
Shopify uses fixed path prefixes. Products live under /products/, collections under /collections/, pages under /pages/ and blog posts under /blogs/. WooCommerce uses /product/ for products, /product-category/ for categories and /product-tag/ for tags by default. Pages often sit at the root. So nearly every URL changes.
Build a redirect map from your crawl, with one row per old URL and its new target. Send each product to its new product page and each category to the matching collection. Send tags to a filtered collection or the parent collection. Avoid sending everything to the home page, because visitors and search engines lose the page they wanted.
In the admin, open URL redirects and use Import to upload the map as a CSV. Shopify's sample file shows the exact column format. Browsers and search engines cache these 301 redirects, so get them right before launch.
- A redirect only works when the old path returns a 404 on Shopify. If a live page exists at that path, the redirect does nothing.
- URLs with query strings may not redirect as expected. Test them one by one.
- Stores can have up to 100,000 redirects. Plus stores can have up to 20 million.
- Set up redirects before you move the domain.
Test before launch
- Place test orders. Check payments, refunds, cancellations, fulfillment and notification emails.
- Spot-check products for price, weight, inventory and variants.
- Run your old URL list against the new store. Each one should return a 301 to the right page.
- Compare page titles and meta descriptions on your top landing pages with the old site.
Launch checklist
- Disconnect the domain from the old platform first, to avoid SSL certificate errors.
- Connect the domain to Shopify and remove the store password.
- Submit sitemap.xml to Google Search Console. Shopify generates it automatically.
- Run the old URL list again on the live domain.
- Watch Search Console for 404s and indexing changes daily for the first few weeks. Shopify notes that indexing can take days to weeks.
- Keep the WooCommerce export files and a full backup of the old site.
If you are planning a move, we are happy to help you scope it. We offer a free store review of your current site, or a free call to map out data, redirects and timing.