WooCommerce to Shopify Plus Migration: A Technical Playbook (2026)
Migrating from WooCommerce to Shopify Plus is not a data export followed by a data import. It is a translation between two philosophies: a self hosted WordPress plugin where everything is a post in MySQL and every behavior is another plugin, and a hosted platform with an opinionated data model and a fixed checkout. The migrations that fail treat it as a file copy and discover too late that URLs changed, that a critical plugin has no Shopify equivalent, and that subscription customers silently stopped billing. This playbook walks the WooCommerce specific parts that actually decide the outcome: mapping the WordPress data model, preserving search rankings through redirects, achieving plugin parity, migrating the payment gateway without losing tokens, and running a cutover that does not drop orders.
WooCommerce to Shopify Plus Migration: A Technical Playbook (2026)
Migrating from WooCommerce to Shopify Plus is not a data export followed by a data import. It is a translation between two philosophies. WooCommerce is a self hosted WordPress plugin where every product is a post in a MySQL table and every behavior is another plugin you installed. Shopify Plus is a hosted platform with an opinionated data model and a checkout you do not control. The migrations that fail treat the job as a file copy, and they discover too late that every URL changed, that a plugin the business depends on has no Shopify equivalent, and that subscription customers quietly stopped being billed. This playbook covers the WooCommerce specific parts that actually decide the outcome.
| Dimension | WooCommerce | Shopify Plus |
|---|---|---|
| Hosting | Self hosted, you own the server | Fully hosted by Shopify |
| Data model | Posts and postmeta in MySQL | Fixed resources: products, variants, orders |
| Extensibility | Plugins, full PHP access | Apps plus Functions, sandboxed |
| Checkout | Fully customizable, your risk | Shopify owned, high converting, locked |
| URLs | Fully custom permalinks | Fixed path structure |
That last row is where the SEO risk lives, and the data model row is where the migration work lives. Neither is a copy operation.
Mapping the WordPress data model
WooCommerce stores products as a custom post type, with the interesting data spread across the wp_posts and wp_postmeta tables, plus taxonomy tables for categories and tags and attribute terms. A product's price, SKU, stock, and dimensions are rows in wp_postmeta keyed to the product post. Variable products add another layer, with each variation as its own post referencing the parent. This is flexible and it is also why a naive SQL dump does not map onto anything Shopify understands.
Shopify's model is fixed and shallower by design: a product has variants, variants have a small set of typed fields, and anything extra lives in metafields. The migration is a projection from the sprawling WordPress shape into that fixed shape, and the decisions are yours to make. WooCommerce attributes become Shopify options and variants, but Shopify caps variant combinations, so a product with thousands of WooCommerce variations needs rethinking, not just remapping. Custom fields from plugins like Advanced Custom Fields become Shopify metafields, which means you decide the metafield schema up front rather than letting it happen by accident. You can pull the source data cleanly through the WooCommerce REST API rather than raw SQL, which gives you resolved products and orders instead of postmeta archaeology.
Orders and customers migrate as historical records. You are not replaying transactions, you are preserving history: order numbers, line items, totals, and customer records with their addresses and lifetime context. Get customer email uniqueness right, because Shopify keys customers on email and WooCommerce guest checkouts can produce duplicates that need reconciling before import.
Preserving SEO is the part that pays for itself
WooCommerce permalinks are fully custom, commonly /product/slug and /product-category/slug. Shopify uses fixed prefixes: /products/handle and /collections/handle. Every product and category URL on the site is about to change, and if you do nothing, you hand years of accumulated search ranking to a wall of 404s on launch day. This is the single most common way a technically correct migration still tanks revenue.
The fix is a complete 301 redirect map from every old WooCommerce URL to its new Shopify counterpart, products, categories, and any custom pages and blog posts. Build the map from your actual URL inventory, not a pattern guess, because plugins and manual edits mean the real permalink structure is never as clean as the settings imply. Crawl the live site, export every indexed URL, and match each to its destination. Shopify Plus lets you load URL redirects in bulk, and this map is not optional cleanup you do later; it ships with the launch. The same rigor applies to any headless SEO surface, a theme we covered in the Storefront API migration notes.
Plugin parity, honestly assessed
The hardest conversations in a WooCommerce migration are about plugins. WooCommerce runs on a stack of them, and each one is a behavior the business now assumes. Before committing to a date, inventory every active plugin and classify it: native to Shopify, covered by a Shopify app, replaced by Shopify Functions, or genuinely lost. Subscriptions, memberships, complex tax rules, bundled products, and points programs are the usual sources of pain, because a WooCommerce subscription plugin and a Shopify subscription app are different systems with different billing engines, not a like for like swap.
Subscriptions deserve special care. You cannot simply export active WooCommerce subscriptions and import them as running Shopify subscriptions, because the billing tokens and the contract state live in the old gateway and plugin. Migrating live subscribers is a project of its own: recreating contracts, migrating or re tokenizing payment methods with the gateway's cooperation, and communicating with customers so billing does not lapse or double charge. If your WooCommerce store is subscription heavy, that workstream, not the catalog, is your critical path.
Gateway, checkout, and the cutover
WooCommerce let you own the checkout and bolt on any gateway. Shopify owns the checkout, which is a gift for conversion and a constraint for anyone with a custom flow. Map your payment gateway to what Shopify Payments or a supported third party gateway offers, and confirm that stored payment methods can be migrated, which requires the gateway's involvement and cannot be faked. B2B stores carry extra weight here, since terms, price lists, and company accounts move differently, a distinction we drew out in Shopify Plus B2B native versus headless.
The cutover itself is a sequence, not a moment. Freeze catalog and pricing changes on WooCommerce, do a final delta import of orders and customers placed since the last sync, load the redirect map, point DNS, and watch for orders landing on the old store during propagation so none are dropped. The generic sequencing and rollback thinking in our Shopify Plus migration playbook applies here; the WooCommerce specific risk is that WordPress keeps happily taking orders until DNS fully moves, so you plan for a tail of straggler orders rather than assuming a clean switch.
FAQ
Can I just export WooCommerce and import into Shopify? No. WooCommerce spreads product data across WordPress post and postmeta tables and relies on plugins for behavior. The migration is a projection into Shopify's fixed model plus a plan for every plugin, not a file copy.
Will migrating hurt my SEO? Only if you skip redirects. Every product and category URL changes because Shopify uses fixed path prefixes. A complete 301 redirect map from old to new URLs, shipped with launch, is what preserves rankings.
What happens to my WooCommerce subscriptions? They do not transfer automatically. Billing tokens and contract state live in the old gateway and plugin, so live subscribers require a dedicated migration with gateway cooperation to avoid lapsed or double billing.
How are WooCommerce plugins handled on Shopify? Each is classified as native, covered by an app, replaced by Shopify Functions, or lost. Subscriptions, memberships, and complex tax and bundling are the usual gaps that need real planning.
How do I avoid dropping orders during cutover? Sequence it: freeze changes, final delta import, load redirects, move DNS, then watch for straggler orders hitting the old WooCommerce store during propagation and capture them.
When this applies to your stack
If you are on WooCommerce and fighting your host, your plugin stack, or your checkout conversion, Shopify Plus is a reasonable destination, but the migration is an engineering project with a data translation, an SEO preservation plan, a plugin parity audit, and a subscription workstream if you have one. The stores that come through clean treat those as four separate problems with owners, not as a single import button. The stores that get burned find out on launch day that URLs changed and subscriptions stopped.
Planning and executing that translation, from the WordPress data model to the redirect map to the live subscriber migration, is the platform migration work we do at Contra Collective. If you are weighing a move off WooCommerce and want it scoped by people who have done it without losing rankings or revenue, we can help. Shopify's own migration guide is a useful starting reference.
More from the lab.
NetSuite's Native AI Agents vs Custom MCP Tools: What Actually Moves the Needle in 2026
NetSuite 2026.2 brings Ask Oracle, a conversational assistant for natural language questions over your ERP data, and AI Canvas, a workspace for organizing the scorecards and charts that come out of that conversation. Both ship native, inside the NetSuite Next experience, available now in the United States and Canada. That is real progress on the question teams have been building custom NetSuite integrations to answer for years. It is also not the same question as whether to build a custom Model Context Protocol tool against your own schema, which remains the highest leverage move for anything Ask Oracle was never designed to touch.
Adobe Commerce's September 2026 Storefront Release: What B2B and Headless Teams Need to Verify
Adobe shipped its September 2026 Commerce Storefront release with six changes worth a headless or B2B team's attention: Free Gift Selection, an expanded Payment Services drop in with Google Pay and PayPal Buttons, Multiple Named Wishlists, a shared B2B Company Address Book with role based permissions, accessibility improvements across cart and account, and a reCAPTCHA fix for B2B company registration. Five of these are low risk component updates. The sixth ships with an action item, passing an explicit configuration flag, that will break company registration on B2B enabled backends if a team skips it. This post walks through what shipped, the versions behind it, and a verification checklist to run before this release reaches production.
Claude Code's Permanent 17 Percent Usage Cut: What Changed and How to Budget For It
If your team's Claude Code usage suddenly feels tighter this month, the numbers explain why. A temporary 50 percent weekly limit boost expired on August 31, 2026, and the permanent replacement that took effect September 14 is a 25 percent increase, not a 50 percent one. Anthropic said so directly in its own announcement: compared to the boosted summer level, this works out to a 17 percent reduction in weekly limits on Claude Code. That is an unusually plain admission from a vendor, and it is worth taking at face value rather than decoding it as marketing language. This post lays out the full timeline from May through September, why the separate 5 hour session change does not offset the weekly cut, and three concrete steps for budgeting a team's Claude Code usage against the new permanent ceiling.