How to Bulk Edit Products in WooCommerce

By Muhammad MustafaUpdated 3 October 20269 min readShopify SEO and store management

Quick answer

In Products > All Products, tick the products, choose Edit from Bulk actions and click Apply, then change price, sale price, stock, categories or status and click Update. Variations need the bulk actions inside each product's Variations tab, or a CSV import with "Update existing products" selected, which matches rows by ID or SKU.

On this page
  1. Which method to use
  2. Built-in bulk edit, step by step
  3. Worked examples: a price increase and a sale
  4. Quick edit for single products
  5. Bulk editing variations
  6. Bulk editing with the CSV importer
  7. Bulk editing SEO titles and meta descriptions
  8. Plugins and external bulk editors
  9. Mistakes that cause most bulk edit problems
  10. Backups and reverting changes

WooCommerce ships with more bulk editing than most store owners realize: a bulk edit panel on the product list, quick edit for single products, a set of bulk actions for variations, and a CSV importer that can update existing products. Each one has limits, and the biggest is that the product list bulk edit does not reach inside variable products.

This guide walks through each built-in method with the exact options WooCommerce shows, explains how to handle variations, covers the CSV route for large catalogs, and sets out when a plugin or external tool is worth adding. It finishes with backups, because WooCommerce has no undo for any of these.

Which method to use

MethodWhereBest forMain limit
Bulk editProducts > All Products > Bulk actions > EditPrices, sale prices, stock, categories, tags, status on simple productsDoes not change individual variation prices
Quick editHover a product > Quick EditFast changes to one product without opening itOne product at a time
Variation bulk actionsEdit product > Product data > VariationsPrices, sale prices, stock and dimensions for all variations of one productOne parent product at a time
CSV import with updateProducts > All Products > ImportThousands of products and variations, formula-based changesBlank cells can clear fields; needs care
Plugins and external toolsVariesSpreadsheet editing, rules, previews, rollbackCost, and one more thing to maintain

Built-in bulk edit, step by step

  1. Go to Products > All Products.
  2. Filter the list if needed (by category, product type or stock status) and raise the number of items shown under Screen Options at the top right if you need more than one page.
  3. Tick the products you want to change.
  4. Choose Edit from the Bulk actions dropdown and click Apply.
  5. In the bulk edit panel, change only the fields you need. Every field left at "No change" is left alone.
  6. Click Update.

The panel covers product categories, tags, status (Published, Private, Pending Review, Draft), comments, price, sale price, tax status and class, weight and dimensions, shipping class, catalog visibility, featured, and stock settings (stock status, manage stock, stock quantity, backorders, sold individually).

Price options

The Price dropdown offers three choices:

  • Change to: sets every selected product to the same price.
  • Increase existing price by (fixed amount or %): type 5 for five currency units or 10% for ten percent.
  • Decrease existing price by (fixed amount or %): the same, downward.

The Sale dropdown has matching options for the sale price, plus Set to regular price decreased by (fixed amount or %), which is the one you want for a sale.

Worked examples: a price increase and a sale

Raise prices by 8%

Filter to the category, select all simple products, open bulk edit, choose Increase existing price by (fixed amount or %) and type 8%. A $25.00 product becomes $27.00, and a $12.99 product becomes $14.03 (WooCommerce does not round to a price ending for you). If you want endings like .99, you will need a CSV with a rounding formula or a plugin that supports price endings.

Run a 20% off sale

Select the products, open bulk edit, and in the Sale field choose Set to regular price decreased by (fixed amount or %) with 20%. A $40.00 product gets a sale price of $32.00, and the storefront shows the regular price crossed out. A $12.99 product gets $10.39, because WooCommerce rounds to your store's price decimals rather than to a price ending.

Ending the sale is less tidy. The bulk edit panel has no "remove sale price" option: choosing Change to: with an empty value sets the sale price equal to the regular price, which stops the discount showing but leaves a value in the field. For a clean finish, empty the sale price column in a CSV update, clear it with quick edit on a handful of products, or schedule the end date in advance.

The bulk edit panel does not set sale dates. For a sale that starts and ends on its own, use the sale schedule on each product, the Set scheduled sale dates variation bulk action, or a plugin. A product tag such as "spring-sale" added in the same bulk edit makes it easy to find every product in the promotion later.

