Skip to content

Platform profile

WooCommerce migration services: to or from WooCommerce

This page is for stores with WooCommerce on one side of a platform change: established WooCommerce shops moving to a hosted platform such as Shopify or BigCommerce, and stores moving onto WooCommerce for control over hosting, code and content. WooCommerce is a WordPress plugin, so a WooCommerce migration is really a WordPress database migration, with store data spread across core tables, post meta and plugin tables. A named migration lead inventories that database, maps it to the target, runs a trial migration you check, and owns redirects, launch and post-launch QA.

WooCommerce migration overview: who moves in and who moves out

A common WooCommerce project is leaving it, often for Shopify. The reasons are practical: the store has outgrown shared hosting, updates break plugins, a handful of plugins do business-critical work nobody fully understands any more, and every change needs a developer. A hosted platform trades some flexibility for less maintenance.

Stores move to WooCommerce for the opposite reasons. They want to own the hosting and the code, publish content in WordPress next to the shop, avoid per-app subscriptions, or build checkout and catalog logic a hosted platform will not allow. Both directions are valid. If the real problem is slow hosting or one badly written plugin, fixing that may cost less than replatforming, and the assessment should tell you so.

What moves when WooCommerce is the source or target

DataWhat happensNotes
Simple and variable productsMigrates with transformationVariations are expanded or remodelled for targets with fewer option dimensions; going in, variable products need defined attributes.
Attributes and custom fieldsMigrates with transformationGlobal and local attributes and post meta map to the target's attributes, metafields or custom fields, and back when moving in.
Categories and tagsMigratesWooCommerce's nested product categories map to category trees; for Shopify they become collections and menus.
Images and mediaMigratesProduct galleries and variation images move from the WordPress media library; unused and oversized files are flagged.
Customers and addressesMigratesWordPress users with billing and shipping data move; staff and editor accounts are kept separate from customers.
Customer passwordsDecided in the assessmentDepends on the WordPress hash format and the target; moving to or from a hosted platform, customers reset their passwords.
Order historyMigratesOrders move from post meta or HPOS tables as historical records, with statuses from plugins mapped explicitly.
Product reviewsDecided in the assessmentNative WooCommerce reviews are WordPress comments and move easily; reviews held by a review plugin depend on its export.
Pages and blog postsMigrates with transformationWordPress content moves, but page-builder layouts and shortcodes are cleaned up or rebuilt on the target.
URLs, 301 redirects and SEO metadataMigrates with transformationActual permalinks, Yoast or Rank Math metadata and existing plugin redirects are merged into one redirect map.
Coupons and gift cardsDecided in the assessmentCoupon rules are rebuilt on the target; gift card balances depend on the plugin or app on each side.
Plugin data (subscriptions, bookings, add-ons)Decided in the assessmentEach plugin's tables are reviewed; subscriptions also depend on the payment gateway and token transfer.
Theme and page builderRebuilt on the targetWordPress themes and page-builder layouts do not transfer; the storefront is rebuilt on the target.
TranslationsDecided in the assessmentWPML or Polylang translations are linked post copies and must be matched to the target's translation model.

Migrating from WooCommerce: getting data out of WordPress

Because WooCommerce is self-hosted, the data is fully accessible: through the WooCommerce REST API, the built-in product CSV exporter, WP-CLI, or directly from a database copy. That is an advantage over hosted platforms, but it also means nothing is packaged for you. Products are WordPress posts with variations as child posts; attributes can be global taxonomies or local text on the product; custom fields sit in post meta, often written by Advanced Custom Fields or similar plugins.

Orders depend on the version and configuration. Older stores keep orders as posts and post meta, while High-Performance Order Storage (HPOS) stores them in dedicated order tables, and some stores run with synchronization between the two. Customers are WordPress users with WooCommerce meta. Subscriptions, bookings, product add-ons, bundles, memberships and B2B pricing are usually separate plugins with their own tables. We work from a copy of the real database, not an assumed default schema, and list every table that holds store data before mapping anything.

Migrating to WooCommerce: how data goes in

Going into WooCommerce, the main decisions are about structure. Variable products need their attributes defined, preferably as global attributes when customers filter by them. Categories map naturally, because WooCommerce uses a nested product category taxonomy, and tags are available for secondary grouping. Custom product data needs a home: native attributes, custom fields registered by a plugin, or a dedicated plugin whose data model we then have to respect.

Data goes in through the REST API, the product CSV importer, or scripted imports for large volumes and order history. Customers from a hosted platform such as Shopify arrive without passwords, because hosted platforms do not export password hashes, so they need a reset or activation step. Plugins for payments, shipping, tax, subscriptions, SEO and search have to be chosen and configured before the trial migration, not after, because they decide where some of the data must be written.

What usually needs transformation

