Short answer: Migrate without losing SEO by crawling and benchmarking the old store first, mapping every existing URL to its new equivalent with 301 redirects, preserving titles, meta descriptions and heading structure, and monitoring Search Console closely for the first eight weeks. Traffic loss almost always comes from unmapped URLs, not from the platform change itself.
Why Migrations Lose Traffic
The platform you move to has very little to do with whether rankings survive. What matters is whether every URL that currently earns traffic still resolves to the right page afterwards.
Both platforms impose their own URL patterns, and those patterns do not match. Unless you deliberately reconcile them, every ranking product page becomes a 404 on launch day. Search engines drop those pages, the backlinks pointing at them stop passing value, and recovery takes months.
The URL Structure Problem
This is the core technical issue, and understanding it shapes the entire project.
| Page type | Shopify | WooCommerce (default) |
|---|---|---|
| Product | /products/product-name | /product/product-name |
| Category | /collections/collection-name | /product-category/category-name |
| Product in category | /collections/name/products/product-name | Not generated by default |
| Shop index | /collections/all | /shop |
| Blog post | /blogs/news/post-name | /blog/post-name or dated |
| Static page | /pages/about | /about |
The asymmetry that decides your approach
Shopify enforces its URL structure. Products must sit under /products/, collections under /collections/. You cannot change this. So migrating WooCommerce to Shopify guarantees that every product URL changes, and a complete redirect map is mandatory.
WooCommerce lets you choose. Permalink settings allow you to set the product base to products and the category base to collections. If you are moving Shopify to WooCommerce, matching the old structure means most product and category URLs stay identical, and you eliminate the largest source of migration risk before it exists.
This single decision is worth making deliberately rather than accepting defaults. Fewer changed URLs means fewer redirects, fewer chances to make a mistake, and less reliance on redirects surviving future maintenance.
Phase 1: Benchmark Before You Touch Anything
You cannot tell whether a migration went well without a record of where you started.
- Crawl the entire existing site with a tool such as Screaming Frog and export every URL, title, meta description, H1 and status code.
- Export your top pages from Search Console covering at least the last 12 months, ranked by clicks and impressions, so you know which URLs actually matter.
- Export your backlink profile and note which specific pages hold the most links. These are the URLs where a broken redirect is most expensive.
- Record baseline metrics: organic sessions, revenue, indexed page count, and average position for your main keywords.
- Save a copy of your XML sitemap, which gives you a clean list of everything the old platform considered indexable.
Keep all of this. Post-launch troubleshooting is guesswork without it.
Phase 2: Build the Redirect Map
This is the deliverable that determines whether the migration succeeds. It is a spreadsheet with two columns: every old URL, and the single new URL it should point to.
- Include every indexed URL, not just products — collections, blog posts, static pages, tag and filter pages that earned traffic
- Map to the closest equivalent page. Redirecting everything to the homepage is treated as a soft 404 and passes almost nothing
- If a product no longer exists, redirect to its category or a close alternative, not to a dead page
- Use 301 permanent redirects, never 302 temporary ones
- Avoid redirect chains where A points to B which points to C, since each hop dilutes value and slows crawling
- Handle Shopify’s duplicate product paths — the same product is reachable under
/products/and/collections/name/products/, and both need mapping
Where the redirects live
| Direction | Redirect method |
|---|---|
| Shopify to WooCommerce | Server-level rules in .htaccess or Nginx config, or a redirect plugin for smaller sets |
| WooCommerce to Shopify | Shopify’s URL Redirects tool, which supports bulk CSV import |
Server-level redirects are faster and more reliable than plugin-based ones at scale. For a few hundred URLs a plugin is fine; for thousands, put them in the server configuration.
Phase 3: Preserve On-Page Signals
Redirects protect the URL. These protect the ranking once the visitor arrives.
- Title tags and meta descriptions carried across per page, not regenerated from a template
- H1 and heading hierarchy matching the old pages, since headings carry real weight on product and category pages
- Full product descriptions, not truncated ones. Thin content is a common and avoidable cause of ranking loss
- Image alt text, which is frequently dropped by automated migration tools
- Structured data for products, including price, availability and reviews
- Customer reviews, which are indexable content and often the hardest thing to move
- Canonical tags pointing to the correct primary version of each page
Phase 4: Pre-Launch Checks
- Confirm the staging site is blocked from indexing, then confirm you have removed that block before going live. Launching a store with
noindexstill applied is a genuinely common and severe mistake. - Test a sample of redirects on staging, including your highest-traffic and most-linked URLs.
- Verify the new XML sitemap generates correctly and contains only live, indexable URLs.
- Check
robots.txtis not blocking anything important. - Update internal links to point at the new URLs directly rather than relying on redirects.
- Confirm analytics and conversion tracking fire correctly on the new checkout.
Phase 5: Launch and the First Eight Weeks
- Day one: crawl the live site immediately and check for 404s, redirect chains and broken internal links
- Day one: submit the new sitemap in Search Console and request indexing for your most important pages
- Week one: monitor the Coverage and Pages reports daily for crawl errors and unexpected exclusions
- Weeks two to four: expect some ranking fluctuation. This is normal while search engines reprocess the site
- Weeks four to eight: compare organic traffic and rankings against your benchmark. Persistent gaps point to specific unmapped URLs, so investigate rather than wait
- Keep redirects in place permanently. Removing them after a few months undoes the work
The Mistakes That Cause Real Damage
| Mistake | Consequence |
|---|---|
| Launching without a redirect map | Every ranking URL becomes a 404 |
| Redirecting everything to the homepage | Treated as soft 404s, little value passed |
Leaving noindex on at launch | Entire site drops out of search results |
| Using 302 instead of 301 | Signals a temporary move, ranking value not consolidated |
| Shortening product descriptions | Thin content, weaker relevance signals |
| Forgetting blog and static pages | Loses informational traffic and internal link equity |
| Removing redirects after a few months | Backlink value lost, previously fixed 404s return |
Frequently Asked Questions
Will migrating from Shopify to WooCommerce hurt my SEO?
Not if URLs are handled properly. Traffic loss comes from unmapped URLs rather than the platform change itself. WooCommerce lets you configure permalinks, so you can set the product base to products and the category base to collections to match Shopify’s structure, which keeps most URLs identical and removes the largest source of risk.
How long does it take to recover rankings after an ecommerce migration?
With a complete redirect map and preserved on-page content, most sites see fluctuation for two to four weeks and return to baseline within four to eight weeks. Migrations with missing or incorrect redirects take considerably longer and often never fully recover without remedial work.
Do I need to redirect every single URL?
Every URL that is indexed, earns traffic, or has backlinks pointing to it. That includes products, categories, blog posts and static pages. URLs that were never indexed and have no links can be left, but the safe default is to map everything you find in a crawl of the old site.
Should I use 301 or 302 redirects for a store migration?
Always 301 permanent redirects. A 302 signals a temporary move, so search engines may keep the old URL indexed and delay consolidating ranking signals onto the new page. Keep 301s in place permanently rather than removing them after a few months.
Can I keep my URLs the same when migrating to Shopify?
Only partially. Shopify enforces its own structure, requiring products under /products/ and collections under /collections/, and this cannot be changed. Migrating to Shopify therefore always changes product and category URLs, making a complete redirect map mandatory rather than optional.
Planning a store migration and want the SEO handled properly? We provide vetted in-house developers, a fixed quote within 24 hours, and a 30-day bug-fix warranty. Get a free quote →