Quick edit for single products

Hover over a product in the list and click Quick Edit. You get the same kind of fields as bulk edit (title, slug, SKU, price, sale price, tax, weight, dimensions, shipping class, visibility, stock, categories, tags and status), but showing the product's actual current values instead of "No change". It is the fastest way to fix a typo in a price or SKU while working down the list, without loading the full product editor.

Bulk editing variations

WooCommerce's documentation says bulk editing works best with simple products and cannot edit the complexities of variable products. In practice, changing the price in bulk edit does not update the prices of each variation. For variable products you have two built-in routes.

Variation bulk actions inside a product

  1. Open the variable product and go to Product data > Variations.
  2. Open the bulk actions dropdown above the variation list.
  3. Choose an action such as Set regular prices, Increase regular prices (fixed amount or percentage), Decrease regular prices (fixed amount or percentage), Set sale prices or Set scheduled sale dates. Stock, stock status, low stock threshold, weight and dimensions have their own actions.
  4. Enter the value when prompted. The action applies to every variation of that product.
  5. Click Update on the product to save.

This is quick for one product with 40 variations. It becomes tedious with 300 variable products, because you repeat it for each parent.

Variation limits worth knowing

  • The Variations tab loads 15 variations per page by default, with navigation arrows beyond that. Bulk actions still apply to all variations, but you only see and check 15 at a time.
  • The "Generate variations" button creates at most 50 variations per run. The limit comes from the WC_MAX_LINKED_VARIATIONS constant, which a developer can raise in wp-config.php. You can also run it again to create the rest.
  • Products with hundreds of variations make the product editor and the storefront slower. On the storefront, above 30 variations WooCommerce stops preloading all variation data for the dropdowns and fetches it as shoppers make selections.

Bulk editing with the CSV importer

For large catalogs, the built-in CSV exporter and importer is the most powerful free option. Every product and every variation becomes a row, so a spreadsheet formula can change thousands of prices at once.

  1. Go to Products > All Products and click Export. Choose the columns you need (at least ID, SKU, Type, Parent and the fields you are changing), filter by product type or category if useful, and click Generate CSV.
  2. Export a second, full copy with all columns and keep it untouched as your backup.
  3. Edit the working file. Variations appear as rows with the type variation and a Parent value that links them to the variable product.
  4. Go to Products > All Products, click Import, choose the file, and tick Update existing products.
  5. On the column mapping screen, check each mapping. Set any column you do not want to change to Do not import.
  6. Run the importer and read the summary of updated, skipped and failed rows.

