Most WooCommerce-to-Shopify migrations we audit have lost 30-50% of their organic traffic in the first three months. Not because Shopify is worse for SEO — it isn't — but because the migration was treated as a "lift and shift" rather than a proper technical project. This guide walks through the exact process we use on every migration, and the parts that go wrong when people skip them.
Start with a plan, not a wizard
Shopify has migration apps (LitExtension, Cart2Cart, Matrixify) that promise to move your store in 24 hours. They work — for moving the data. They do nothing about the SEO infrastructure, which is where the value lives if you've spent years on WooCommerce.
A proper migration plan covers:
- URL structure mapping (old → new)
- Content migration with metadata preserved
- Redirect implementation
- Schema/structured data setup
- Internal linking preservation
- Image alt text and SEO field migration
- Sitemap regeneration and resubmission
- Post-launch monitoring
Budget at least four weeks for a serious migration. Brands with 500+ SKUs or complex blog content should plan for six to eight weeks.
The pre-migration audit
Before you touch anything, you need three exports from your current WooCommerce setup:
1. URL inventory with traffic data
Export every URL on your current site from Google Search Console (Performance → Pages → Export to CSV). Cross-reference with Google Analytics 4 to identify which URLs drive measurable traffic. You'll typically find:
- 10-50 high-traffic URLs (your money pages)
- 200-500 medium-traffic URLs (long tail, but they add up)
- Thousands of zero-traffic URLs (these you can let die)
Critical: The high and medium-traffic URLs need 301 redirects. The zero-traffic URLs don't need anything — but they do need to either redirect or return a clean 410 (gone), never a 404.
2. Content & metadata export
For every product, category, blog post and CMS page, export: title, slug, meta title, meta description, image alt text, canonical URL, and any structured data (review schema, product schema). WooCommerce stores most of this in the database — use a plugin like WP All Export or directly query the database.
3. Backlink profile snapshot
Run Ahrefs or Semrush against your current domain and export your top 100 backlinked pages. These are the pages that must redirect correctly — they're driving authority into your site.
If you can only do one audit step thoroughly, do the backlink one. Losing a redirect on a page with 50 backlinks costs you far more than losing a low-traffic blog post.
Redirect mapping (the part everyone gets wrong)
This is where 70% of migrations fail. WooCommerce uses one URL pattern, Shopify uses another, and they don't map 1:1. Here's the typical translation:
| Page type | WooCommerce URL | Shopify URL |
|---|---|---|
| Product | /product/cool-tshirt/ | /products/cool-tshirt |
| Product category | /product-category/shirts/ | /collections/shirts |
| Product tag | /product-tag/summer/ | /collections/summer (or no equivalent) |
| Blog post | /2024/03/post-title/ | /blogs/news/post-title |
| CMS page | /about/ | /pages/about |
Shopify doesn't let you remove the /products/, /collections/, /blogs/news/ path prefixes. Live with it. What you can do is use redirects to ensure every old URL points to the correct new one.
Implementing redirects
Shopify has a built-in URL Redirects feature (under Online Store → Navigation → URL Redirects). For up to 100,000 redirects, this works. For larger sets, use a bulk import via CSV. The format is simple:
old_path,new_path — one line per redirect.
Key rules:
- Use 301 (permanent) not 302
- Map to the closest equivalent page, never to homepage if avoidable
- Don't chain redirects (A → B → C). Always direct (A → C)
- Keep redirects forever, not just for the first year
Content & metadata preservation
Every page you migrate needs its existing SEO data carried over. On Shopify, the relevant fields are:
- Page title (the H1) → maps from WooCommerce post title
- Description (the body content) → maps from WooCommerce content
- Meta title (Search engine listing → Page title) → maps from Yoast's
_yoast_wpseo_title - Meta description (Search engine listing → Description) → maps from Yoast's
_yoast_wpseo_metadesc - URL handle → match the new structure but keep the slug identical
For products specifically, also migrate:
- Image alt text (Shopify lets you set this per image)
- Product type → maps to Shopify's product_type
- Vendor → maps to Shopify's vendor
- Tags → maps to Shopify's tags (use for filtering)
Technical SEO setup on Shopify
Shopify's default SEO is good, not great. Here's what to configure on day one:
Schema markup
Shopify outputs basic Product schema automatically. To get review schema, breadcrumb schema, and proper Organization schema, install a schema-focused app (we use Schema Plus) or hardcode it into theme.liquid. Without this, you'll lose any rich snippets you had on WooCommerce.
Canonical tags
Shopify generates canonical tags automatically, but they can be wrong for product variants. Check your products that have multiple variants (size, colour) and ensure the canonical points to the main product URL, not a variant-specific URL with query parameters.
XML sitemap
Shopify auto-generates a sitemap at /sitemap.xml. Submit it to Google Search Console immediately after launch. Re-submit your old WooCommerce sitemap one more time (post-launch) so Google crawls the old URLs and follows your redirects.
Migration audit — free
Send us your WooCommerce URL. We'll run a pre-migration SEO audit and tell you exactly what's at risk. No commitment.
Request audit →Launch day routine
The actual switchover takes about two hours if planned. Here's the sequence:
- Freeze WooCommerce — pause all order processing, content updates, and inventory changes
- Final data sync — re-export latest orders, customers, and any content changes since your test migration
- Upload to Shopify — finalise your Shopify staging store and prepare for DNS switch
- DNS switch — update A records or CNAME to point to Shopify
- Verify redirects — test 20-50 critical URLs manually before opening to traffic
- Resubmit sitemap — Search Console, Bing Webmaster, and any other tools
- Run a crawl — use Screaming Frog to crawl the live site and confirm all redirects fire correctly
The first 30 days
Migrations always cause a temporary drop in organic traffic — Google needs to recrawl, follow redirects, and update its index. With a clean migration, you'll see traffic recovery within 4-6 weeks. With a sloppy one, you'll lose ground permanently.
Monitor these every day for the first two weeks:
- Search Console "Coverage" report — flag any new errors
- Search Console "Performance" — overall clicks and impressions
- Top 100 keywords ranking changes (use Ahrefs, Semrush or Wincher)
- Top 50 landing pages' organic traffic in GA4
- Crawl error reports
"The brands that recover fastest from migration are the ones who treat the first 30 days post-launch as actively as the four weeks pre-launch."
Mistakes we see most often
From auditing 30+ migrations gone wrong, these are the repeat offenders:
1. Redirecting everything to the homepage
Easy mistake, fatal consequences. Each unmapped product page becomes a "soft 404" that Google effectively ignores. Always map to the closest equivalent.
2. Skipping the blog
If you have a content-driven blog, those URLs probably drive 40-60% of your organic traffic. Don't treat them as optional.
3. Letting page speed regress
WooCommerce sites are often slow because of plugins. Shopify by default is faster — but if you immediately install 15 third-party apps, you'll undo that. See our Core Web Vitals guide for how to keep speed sane.
4. Not changing your robots.txt sensibly
Shopify's default robots.txt blocks /admin/, /cart/, /checkout/ and a few others. If you have specific URL paths to block (search results pages, filter parameters), customise it via robots.txt.liquid.
5. Forgetting hreflang for multi-region stores
If your WooCommerce site served multiple regions with hreflang tags, you need to recreate this on Shopify. Shopify Markets handles this if you're on Plus; on lower plans, you'll need a Markets-equivalent setup.
Planning a migration?
We do this for a living. Free 30-min call to scope your migration and identify risks before they bite.
Book a free call →