WooCommerce products are a type of ‘post,’ meaning that you can migrate products between sites the same way you migrate posts.
Products are stored in the database within the wp_posts table, with meta data inside wp_postmeta. There are also relationships to things like terms, as they follow the same structure as posts. More info at Database Description.
There are several options to assist with import/export and database migration.
Exporting and Importing with WordPress↑ Back to top
To export an XML file containing product data:
- Go to: Tools > Export and choose the content you wish to migrate.
2. Click Download Export File. An XML file is created on your computer.
3. Go to the site to which you are moving content and Tools > Import.
4. Select WordPress and follow the instructions.
More at: WordPress codex article on Importing Content.
Migrating product data with CSVs↑ Back to top
To import, export, change and merge product data, use the Product CSV Import Suite.
This tool works with CSV data and can be used to migrate data, or do first-time product imports from a CSV.
More info at: Product CSV Import Suite
Migrating (all) data with WP Migrate DB↑ Back to top
If you need all data transferred and want to keep current IDs intact (useful if you’re also migrating orders), we suggest using WP DB Migrate. This plugin handles all aspects of import/export from your database.
More info at: WP Migrate DB.
If you only want to migrate part of your site, we recommend exporting the content/customizations from the new site to the current site. Get the current site to be exactly how you want it. Then use WP Migrate DB to move everything over to the new site.
For example: If you are creating a new site with a lot of new content while your customers are continuing to place orders on WooCommerce on your current site. You may want to migrate just the WooCommerce portion of the new site with the same order ID’s, etc… from the current site. Technically it is possible, but we don’t recommend it. Post, Pages, Products, Orders… are all technically posts stored in the wp_posts table. Trying to separate that and get it right is pretty difficult. If there are posts on the new site that may have the same ID as some of the orders you are trying to migrate, they wouldn’t be able to import.
That’s why we recommend getting the current site exactly as you want the new site to be and then moving everything over at the same time.
Migrating (all) data with VaultPress
VaultPress is a subscription-based security and backup service for self-hosted WordPress sites. VaultPress recently added support for live backups of WooCommerce and it can be used to migrate your WordPress website to another host.
More info at: VaultPress: Migrate to a New Host.