How to Migrate WooCommerce and WordPress Data
Migrating data between sites is possible using the integration between WP All Export and WP All Import. You can migrate posts, pages, WooCommerce products, orders, and custom post types from any theme or plugin.
Here's a video that shows how this migration process works:
Continue reading below for text instructions.
Step 1: Select What You Want to Export
You must first decide which post type or taxonomy you want to migrate. You'll see all the available options in the dropdown list at the start of a new export in All Export › New Export.
Once you choose what to export, click Customize Export File at the end to continue (not shown).
Step 2: Decide Which Data Fields to Migrate
The fields available to export are listed on the right. Drag those you want into the column selection area, or click Add All to include everything.
As in a regular export, you can rename and rearrange the fields as needed. You can also use PHP code to modify the export data.
Once you're done selecting and configuring your export columns, click Continue.
Step 3: Confirm & Run Export
Verify the final export settings, then click on Confirm & Run Export to run the export.
Step 4: Download the Export Bundle
Download the export bundle ZIP file using the Bundle button. There's no need to unzip the file.
Step 5: Upload Export Bundle to WP All Import
Start a new import at All Import › New Import on your destination site. Then upload the ZIP archive you downloaded from WP All Export in the previous step.
By using the export bundle, it automatically configures the import, allowing you to click Skip to Step 4.
Step 6: Confirm & Run Import
Step 4 shouldn't need any changes — just click Continue. Then click Confirm & Run Import on the following page to run the import.
That's how you migrate WooCommerce and WordPress data with WP All Import and WP All Export.
Migrate WooCommerce – Advanced Topics
Migrating Only Some Records with Filters
You can use filters in two different places:
- WP All Export, to only export certain selected records. For example, to limit the exported WordPress posts to those which contain "Offer" in the title. See Filter Exported WordPress Data.
- WP All Import, to select which records to import. For example, to limit the imported WooCommerce products to those which have a price equal to or higher than 30. See Filtering with XPath.
By using either export or import filters, you can decide which records will be migrated. Either option will work.
Migrate Data from Third-Party Plugins or Themes
When you include all fields in Step 2 (see above), this will also migrate all custom fields created by third-party plugins or themes. However, this will only include custom fields that are stored in the regular WordPress post meta database table.
If the data is stored in a custom database table, you'll have to use custom code (see documentation) along with our API (see documentation) to both export and import the data. Here's an example for importing: Import Data to Custom Database Table.
Difference Between Migrating Posts or Other Post Types
This Quickstart guide shows a simple migration process using WordPress posts, but the same steps can be taken for any post type or custom post type detected by WP All Export and WP All Import, which should be most of them.
The main difference between migrating distinctive post types is that the plugin options will change according to the post type being imported or exported.
Frequently Asked Questions
Will Your Plugin Migrate Taxonomies, Images, and Custom Fields, Too?
Yes, WP All Export and WP All Import will automatically migrate the taxonomies attached to the post type being migrated. This includes default taxonomies (such as categories or tags) along with custom taxonomies (added by a third-party plugin or with custom code).
The same is true for all images and all custom fields that are attached to the migrated records.
How to Maintain Links Between the Migrated Data?
Our import/export plugins can maintain all relationships and links that exist between your migrated data. For example, when you migrate WooCommerce customers, products, and orders, the relationship between them is maintained as long as you migrate the orders last.
How to Keep the Same IDs When Migrating WooCommerce or WordPress Data?
You can achieve this using custom code (see documentation) along with our API (see documentation). When you migrate WooCommerce data (such as products or orders) or WordPress data (such as posts or pages), you can apply the following workaround: Keep old IDs when migrating products or posts.
That workaround attempts to maintain the old ID, but it's only an attempt. If the requested ID is not available, a new ID is generated upon import.
How to Migrate WooCommerce or WordPress Sites Manually?
In some cases, you want to migrate the whole site, including files and its database. This can be achieved by following the Moving WordPress guide.
How to Migrate WooCommerce Customers and Orders?
In general, follow the instructions in this guide but select WooCommerce Customers and WooCommerce Orders as the post type (i.e., two separate migrations with customers first and orders last). For specific instructions, see How to Migrate WooCommerce Customers to a Different Site and How to Migrate WooCommerce Orders.
Learn how to migrate WordPress users.
Learn how to migrate all WooCommerce products.
Learn to export your WordPress data to a CSV, Excel, or XML file with WP All Export.