With "Update existing products" ticked, WooCommerce matches rows to existing items by ID or SKU, and rows that do not match are skipped (recent versions can create a new variation when the row's Parent matches an existing variable product and the row has a SKU). Two details cause most problems:

  • Empty cells can clear data. An empty value in a mapped column can clear that field on the product, for example removing a sale price. Delete columns you are not changing, or map them to "Do not import".
  • Spreadsheets damage data. Excel strips leading zeros from SKUs and barcodes and may change date formats. Format those columns as text and save as UTF-8 CSV.

Warning: The upload size limit on the import screen is set by your server, not WooCommerce. If a large file fails or times out, split it into smaller files, keeping each variable product's parent and variation rows together, or ask your host to raise the limit.

Developers can also script changes with WP-CLI (wp wc product update) or the WooCommerce REST API. Both are fast for repeated jobs but offer no preview, so test on a staging copy first.

Bulk editing SEO titles and meta descriptions

WooCommerce itself has no SEO title or meta description field. Those come from your SEO plugin, which stores them as product meta. That means the bulk edit panel cannot touch them, but the CSV route can:

  1. On the export screen, tick Yes, export all custom meta next to "Export custom meta?". The file then includes columns that start with Meta:.
  2. Find your plugin's fields. Yoast SEO uses _yoast_wpseo_title and _yoast_wpseo_metadesc; Rank Math uses rank_math_title and rank_math_description. Check a product you have already edited to confirm which keys your site uses.
  3. Delete every other meta column, keep ID and SKU, write the new titles and descriptions, and import with "Update existing products" ticked. Map the meta columns to "Import as meta data".

This is worth doing after a large import, when hundreds of products carry supplier titles that are too long for search results. Write titles that name the product and its main attribute, and keep descriptions to one or two plain sentences. If your products came from another store, the AM Jarvis Product Importer lets you rewrite titles and descriptions before they reach WooCommerce, which avoids this cleanup.

Plugins and external bulk editors

Plugins fill the gaps in the built-in tools. The common types are:

  • Spreadsheet-style editors such as Smart Manager or WP Sheet Editor, which show products and variations in an editable grid inside WordPress.
  • Price rule plugins that apply percentage changes with rounding, category filters and scheduled sales.
  • External tools that connect through the WooCommerce REST API and edit products from outside WordPress, which keeps the load off your admin.

AM Jarvis Bulk Edit Pro is in the last group. It edits WooCommerce and Shopify products (prices, compare-at and sale pricing, status, vendor, type, SEO title and meta description), shows a preview before applying, and offers a one-click revert. If you manage stores on both platforms, the same workflow applies; see the guide to bulk editing products in Shopify.

Whatever you install, check that it handles variations individually, previews changes, and works with your caching and SEO plugins. Every extra plugin adds admin load, so remove the ones you stop using.

Mistakes that cause most bulk edit problems

  • Selecting variable products in a price bulk edit and assuming the variations changed. Check one variable product afterward.
  • Typing 10 instead of 10% in an increase field, which adds ten currency units to every price instead of ten percent.
  • Importing a full export with every column when only prices changed, which rewrites descriptions, images and stock with whatever the file held when it was exported.
  • Editing during busy hours. Stock quantities in a CSV go stale as soon as orders arrive, so do stock updates when the store is quiet.

Backups and reverting changes

None of the built-in methods keep an undo history. Build your safety net before each change:

  1. Take a database backup through your host or a backup plugin before any large change. It is the only full restore point if something goes badly wrong.
  2. Export the fields you are changing (ID, SKU, regular price, sale price and so on) to CSV right before the edit. Restoring those fields means importing that file with "Update existing products" ticked, without touching anything else.
  3. Test on staging if your host offers it, especially for imports and plugin changes.
  4. Change in batches by category, so a mistake affects a known set of products.
  5. Clear caches after the change so the storefront and product feeds show new prices.

If you sell through Google Shopping, prices in your feed need to match your product pages after a bulk change, or products can be disapproved; the guide to the Google Shopping feed covers how feeds pick up updates. A bulk edit session is also a good time to fill missing identifiers, and the GTIN lookup tool helps check barcodes before you add them to SKUs or GTIN fields.

Frequently asked questions

Can I bulk edit variable product prices in WooCommerce?

Not from the product list bulk edit panel, which does not change individual variation prices. Open each variable product and use the bulk actions in the Variations tab, such as "Increase regular prices (fixed amount or percentage)", or export variations to CSV, edit the prices and re-import with "Update existing products" selected.

How do I increase all prices by a percentage in WooCommerce?

Select the products in Products > All Products, choose Edit from Bulk actions, then in the Price field pick "Increase existing price by (fixed amount or %)" and enter a value like 10%. This works on simple products. Variable products need the Variations tab bulk actions or a CSV update.

How does the WooCommerce CSV importer match existing products?

When "Update existing products" is ticked, the importer matches each row to an existing product or variation by ID or SKU. Rows that do not match are skipped, with an exception in recent versions for variation rows whose Parent matches an existing variable product and that include a SKU.

Is there an undo for WooCommerce bulk edit?

No. Bulk edit, quick edit, variation actions and CSV imports all save immediately. Export the fields you are changing before you start and take a database backup. To revert, import the export with "Update existing products" ticked, or restore the backup for larger problems.

How many products can I bulk edit at once in WooCommerce?

The bulk edit panel works on the products shown in the list, so raise "Number of items per page" in Screen Options to select more. Very large selections can time out on shared hosting. For thousands of products, the CSV importer, which processes rows in batches, is more reliable.

Muhammad Mustafa

Founder of AM Jarvis and 95 Solutions LLC. More than a decade running e-commerce stores, Google Shopping campaigns and niche sites. About the author

Platforms such as Shopify, Google Merchant Center, Etsy and Amazon change their menus and rules often. We review guides regularly; if something here no longer matches what you see, let us know.