---
title: "How to Bulk Delete WooCommerce Products (3 Methods)"
description: "Learn three easy methods to delete all WooCommerce products in bulk. Simplify store management and save time with our step-by-step guide."
author: "Sachin Krishna"
published_date: 2020-04-21
modified_date: 2026-05-06
canonical_url: "https://www.webtoffee.com/blog/how-to-delete-products-in-bulk-via-csv-in-woocommerce/"
source: "https://www.webtoffee.com"
reading_time: 21 min
word_count: 4150
featured_image: "https://www.webtoffee.com/wp-content/uploads/2020/04/bulk-delete-woo-products.png"
categories:
  - "Blogs"
  - "Data Migration"
tags:
  - "Product export"
  - "Product import"
  - "product import CSV"
  - "Product Import Export Plugin for WooCommerce"
  - "WooCommerce product import"
  - "WooCommerce product import plugin"
---

## Summary

Learn three easy methods to delete all WooCommerce products in bulk. Simplify store management and save time with our step-by-step guide.

# How to Bulk Delete WooCommerce Products (3 Methods)

Deleting products one by one can quickly become frustrating when your WooCommerce catalog grows. Bulk deletion helps you clean up hundreds or thousands of products faster and with better control.

Looking to delete 500, 5,000, or even 10,000 WooCommerce products in bulk? Whether you’re cleaning up old listings, removing duplicate test listings after a bad import, or resetting your catalog for a seasonal refresh, bulk product deletion can save hours of manual work.