Leaving WooCommerce, variations are often the first issue. WooCommerce allows many attributes per variable product and allows variations that match any value of an attribute, while a target such as Shopify has up to three option dimensions and expects each variant to be an explicit combination. Those products must be expanded, split or remodelled. Local attributes and post-meta fields become metafields or custom fields, and add-on plugins that change the price become options, bundles or an app on the target.

Content needs cleanup too. Product descriptions and pages built with Elementor, WPBakery, Divi or the block editor carry shortcodes and layout markup that means nothing on another platform. Order statuses from plugins, customer roles used for wholesale pricing, and tax classes all need explicit mapping. Moving into WooCommerce, collections or flat catalogs are turned into a category tree and filterable global attributes.

WordPress plugins, themes and integrations

A WooCommerce store's behaviour is spread across plugins. Before migrating out, we list every active plugin and what it does for customers or staff: payment gateways, shipping rules, invoices, feeds for Google or comparison sites, ERP or accounting connectors, search, reviews, subscriptions and email marketing. Each one needs an equivalent on the target (a native feature, an app or custom work) or a decision to drop it. Plugin data rarely has a portable export, so we find where it is stored and whether it is worth moving.

WordPress themes and page-builder layouts do not transfer to other platforms, so leaving WooCommerce means building a new storefront. Moving in, the theme and page builder are chosen with performance and maintainability in mind. Integrations are reconnected and tested with real orders on staging before launch.

SEO and URL structure on WooCommerce

WooCommerce URLs follow WordPress permalink settings. Defaults use a /product/ base and a /product-category/ base, but many stores have changed these, added category paths, or kept historical structures through redirect plugins. SEO plugins such as Yoast SEO or Rank Math store titles, meta descriptions, canonical settings and sometimes redirects in their own data. We therefore crawl the live site and read the actual permalink configuration instead of assuming defaults.

Leaving WooCommerce, every indexed product, category, page and blog URL is mapped to the target's structure, and existing redirects from plugins are merged into the new map so old chains resolve in one step. Moving in, permalinks can often be configured to stay close to the old URLs, which reduces the number of redirects. After launch we crawl again and monitor Search Console. We check coverage and redirects; we do not promise rankings.

Limitations and edge cases

Customer passwords can only carry over where the target platform accepts the WordPress hash format, which depends on the WordPress version (older phpass hashes, newer bcrypt) and on the target. Moving to a hosted platform such as Shopify, customers reset their passwords. Stored cards and subscription payment tokens depend on the gateway and are never moved silently. WordPress content outside the shop (blog, landing pages, forms, membership areas) is a separate scope decision: some targets handle a blog well, others do not.

Multilingual stores built with WPML, Polylang or similar plugins store translations as linked copies of posts, which must be matched correctly to the target's translation model. Heavily customized stores with custom plugins or theme functions need a code review before we can estimate reliably.

How Prevedshop runs a WooCommerce migration

A named lead owns the project. We start with a database copy and admin access, inventory plugins, custom tables and integrations, crawl the site, and write a mapping you approve. The trial migration runs into a staging target, and you check products, variants, customers, orders and content against the source. After sign-off we plan launch: a content freeze, the final migration, a delta migration of orders and customers created since the trial, redirects, DNS and payment tests.

Automated comparisons check record counts, prices, stock and URLs, and a person approves every production decision. After launch we check orders, emails, feeds and redirects, and fix what real traffic uncovers.

WooCommerce migration pricing

WooCommerce migrations start from €1,490 for straightforward stores. Established stores with SEO, historical orders and integrations typically require a Managed Migration scope, from €4,900.

Frequently asked questions

Why is a WooCommerce migration harder to estimate than a hosted one?

Because every WooCommerce store is a different combination of plugins, custom fields and theme code. Until we have seen the database and the plugin list, we cannot know where subscriptions, custom product data or wholesale prices are stored. That is why the assessment comes first.

Do you need access to our WordPress database?

Ideally yes, as a copy rather than live access. The REST API is enough for simple stores, but a database copy shows plugin tables and custom fields the API does not expose and lets us run the trial migration without load on your live site.

What happens to our Yoast or Rank Math SEO data?

We extract titles, meta descriptions, canonical settings and any redirects the plugin stores, and carry what is still accurate to the target's SEO fields and redirect list.

Can we keep our WordPress blog when moving the shop to Shopify?

Yes, as a scope decision. The blog can move into Shopify's blog, or stay on WordPress while the shop moves. We compare the options for URLs, content features and maintenance before you decide.

Can you migrate a store onto WooCommerce?

Yes. We design attributes and categories first, choose the plugins that will hold subscriptions, SEO data or custom fields, then import products, customers and orders into that structure and configure permalinks to reduce redirects.

Prevedshop.com

Moving your store? Let’s find out what needs to come with you.

Tell us where the store is now and where it is going. We’ll come back with the useful questions—not a generic sales pitch.

Check your migration