An ecommerce migration is the technical operation that fails most often in SEO. Real statistic: 50% to 70% of poorly prepared migrations lose 30% to 80% of their organic traffic in the first year. The best teams come out of it with stable traffic or slight growth.
The difference is neither technical skill nor luck — it is preparation. Here is the complete method to migrate a catalog of 10,000 products without breaking your SEO.
Google Search Console: Performance → URL. Export the last 16 months.
Current XML sitemap: parse all URLs
Full crawl with Screaming Frog
Incoming backlinks: via Ahrefs, Semrush, Majestic. URLs targeted by external backlinks are the most critical.
Aggregate everything in an Excel or Google Sheets file. Typically for 10,000 products: 30,000-50,000 total URLs (products + categories + pagination + filters + blog + static pages).
Prefer explicit mapping over generic wildcards. A redirect like /products/* → /shop/* looks convenient, but creates problems if slugs change (/products/derby-shoe redirects to /shop/derby-shoe, which does not exist).
Exception: for categories where the structure is identical (/collections/xxx → /category/xxx where all xxx values exist on both sides), a wildcard can work.
Customer photos, Q&A, helpful votes: migrate them if possible. If the new plugin/app does not support import, at least prioritize text reviews (they carry more SEO weight than photo UGC).
Via CSV with image URLs, or via API. The new platforms download the images from the temporary CDN and store them locally (Shopify CDN or wp-content/uploads/).
Also migrate the alt text for each image. It is a meaningful SEO signal, especially in visual verticals (fashion, home decor). A catalog of 10,000 products × 5 images = 50,000 alt texts to preserve.
4-12 weeks for stability. Some fluctuation during the first 2-4 weeks is normal. If 3 months after migration your traffic is <85% of baseline, there is a technical problem (redirects, canonicals, content).
During the 48 hours after the DNS cutover, ideally yes — to allow DNS propagation to spread. After that, you can take it offline. 301 redirects on the new server are enough afterward.
Technically yes, practically complicated. It creates situations where the old and new platforms coexist with hreflang conflicts, cross-canonicals, etc. Recommendation: do a big-bang migration over a weekend, with full preparation beforehand.
Organic traffic loss that never comes back. 301 redirects transfer about 95% of link juice — the missing 5% is lost forever. A failed migration with missing redirects can lose 40-60% of traffic permanently.
Not required. The "Change of Address" tool in GSC is only useful for domain changes, not for URL redesigns on the same domain. For a domain change: yes, use that feature.
Avoid it. Too many variables change at once, making diagnosis impossible if traffic drops. Migrate first (4-8 weeks), stabilize, then start rewriting descriptions. See rewriting old product pages.
WooCommerce includes a native CSV importer you can use without installing WP All Import. Here’s how, with the exact CSV structure and category mapping.