WooCommerce gives you multiple ways to do this, from the built-in dashboard tools to CSV-based deletion with the [Product Import Export Plugin for WooCommerce](https://www.webtoffee.com/product/product-import-export-woocommerce/), to advanced options like SQL or WP-CLI for very large stores.

In this article, we’ll walk you through three proven methods to bulk delete WooCommerce products, so you can choose the right approach based on your store size, technical comfort, and the number of products you need to remove.

    
        📌
        

Key Takeaways: 

- Bulk deleting products from your WooCommerce store allows for quick removal instead of individually deleting them, saving considerable time and effort.

- Using the premium version of the Product Import Export Plugin for WooCommerce makes it easier to delete products and ensures that your store remains organized and current.

    
    

## Which Method Should You Use?


Choosing the right method depends on your store’s size, your technical expertise, and the level of control you need over the deletion process.

Here’s a quick comparison to help you decide:



## Before You Delete: A Quick Pre-Deletion Checklist


Before bulk deleting products in WooCommerce, it’s important to review a few precautions to avoid losing important data.


- Back up your WooCommerce store: Always create a backup before deleting products. This ensures you can restore your store if products are accidentally removed.




- Check if the products are linked to orders: Some products may be associated with previous orders. Deleting them won’t remove order records, but it may make order details harder to track.




- Consider hiding products instead of deleting them: If a product might be needed later, you can mark it as out of stock, draft, or hidden instead of permanently deleting it.




- Understand trash vs permanent deletion: Deleted products first move to the Trash, where they can be restored. Once permanently deleted from the trash, they cannot be recovered without a backup.




- Consider orphaned images — WooCommerce does NOT auto-delete media when a product is removed; flag this as something to clean up afterward



## Methods to Bulk Delete WooCommerce Products


Need to bulk delete WooCommerce products? There are three ways to do it: use WooCommerce’s built-in Bulk Actions on the Products page, import a CSV file through a plugin like the Product Import Export Plugin for WooCommerce for faster, large-scale deletions, and advanced methods like SQL or WP-CLI.

Manually removing outdated, duplicate, or test products one by one is painfully slow — especially with a large catalog. Bulk deletion solves that. 

Let’s look at all of them.

### Method 1: Default Products Using WooCommerce Bulk Actions


WooCommerce includes a basic Bulk Actions feature that allows you to select multiple products from the Products page in your WordPress dashboard and delete them at once. For this, 


- Go to Products > All Products.




- Use the checkboxes to select the products you want to delete.




- From the Bulk Actions dropdown, choose Move to Trash and click Apply.



![Bulk deleting products from WooCommerce dashboard](https://www.webtoffee.com/wp-content/uploads/2020/04/woo-default-bulk-delete-option.png)


Limitations of this method:


- Limited visibility: You can only see and select a set number of products per page, requiring manual selection across multiple pages.

- Time-consuming: Selecting and deleting products in batches can be tedious, especially if you have hundreds or thousands.

- No filters for custom conditions: You can’t easily filter products by SKU, category, stock status, or other custom fields.



### Method 2: Bulk Delete WooCommerce Products Using CSV (via Import Export Plugin)


This is the most efficient and scalable method, ideal for stores with hundreds or thousands of products. Instead of manually selecting items, you can delete products in bulk using a CSV file with the help of a WooCommerce import export plugin.

One of the easiest ways to do this is to use the [WooCommerce product import export plugin](https://www.webtoffee.com/product/product-import-export-woocommerce/) by WebToffee, which simplifies the process and gives you precise control over product deletion.

#### Why Use a CSV-Based Approach?


Using a CSV file allows you to:


- Delete thousands of products in a single operation

- Precisely control which products are removed (via ID, SKU, or filters)

- Perform repeatable bulk operations

- Avoid manual errors and save time



With a plugin like WebToffee’s, you also get advanced options such as deleting non-matching products, which is especially useful for syncing your catalog.

By leveraging a CSV file, the plugin identifies exactly which products to delete, ensuring accuracy and control over the process. This approach is especially useful when you’re dealing with variable products, outdated items, imported catalogs, or products coming from external inventory systems.

Requirements:

✅ Premium version of the Product Import Export Plugin for WooCommerce

The advanced features required for bulk deletion, including delete actions and deeper product control, are only available in the premium version. These capabilities go beyond simple imports and exports, giving you full flexibility to manage your product catalog.

✅ A properly formatted CSV file

To delete products, your CSV file must include key identifiers such as:


- Product ID

- SKU

- Or any other unique identifier



Along with these identifiers, the CSV should include a dedicated column specifying the delete action (e.g., Delete, Remove, or the exact keyword required by the plugin). During the import process, the plugin will read this action and automatically delete the matching products from your store.

#### How It Works


The process follows a simple workflow:

Export products → Modify CSV → Re-import with delete settings

Here’s a quick overview of what we’ll be doing:


- Export products from your store to a CSV file using the Product Import/Export Plugin.

- Edit the CSV to remove the products you no longer want on your site.

- Re-import the file using the same plugin, this time with the “Delete non-matching products from store” option enabled. This will delete all products not listed in the CSV.



### Export Your Current Products into a CSV File


Now, follow the steps below to export products from your WooCommerce store. 

#### Step 1: Install & Activate the WebToffee Product Import Export Plugin



- After purchasing the plugin, download the plugin file from My Account > Downloads. 

- Go to Plugins > Add New Plugin from your WordPress dashboard and upload the plugin file. 

- Install and Activate the plugin.




![Image](https://www.webtoffee.com/wp-content/uploads/2020/04/upload-and-install-plugin.png)



#### Step 2: Select Product as Post Type for Export 


After you have installed and activated the plugin, let’s see how the export process is carried out. 


- Go to – WebToffee Import Export (Pro) > Export. 




- Choose the post type as Product and proceed to select the export method.



![Selecting product as post type for export](https://www.webtoffee.com/wp-content/uploads/2020/04/product-post-type-export-scaled.png)


#### Step 3: Choose Advanced Export Method



- Now select the method for exporting the products. You will have two options: Quick export and Advanced export. 

- Let’s select Advanced export and proceed to the next step. 



![Advanced export method](https://www.webtoffee.com/wp-content/uploads/2020/04/export-method-product.png)


#### Step 4: Filter Product Data to Export 


Here, you can [export specific WooCommerce products](https://www.webtoffee.com/blog/export-specific-woocommerce-products/) by customizing the export settings, including the number of products to export and the products, categories, or tags to include or exclude.

However, if you want to export all products, it’s best to skip these steps. 

![Filtering product data for export](https://www.webtoffee.com/wp-content/uploads/2020/04/filterexportdata.png)


#### Step 5: Map and Rename Export Columns


Here, you can decide which information to export and how to organize it. You can rearrange the product fields, rename the columns, and select specific fields to appear in the output export file. 

Since we have to export all the products, you can skip configuring and proceed directly to the next step. If you prefer to rename or rearrange any fields, you can do so before moving forward.

![Mapping and exporting product export columns](https://www.webtoffee.com/wp-content/uploads/2020/04/product-export-mapping.png)


#### Step 6: Set Advanced Options/Batch Export of Products 


In this final step, you can customize the export file name and format, as well as access advanced options like scheduling, batch exporting, and more.


- In the Delimiter drop-down, choose a separator (comma, semicolon, tab, space) that differentiates columns in the CSV file. 




- Select the number of products to be exported in a single batch. By default, it’s set to 100.




- Once done, click Export to start exporting your products.



![Advanced product export options](https://www.webtoffee.com/wp-content/uploads/2020/04/setting-advanced-product-export-options.png)


You can then download the CSV file and modify it to remove any products you no longer want on your site.

### Prepare the CSV for Deletion


After exporting your product catalog, you need to edit the CSV file to specify which products should be deleted. There are two ways to do this, depending on whether you want to remove specific products or keep only certain ones.

#### Option 1: Delete Specific Products by Setting Status to “Trash”


Use this method when you already know which products you want to delete.

Open the exported CSV in a spreadsheet editor like Excel or Google Sheets. Remove the rows for products you want to keep so that the file contains only the products you want to delete. Then, locate the post_status column and change its value to trash for those products.

Make sure the CSV includes a unique identifier, such as ID or SKU, so the plugin can match each row with the correct product.

What it looks like in practice:



When the file is imported, those products will be moved to the WooCommerce Trash. They can still be restored from Products > Trash, or permanently removed by emptying the trash.

#### Option 2: Keep Certain Products and Delete Everything Else


This method works best when you want to keep only a specific set of products and remove the rest.

Open the CSV and keep only the rows for products that should remain in your store. Do not change the post_status values. During import, enable the option “Delete non-matching products from store.” The plugin will compare the CSV with your store and automatically delete any products that are not listed in the file.

Example scenario: Say your store has 3,000 products. You’re switching to a new supplier, and only 1,800 products will carry forward. Rather than manually identifying and trashing the 1,200 items you’re dropping, you simply keep the 1,800 products in the CSV, enable “Delete non-matching products from store,” and import. The plugin handles the rest.

Because this method can remove large numbers of products, make sure you double-check the CSV and keep a backup before importing.

    
         
        

### Which Option Should You Pick?

The right choice depends on which list is shorter and easier to define:

Choose Option 1 (Trash specific products) when you know exactly which products need to go. For instance, a list of SKUs from your warehouse team, a specific category of expired items, or test products with a recognizable naming pattern. This is the safer approach because it only touches the products explicitly listed in your file.

Choose Option 2 (Delete non-matching) when it’s easier to define what stays than what goes. For example, a new season’s catalog from your supplier, a post-migration cleanup, or a full inventory reset. It’s faster for large-scale removals but carries more risk if the CSV is incomplete.

    
    

Regardless of which option you choose, make sure the ID or SKU values in your CSV exactly match what’s in your WooCommerce store. A mismatched ID will cause the plugin to either skip the product or treat it as a new import, which defeats the purpose entirely.

Now let’s proceed to importing these product files. 

### Import Products for Bulk Deletion


Follow the steps below to import products using the same plugin and delete them in bulk from your WooCommerce store. 

#### Step 1: Select Product as the Post Type to Import


Once you have installed the plugin, 


- Go to WebToffee Import Export (Pro) and select Import.

- Select Product as the post type to import from the dropdown menu.



![selecting product as post type for import ](https://www.webtoffee.com/wp-content/uploads/2020/04/selecting-post-type.png)


#### Step 2: Select Advanced Import Method


Here, you may select the Advanced import option and upload the CSV file you prepared earlier.

![selecting advanced product import method](https://www.webtoffee.com/wp-content/uploads/2020/04/import-method-for-bulk-deletion.png)


Proceed to the next step.

#### Step 3: Map Imported Columns to Product Data Fields


Here, you can map the CSV file to the WooCommerce data fields. Mapping is required to ensure that the column headers in the CSV file match the corresponding WooCommerce data fields.

![map product import columns](https://www.webtoffee.com/wp-content/uploads/2020/04/map-prod-impo-columns.png)


#### Step 4: Set Advanced Options for Product Import


This is the final step in importing products, and here, we will configure the option to delete products in bulk. 


- Choose to Update the existing products in the store. 

- Then, you will find an option to Delete non-matching products from store. Enable the option to delete products from your store that are not presented in the CSV file.

- Now, click the Import/Schedule button and select Import. 



![Configuring advanced options for product import ](https://www.webtoffee.com/wp-content/uploads/2020/04/advanced-import-options-for-bulk-deletion-products.png)


After the import process is completed, the plugin will compare the products listed in your CSV file with the products currently in your WooCommerce store. Any product not included in the CSV will be automatically removed. 

This ensures that only the products you intentionally keep — those present in the CSV — remain in your catalog.

Advantages of this method: 


- Fast Bulk Deletion: Quickly delete large inventories with just a few steps—ideal for stores with hundreds or thousands of products.

- Targeted Control: Filter and delete by any product field, such as SKU, ID, name, or category, giving you precise control over what stays and what goes.

- No Manual Selection: No need for manual selection or scrolling through multiple pages in the dashboard.

- Up-to-Date Inventory: Keeps your product catalog up to date by automatically removing outdated or irrelevant items, helping you maintain a clean and relevant storefront.

- Error-Free Execution: Minimizes human error by using structured CSV data for deletion, ensuring accuracy.

- Automated Maintenance: Supports scheduled or repeat deletion tasks, making it perfect for ongoing store maintenance and inventory refreshes.




![Import progress log](https://www.webtoffee.com/wp-content/uploads/2023/04/Import-progress-log.png)
*caption: Successfully imported products are displayed after the import is complete.*



    
        👉
        

Also Read: 

- How to Delete Field Values While Importing WooCommerce Products?

- Common WooCommerce Product Import Errors & How to Fix Them

    
    

### Method 3: Delete WooCommerce Products Via SQL or WP-CLI


This method is best suited for developers or advanced users who need full control over bulk product deletion. It allows you to remove large numbers of products quickly, but it also carries a higher risk of permanent data loss.

    
         
        

Important: Never run these commands directly on a live store. Always take a full database backup first, then test in a staging environment. These operations cannot be undone.

    
    

#### Option 1: Delete Products Using SQL


WooCommerce stores products in the WordPress database. Regular products and variations are saved in the wp_posts table using the post types product and product_variation. Product-related details, such as prices, stock, and custom fields, are stored in the wp_postmeta table.

Since product data is stored across more than one table, you need to delete the related metadata first and then delete the products.

Before deleting anything, always run a SELECT query to check which products will be affected:

    
         
        

SELECT ID, post_title, post_type, post_statusFROM wp_postsWHERE post_type IN (‘product’, ‘product_variation’);

    
    

This lets you preview the products and variations that match the query.

Delete All Products and Product Variations

Use the following queries if you want to remove all WooCommerce products and variations from your store:

    
         
        

DELETE FROM wp_postmetaWHERE post_id IN (SELECT ID FROM wp_postsWHERE post_type IN (‘product’, ‘product_variation’));

DELETE FROM wp_postsWHERE post_type IN (‘product’, ‘product_variation’);

    
    

The first query removes the product metadata. The second query removes the actual product and variation entries.

Delete Only Trashed Products

For a safer first step, you can delete only products that are already in the Trash:

    
         
        

DELETE FROM wp_postmetaWHERE post_id IN (SELECT ID FROM wp_postsWHERE post_type = ‘product’AND post_status = ‘trash’);

DELETE FROM wp_postsWHERE post_type = ‘product’AND post_status = ‘trash’;

    
    

This method is less risky because it only removes products you have already moved to Trash.

Note: These examples use the default WordPress database prefix wp_. If your site uses a custom prefix, such as mystore_, replace wp_ with your actual database prefix in all table names.

HPOS Compatibility Note

If your store uses WooCommerce 8.2 or later with High-Performance Order Storage, also known as HPOS, order data is stored in separate WooCommerce order tables instead of wp_posts.

However, this does not affect the product deletion queries above. WooCommerce products are still stored in the wp_posts table.

The important thing to remember is this: these queries are only for deleting products. If you also plan to bulk delete orders, do not use older SQL queries without checking your store’s order storage settings first.

You can check this from: WooCommerce > Settings > Advanced > Features

#### Option 2: Delete Products Using WP-CLI


If you have command-line access to your server, WP-CLI is one of the fastest ways to bulk delete WooCommerce products. It lets you delete products directly from the terminal without opening phpMyAdmin or using a database tool.

Before deleting anything, first run this command to preview the product IDs that will be affected:

    
         
        

wp post list –post_type=’product’ –format=ids

    
    

This shows the IDs of all products currently in your store.

Permanently Delete All Products

Use the following command to delete all WooCommerce products permanently:

    
         
        

wp post delete $(wp post list –post_type=’product’ –format=ids) –force

    
    

The –force option permanently deletes the products and skips the Trash. Use this only if you are sure you do not need to recover them later.

Move All Products to Trash

For a safer option, you can move all products to the Trash instead:

    
         
        

wp post delete $(wp post list –post_type=’product’ –format=ids)

    
    

Since this command does not include –force, the products are moved to Trash instead of being permanently deleted. This gives you a chance to restore them if needed.

Tip: Always back up your site before running WP-CLI delete commands, especially when working with hundreds or thousands of products.

#### Risks of Advanced Methods


SQL


- Permanent deletion with no undo

- Accidental removal of incorrect data

- Orphaned metadata and relationships

- Potential site issues if misused



WP-CLI


- No undo once commands are executed

- Incorrect filters can delete unintended content

- Requires command-line experience



While these methods are powerful, they are not recommended for most users. For safer and more controlled bulk deletion, the CSV method using the plugin remains the best option.

## What Happens After You Delete? Post-Cleanup Tasks


Deleting your products is only half the job. WooCommerce doesn’t exactly tidy up after itself, so there are a few loose ends you’ll want to address before moving on. Skipping these steps can leave your store cluttered behind the scenes, confuse search engines, and even slow things down over time.

### 1. Empty the Trash


When you delete products using either method above, WooCommerce doesn’t remove them right away. They get moved to the Trash, where they sit for 30 days before WordPress auto-deletes them. 

If you want them gone now and you’re sure you won’t need them back, head to Products > All Products, click the Trash tab, and hit Empty Trash.

### 2. Clean Up Orphaned Product Images


Here’s something that catches a lot of store owners off guard: when WooCommerce deletes a product, it does not delete the images attached to that product. Your featured images, gallery images, and variation images all stay behind in the Media Library, taking up storage and making a mess of things.

For a quick manual check, go to Media > Library, switch to list view, and click the Unattached filter. This shows you media files that aren’t linked to any post or product. A good chunk of these will be leftover product images you no longer need.

### 3. Clear Your Cache and Reindex


If you’re running any kind of caching, and most stores are, whether it’s through a plugin like WP Rocket, W3 Total Cache, or your hosting provider’s built-in cache, now’s the time to flush it. Cached pages may still show deleted products in category listings, search results, or related product sections until the cache refreshes.

The same goes for search. If you’re using a search plugin like SearchWP, ElasticPress, or Algolia, trigger a manual reindex after a bulk delete. Otherwise, customers might search for a product, find it in the results, click through, and land on a 404 page. Not a great experience.

Most caching and search plugins have a one-click purge or reindex button in their settings, and it only takes a moment.

### 4. Check Your Sitemap


Your XML sitemap is what tells Google (and other search engines) which pages exist on your site. If you’ve deleted a large batch of products, those URLs remain in the sitemap until it regenerates.

If you’re using an SEO plugin like Yoast SEO or Rank Math, the sitemap usually updates automatically. But after a large bulk delete, it’s worth forcing a refresh just to be safe. 

Leaving dead URLs in your sitemap won’t crash your site, but it sends search engines on a wild goose chase and can result in a pile of crawl errors in Google Search Console over time.

### 5. Set Up 301 Redirects (If Needed)


This one’s easy to overlook, but it matters, especially if any of the deleted products had been around long enough to get indexed by Google or earn backlinks from other sites. When someone (or a search engine) visits a deleted product URL, they’ll get a 404 “Page Not Found” error. 

The fix is to set up 301 redirects that point those old URLs to relevant pages, usually the parent category page or a similar product. 

You don’t need to do this for every deleted product. Focus on the ones that actually had traffic or backlinks.

## Frequently Asked Questions


How do I delete all products in WooCommerce at once? You can delete all products at once using methods like WooCommerce bulk actions, CSV import (with delete options enabled), SQL queries, or WP-CLI commands. For most users, the CSV method via a plugin is the safest and easiest approach.  Can I undo a bulk product delete in WooCommerce? No, bulk-deleted products are permanently removed unless they were moved to trash. To restore them, you’ll need a backup or previously exported CSV file.  Why should I use a CSV file to bulk delete products in WooCommerce? Using a CSV file along with the premium version of the Product Import Export Plugin for WooCommerce allows you to delete multiple products at once efficiently. It’s a much faster and more efficient method than manually deleting products from the WooCommerce Products page, especially when dealing with large inventories.  How does the bulk delete feature work? Here’s how it works: First, export your products into a CSV file. Then, simply edit the file to remove any products you no longer want in your store. After that, import the file back into WooCommerce, and the plugin will automatically delete any products that aren’t listed in the CSV.  Will this process affect the products I want to keep in my store? No, only products not listed in the CSV file will be deleted. The products that remain in the CSV file will remain in your store after the import process.  Will the bulk delete option affect product data, such as images and descriptions? The bulk delete function only removes products not in the CSV file. It also removes all associated product data, such as images and descriptions, from your store.  Will deleting a product affect my WooCommerce orders? No, existing orders will remain intact. However, the product will no longer be linked, and its details may appear as plain text in the order history.  

## Conclusion


This article aims to show you how to delete products in bulk via CSV in WooCommerce. There are several instances where you may need to delete products in bulk from your WooCommerce store. Deleting each product from the WooCommerce Products page can be daunting. This is why you need a plugin to make your effort easier. 

The [WooCommerce Product Import Export plugin](https://wordpress.org/plugins/product-import-export-for-woo/) mentioned in this article also has a free version with some of the basic features you’re looking for. Check out the free plugin and see if it suits your requirements. 

However, if you need advanced product filtering options and bulk delete products, you’ll need to purchase the premium version.

If you have any questions, drop them in the comments section; we’ll be happy to help you. 

    
        👉
        

Also Read: [How to Avoid Duplication of WooCommerce Products on Import?](https://www.webtoffee.com/blog/how-to-avoid-duplication-of-products-on-import/)

    
    


