Moving a client off WooCommerce without losing products
7 Nov 2026 · Updated 7 Nov 2026 · 7 min read · Gaurav Kunal, Founder, DripFunnel
Products are the part of a WooCommerce move you can’t afford to get wrong. This plan takes a client’s catalogue out with WooCommerce’s own export, maps it to a clean spreadsheet, and checks every row before the new shop goes live.
- WooCommerce has a built-in product export (Products › All Products › Export) that writes the catalogue to a CSV spreadsheet, including variations and photo addresses.
- Map each WooCommerce column to the new platform’s template before you import: variations become rows that share one product handle, and each photo goes on its own row.
- Keep the old WooCommerce site online until every photo has been fetched, and list the most-visited addresses before you switch the domain.
- Categories, customers and past orders don’t come across through a product import: plan them separately and keep the WooCommerce exports for the client’s records.
What moves and what doesn’t
Before you promise a client a smooth move, agree what comes across and how. The table shows the plan for a move to a DripFunnel store using spreadsheet import. If you are still deciding whether to move at all, read why agencies move away from WooCommerce; for choosing the destination, see our checklist for the best ecommerce platform for agencies.
| Data | How it moves |
|---|---|
| Products, versions, prices, stock, weights | WooCommerce export, then spreadsheet import |
| Product photos | Fetched from their web addresses during the import |
| Categories and tags | Set up again as collections and filters after the import |
| Customers and past orders | Not part of a product import; keep the WooCommerce exports for records |
| Pages and storefront design | Rebuilt: describe the shop and the AI designs the storefront |
| Payments, shipping and tax | Set up again in the new store |
| Old page addresses | Listed before the switch; talk to us about them |
Step 1: Take stock of the WooCommerce shop
- How many products, and of which types: WooCommerce uses simple, variable, grouped, external, virtual and downloadable.
- Which products have variations, and on how many attributes (size, colour and so on).
- Which plugins add extra product data, such as custom fields, bundles or add-ons. This data may not fit a standard template.
- The most-visited product and category addresses, from the shop’s analytics or Google Search Console.
Step 2: Export the products from WooCommerce
WooCommerce’s built-in exporter is in Products › All Products › Export. Choose the columns (the default is all of them), the product types and categories, then press Generate CSV. You can also tick custom metadata to add extra columns. WooCommerce’s documentation notes that it may leave attribute values out of variation names in the export, so check a few variable products by eye.
For the client’s records, also download their order and customer reports: WooCommerce Analytics tables have a Download link that saves a CSV file, and large reports are emailed as a link that lasts a week.
Step 3: Map the columns to the new template
DripFunnel’s import uses a template with fixed column names, and there is no step to match differently named columns. So you copy each WooCommerce column into the right template column first. The template is in the store, under Products › Import & export.
| WooCommerce column | DripFunnel template column | What to do |
|---|---|---|
| ID, Parent | handle | Give each product a short unique handle, and put the same handle on every row of its variations |
| Name | name | On the product’s first row |
| Description, Short description | description | Merge them if the client used both |
| Type | type | Simple and variable: leave empty (physical). Downloadable: digital. Virtual: often service. Grouped and external: handle by hand |
| Published | visible | yes or no |
| Attribute 1 name, Attribute 1 value(s) | option1 name, option1 value | Up to three options; one row per variation |
| SKU | sku | Must be unique; it is also how existing products are matched |
| Regular price, Sale price | price, compare at price | On sale: sale price in price, regular price in compare at price. Numbers only, no currency sign |
| Stock | stock | A whole number |
| Weight (unit) | weight grams | Convert to grams if the shop used kilograms or pounds |
| Images | image, image alt | WooCommerce lists several addresses in one cell; put the first on the product’s row and the rest on the following rows |
| Categories, Tags | (none) | Recreate as collections and filters after the import |
Do the mapping on a copy of the export, and keep the original untouched. If something looks wrong after the import, you can always go back to the source file.
Step 4: Keep the old shop online until the photos are in
The import fetches each photo from its web address. That address must open in a browser without a password, and photos can be JPEG, PNG or WebP up to 20 MB. So keep the WooCommerce site, and its hosting, running until the import is finished and the photos have appeared.
Step 5: Upload, check and fix
In Import & export, choose the file. A file can be up to 5 MB, with up to 20,000 rows and 5,000 products, and a product can have up to 100 versions; split bigger catalogues into several files. The check shows how many products are ready, new or already in the store, and lists each problem by row and column, such as an empty price or a duplicate SKU. Fix the file, or import the ready rows and fix the rest later. At the end, Download what didn’t go in gives you the failed rows with the reason. The full guide is Import products from a spreadsheet.
If a client is coming from Shopify instead, there is a direct product import; see Bring your products from Shopify and our Shopify migration plan for agencies.
Step 6: Rebuild the rest of the shop
- Collections and filters to replace WooCommerce categories and tags.
- The storefront: describe the shop in plain words and the AI designs the homepage, pages and product pages, which the client previews and publishes. See Describe a change to your storefront.
- Payments: the client connects their own payment account. Today that’s available to shops in India and the United States. See Connect a payment method.
- Shipping and tax, checked with a test order. See How tax is worked out in each country.
Step 7: Switch the domain
When the new shop is ready, the client adds two DNS records at their domain provider, and the secure padlock is set up free. See Connect your own domain. Before the switch, take the list of most-visited addresses from Step 1 and talk to us about them, so visitors from search engines and old links still land somewhere useful. Some movement in search rankings for a few weeks after a move is normal.
Moving many clients: the partner way
If you move clients regularly, make it a repeatable process. With DripFunnel’s white-label partner programme, you create each client’s store from your partner console, the client gets an invitation, and a setup tracker shows how far each store has got. Make sure the client’s plan includes spreadsheet import, so they can bring their catalogue. If a client turns on support access, you can check their store in a read-only support session of 30 minutes. See Look after your stores.
More than 75 partners across the globe run client stores on DripFunnel. Each moved client stops being a hosting and update job and becomes a monthly plan at a price you set; see agency margin maths, and for running many stores at once, how to run dozens of client stores from one console. The cost you leave behind is set out in the real cost of running WooCommerce sites for clients and WooCommerce hosting for agencies. Ready to start? Tell us about the shops you want to move.
Questions
How do I export products from WooCommerce?
In the WordPress admin, open Products › All Products and press Export. Choose the columns, product types and categories, then press Generate CSV. The file includes variations, which point to their parent product, and photo addresses.
Will product variations survive a move from WooCommerce?
Yes, if you map them. In DripFunnel’s template, each variation is its own row, and all rows of one product share the same handle, with up to three options such as size and colour and up to 100 versions per product.
Do product photos come across from WooCommerce?
They are fetched from the web addresses in the export, so the old site must stay online and the photos must open without a password until the import is finished. Put each extra photo on its own row.
Can I move WooCommerce customers and orders?
Not through the product import. Download the customer and order reports from WooCommerce Analytics as CSV files for the client’s records before the old site is closed, and talk to us about anything else the client needs.
How do I keep search rankings when leaving WooCommerce?
List the most-visited product and category addresses before the move, talk to us about them before you switch the domain, keep product names similar, and expect some movement in rankings for a few weeks.