Most WooCommerce to Shopify migrations do not fail on the data. Exporting products and importing them into Shopify is a day of work. Migrations fail on the three things around the data: the URL structure that breaks your SEO, the plugin functionality that has no Shopify equivalent, and the custom PHP logic someone wrote four years ago that nobody documented.
This guide is the realistic version. What actually transfers, what does not, what it costs, how long it takes, and the redirect work that determines whether you keep your organic traffic or spend a quarter rebuilding it.
Should you actually migrate?
Good reasons to move:
- WooCommerce maintenance and hosting are consuming meaningful engineering time
- Plugin conflicts break the store on WordPress core updates
- Performance has plateaued and is not recoverable without major work
- You want Shopify-native capabilities: Shop Pay, Markets for international selling, Plus B2B
- Security patching and PCI compliance are your problem rather than a vendor's
Reasons to stay:
- Deep custom WooCommerce functionality that does not translate: unusual tax setups, complex subscription logic, non-standard fulfilment flows
- Your team has WordPress expertise and no Shopify expertise
- Your blog is the business and you rely on WordPress-specific content architecture
- Your margins are thin enough that Shopify's transaction fees materially change your economics
WooCommerce is not bad software. Most stores that migrate do so because the maintenance burden caught up with them, not because WooCommerce stopped working.
The pre-migration audit (do this before anything else)
Two to three days of audit prevents most of the expensive surprises. Document:
Data inventory
- Product count, variant count, and whether any products use WooCommerce's grouped, external, or variable-with-complex-pricing types
- Custom fields (ACF, custom taxonomies) that will need to become Shopify metafields
- Customer count and whether you have password hashes (you do not; customers will need to reset)
- Order history volume and how far back you need it
- Blog post count and image library size
Plugin audit
A typical WooCommerce store runs 30-50 plugins. List every one and mark it: replaced by Shopify native, replaced by a Shopify app, needs custom development, or being dropped. This list is where your budget lives.
URL inventory
Crawl your entire site with Screaming Frog or export your XML sitemap. Every indexed URL needs a destination. This becomes the redirect map.
Baseline metrics
Record current organic traffic by page, Core Web Vitals, page load times, and conversion rate. You need these to prove the migration helped rather than hurt.
What transfers, what does not
| Data | Transfers? | Notes |
|---|---|---|
| Products, variants, images | Yes | Clean via migration tool or CSV |
| Product categories | Yes | Become Shopify collections |
| Customer records | Yes | Passwords do not; customers reset on first login |
| Order history | Yes | Historical only; not editable as live orders |
| Blog posts | Yes | Structure simplifies; custom post types are lost |
| SEO meta (Yoast / Rank Math) | Yes, with the right tool | Some tools map these automatically to Shopify SEO fields, saving real consultant time |
| Custom fields (ACF) | Manual | Map to Shopify metafields; plan the schema before migrating |
| Reviews | Depends | Native Woo reviews export; third-party review plugins need their own migration |
| Subscriptions | No | Separate workstream via Recharge, Skio, or Loop |
| Coupons / discounts | Partially | Simple codes transfer; complex rules often need rebuilding |
| Custom PHP logic | No | Rebuild as Shopify Functions, apps, or theme code |
| WordPress users / roles | No | Shopify staff accounts are a different model |
Step 1: Data migration
Three routes:
- Migration tools (Cart2Cart, LitExtension, Matrixify). $59-$500 depending on catalog size. Fastest for standard catalogs. Some map Yoast and Rank Math SEO fields directly into Shopify's SEO fields, which alone replaces meaningful consultant work.
- CSV export and import. Free, more manual, more control. Good for smaller catalogs where you want to clean data during the move.
- Custom scripts via the Shopify Admin API. Necessary for complex metafield mapping or unusual data structures.
Whichever route: migrate into a development store first, not into your eventual live store. Review the imported data properly, fix what came across wrong, then decide whether to re-import clean or fix in place.
Common data issues after import: variants collapsed or duplicated, images out of order or missing alt text, category hierarchies flattened, product descriptions carrying WordPress shortcodes as literal text, and prices imported without tax handling matching your setup.
Step 2: URL structure and 301 redirects (the SEO-critical step)
This is where migrations succeed or fail. WooCommerce and Shopify use different URL structures and none of your URLs will match after the move.
| Content type | WooCommerce URL | Shopify URL |
|---|---|---|
| Product | /product/red-shoes/ |
/products/red-shoes |
| Category | /product-category/footwear/ |
/collections/footwear |
| Blog post | /2024/03/post-title/ |
/blogs/news/post-title |
| Page | /about-us/ |
/pages/about-us |
| Tag archive | /product-tag/waterproof/ |
Usually no equivalent; redirect to nearest collection |
The process:
- Export every indexed URL using Screaming Frog, your sitemap, and Search Console's Pages report. Include products, collections, blog posts, pages, tag archives, and any paginated URLs with backlinks.
- Map each old URL to its Shopify equivalent in a spreadsheet. Where there is no equivalent, map to the closest relevant page, not to the homepage. Homepage redirects are treated as soft 404s by Google.
- Import the redirect map into Shopify. Shopify has a native URL Redirects feature (Online Store > Navigation > URL Redirects) that accepts CSV import. For very large maps, apps like Easy Redirects or Bulk Redirects handle it more comfortably.
- Set redirects live before or at launch. Not the week after.
- Preserve title tags and meta descriptions. Export from Yoast or Rank Math, import into Shopify's SEO fields via CSV.
Stores that skip this regularly lose 30-60% of organic traffic in the weeks after launch, and that is not automatically recoverable. Stores with a clean redirect map typically see a modest dip in weeks 1-4 as Google re-crawls, then recovery within about eight weeks.
Step 3: Theme and design
Do not attempt a pixel-perfect recreation of your WooCommerce theme. Shopify themes are structured differently and forcing a match costs more than it returns.
Two sane paths:
- Start from a solid base theme (Dawn, or a premium theme close to your needs) and configure it to your brand. Fastest, cheapest, most maintainable.
- Custom theme development if your brand requires specific interactions or your merchandising is unusual. Budget accordingly.
Preserve the SEO-positive structure of your existing content. Do not simplify heading hierarchies, remove internal linking, or shorten product descriptions during the migration. Change one thing at a time; migrating and redesigning simultaneously makes it impossible to diagnose what caused any post-launch traffic change.
Step 4: Apps and functionality mapping
Take your plugin audit and assign every entry:
| WooCommerce plugin | Shopify equivalent |
|---|---|
| Yoast / Rank Math | Native SEO fields + an SEO app for schema and audits |
| WooCommerce Subscriptions | Recharge, Skio, or Loop (separate migration project) |
| Mailchimp for WooCommerce | Klaviyo, Omnisend, or Shopify Email |
| Product reviews plugins | Judge.me, Loox, Okendo, Yotpo |
| WooCommerce Bookings | Tipo, Appointo, or similar booking apps |
| Advanced Custom Fields | Shopify metafields (plan schema before migrating) |
| Elementor / Divi | Shopify 2.0 sections, or a page builder (Replo, Shogun, PageFly) |
| Wordfence / security plugins | Not needed; Shopify handles this |
| Caching plugins | Not needed; Shopify CDN handles this |
| Role-based pricing | Shopify B2B (Plus), or a wholesale app |
Anything left in the "needs custom development" column is where your budget goes. Get quotes on those specifically before committing to a timeline.
Step 5: Payments, tax, and shipping
- Payments. Enable Shopify Payments where available, plus any additional gateways your customers expect. Test a real transaction end to end, including refund.
- Tax. Shopify Tax handles most standard setups. If you had a complex WooCommerce tax configuration (Avalara, custom rules by product class), verify tax calculates correctly on test orders across every region you sell to before launch.
- Shipping. Rebuild your shipping zones and rates. Test that every product is covered by at least one active shipping service; gaps here cause checkout failures and Merchant Center disapprovals later.
Step 6: Testing and go-live
Test every path a customer can take, on desktop and mobile:
- Browsing collections, filtering, searching
- Product page for every product type you sell (simple, variant, bundle, subscription)
- Add to cart, cart drawer, cart page
- Guest checkout and account checkout
- Every payment method
- Discount code application
- Order confirmation email delivery
- Tax calculation for every shipping region
- All third-party integrations: ERP, accounting, email platform, 3PL, review platform
Go-live sequence:
- Confirm redirects are loaded and tested against a sample of 20-30 URLs.
- Update DNS to point to Shopify.
- Submit the new XML sitemap to Google Search Console immediately.
- Verify tracking: GA4, Meta pixel and CAPI, Google Ads conversion tags all firing.
- Spot-check 50 redirects live.
- Keep the WooCommerce site accessible (not deleted) for 30 days as a fallback reference.
Step 7: The 30 days after launch
This is the phase most guides skip and most stores underestimate.
- Search Console daily for the first two weeks. Watch coverage errors and crawl anomalies. Fix broken redirects within 48 hours of finding them.
- Organic traffic by landing page compared to your pre-launch baseline. A 10-20% dip in weeks 1-3 is normal. A 40%+ drop means redirects are broken.
- Conversion rate by device against baseline. Theme changes often affect mobile CVR more than desktop.
- Customer support volume. Expect a spike. Customers will have password reset confusion, order lookup issues, and questions about changed navigation. Staff for it.
- 404 monitoring. Shopify's admin does not surface 404s well. Use Search Console and a log-monitoring approach to catch URLs you missed in the map.
Realistic costs and timelines
| Store profile | Timeline | Agency cost |
|---|---|---|
| Under 500 products, no custom functionality, minimal SEO history | 2-4 weeks | DIY viable, or $2,000-$4,000 |
| Under 5,000 products, standard functionality, active SEO | 4-6 weeks | $3,000-$8,000 |
| 5,000-20,000 products, custom plugin dependencies | 6-10 weeks | $8,000-$20,000 |
| Large catalog, subscriptions, custom development | 10-16 weeks | $20,000-$75,000 |
Timeline overruns almost always come from three sources: custom functionality gaps discovered mid-project, the redirect map started too late, and subscription data complexity surfacing after the plan was set. All three are avoidable with a proper pre-migration audit.
Common migration mistakes
- Skipping the redirect map. The single most expensive mistake available to you. A cheap migration that loses 40% of traffic is not cheap.
- Redirecting everything to the homepage. Google treats these as soft 404s. Map to the closest relevant page.
- Migrating and redesigning at the same time. When traffic moves, you cannot tell which change caused it.
- Discovering subscriptions late. Start the subscription migration workstream in week one, not week six.
- Not planning metafield schema. Backfilling metafields after the products are imported is significantly more painful than mapping them up front.
- Deleting WooCommerce on launch day. Keep it accessible for 30 days. You will need it for reference.
- Rushing testing to hit a date. A two-week launch delay costs less than a broken checkout on a live store.
- Under-staffing support for the first two weeks. The password reset wave alone will surprise you.
When to hire
A store under 500 products with no custom functionality and minimal organic traffic can be migrated by a technically comfortable owner over a couple of weekends. Everything above that involves tradeoffs where mistakes are expensive and quiet.
The specific thing worth paying for is not the data move. It is the redirect map, the plugin gap analysis, and the post-launch monitoring, because those are where migrations quietly lose money. See how we run Shopify migrations and development: audit first, redirect map before the build starts, and 30 days of monitoring after launch.
Frequently Asked Questions
How much does a WooCommerce to Shopify migration cost?
DIY with a migration tool runs $59-$500. Agency migrations typically fall between $3,000 and $15,000 for standard stores, and $15,000-$75,000 for complex catalogs with subscriptions, custom product types, or heavy custom development. The variables that drive price are data complexity, custom functionality gaps, and SEO scope.
How long does a WooCommerce to Shopify migration take?
複雑なカスタム機能を持たない、5,000点未満の商品を扱う標準的な店舗:4〜6週間。カスタムプラグインへの依存や積極的なSEO履歴を持つ中程度の複雑さの店舗:6〜10週間。大規模なカタログ、定期購入、または大幅なカスタム開発を伴う複雑な店舗:10〜16週間。データ移行自体は1日かかりますが、それに関連する作業には数週間かかります。
Shopifyへの移行はSEOに悪影響を与えますか?
リダイレクト作業を省略すると悪影響が出ます。完全に301リダイレクトマップを作成せずに立ち上げた店舗は、オーガニックトラフィックの30~60%を常に失っています。適切なリダイレクトマップがあれば、Googleが再クロールする1~4週目にわずかな落ち込みが見られますが、約8週間で回復が見込めます。リダイレクトマップはプロジェクト全体で最も重要な成果物です。
WooCommerceの定期購入はどうなりますか?
自動的に移行されません。WooCommerce Subscriptionsのデータは、Recharge、Skio、LoopなどのShopify定期購入アプリに移行する必要があり、通常、そのベンダーの移行チームと協力して決済方法を再トークン化します。これは独立した作業ストリームとして計画し、早期に開始してください。これがタイムライン超過の最も一般的な原因です。
WordPressブログをShopifyに移行できますか?
はい、投稿と画像は移行できますが、ShopifyのブログシステムはWordPressよりも柔軟性に欠けます。カスタム投稿タイプ、タグ以外のカスタム分類、WordPress固有のプラグイン機能は失われます。ブログが重要なトラフィックドライバーであるコンテンツ重視のビジネスの場合、Shopifyと並行してWordPressをサブドメインで維持することは有効な選択肢です。
Want a real number for your store?
Send us the URL and the catalog size. We will come back with a fixed quote and the template list it covers, no call required unless you want one.
Get a build quote