Title: Keyword-Based Bulk Category Assignment for WooCommerce
Author: fradigital
Published: <strong>28. Juli 2025</strong>
Last modified: 21. August 2026

---

Search plugins

![](https://ps.w.org/keyword-based-bulk-category-assignment-for-woocommerce/assets/
icon-128x128.png?rev=3335591)

# Keyword-Based Bulk Category Assignment for WooCommerce

 By [fradigital](https://profiles.wordpress.org/fradigital/)

[Download](https://downloads.wordpress.org/plugin/keyword-based-bulk-category-assignment-for-woocommerce.1.2.4.zip)

 * [Details](https://de-ch.wordpress.org/plugins/keyword-based-bulk-category-assignment-for-woocommerce/#description)
 * [Reviews](https://de-ch.wordpress.org/plugins/keyword-based-bulk-category-assignment-for-woocommerce/#reviews)
 *  [Installation](https://de-ch.wordpress.org/plugins/keyword-based-bulk-category-assignment-for-woocommerce/#installation)
 * [Development](https://de-ch.wordpress.org/plugins/keyword-based-bulk-category-assignment-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/keyword-based-bulk-category-assignment-for-woocommerce/)

## Description

Keyword-Based Bulk Category Assignment for WooCommerce reduces repetitive category
work after product imports or catalog updates. Create rules once, select products
in the WooCommerce Products list, review the exact planned assignments, and apply
them only after confirmation.

The plugin adds categories to a product. It does not remove unrelated categories
that are already assigned.

#### Main features

 * Create separate include and exclude rules for every WooCommerce product category.
 * Use simple terms with OR logic.
 * Combine multiple required terms in an AND group.
 * Search product titles, short descriptions, full descriptions, SKUs, and attributes.
 * Keep the product title as the backward-compatible default search field after 
   an upgrade.
 * Preview every planned category assignment before products are changed.
 * See which term or AND group caused a match.
 * Undo the most recently applied run for the current administrator.
 * Filter the rules table by category name or show configured categories only.
 * Save rules from controls directly above or below the rules table.
 * Export and import rules as compact, legacy-compatible JSON.
 * Preserve rules created with version 1.0 and its established comma / `"AND"` syntax.

### Rule logic

#### Simple terms use OR

Enter separate terms as individual chips. A category matches when at least one Contains
chip matches the selected product fields.

Example:

    ```
    shoes, sneakers, boots
    ```

This means `shoes OR sneakers OR boots`.

#### AND groups require every term

Choose **+ AND group**, enter at least two comma-separated terms, and press Enter.

Example input in the AND-group editor:

    ```
    red, leather
    ```

The plugin stores this as:

    ```
    red "AND" leather
    ```

Both terms must occur in the searchable product content. Simple terms and AND groups
can be combined in the same rule. For example, `shoes, red "AND" leather` means `
shoes OR (red AND leather)`.

#### Exclusions take priority

Rules in **Does not contain** use the same chip and AND-group logic. If any exclusion
chip or exclusion AND group matches, the category is skipped even if a Contains 
rule matches.

#### Matching details

 * Matching is case-insensitive.
 * HTML markup is ignored.
 * Repeated whitespace is normalized.
 * German umlauts are normalized so, for example, `Müller` also matches `mueller`.
 * Terms are substring matches; choose specific terms to avoid broad unintended 
   matches.

### How to use the plugin

 1.  Go to **WooCommerce > Category Auto Rules**.
 2.  Select the product fields that the rules should search. Existing installations
     default to **Title**.
 3.  Find the desired category. The category hierarchy and term ID are displayed for
     clarity.
 4.  Add one or more terms under **Contains**. Press Enter or leave the input to accept
     the text.
 5.  Add optional exclusions under **Does not contain**.
 6.  Use **+ AND group** when multiple terms must occur together.
 7.  Save with the button above or below the table.
 8.  Go to **Products**, select the products to evaluate, and choose **Apply Category
     Auto Rules (Preview first)** from Bulk actions.
 9.  Review the planned assignments and the matching reasons.
 10. Confirm the preview to apply new categories. Use **Undo last run** in the success
     notice if the result needs to be reverted.

### Import and export

Export downloads all category rules as JSON. The exported structure intentionally
keeps the option format used by earlier releases, so it can also be read by version
1.0.

Import replaces the current category rules only. Before replacement, version 1.2.4
stores a backup of the previous rules. The **Restore pre-import backup** action 
can swap back to that rule set. The global product-field selection is not overwritten.
Imports are restricted to valid JSON files up to 2 MB.

Category rules are keyed by WooCommerce term ID. When rules are moved between different
stores, corresponding categories should use the same term IDs. Review the imported
rows before applying rules to products.

### Backward compatibility

Version 1.2.4 continues to use the original `keywbuca_category_rules` WordPress 
option and the original rule keys `contains` and `not_contains`. Existing rules 
are available immediately after the update; no destructive migration or activation
cleanup runs.

The original syntax remains valid:

 * commas separate OR blocks;
 * the literal `"AND"` joins required terms inside one block;
 * title-only matching remains the default until an administrator enables more fields.

As a precaution for any production update, export the existing rules and create 
a normal site/database backup before installing a new plugin version. After updating,
open the rules screen, confirm the stored rules, save once, and test a small product
selection through the preview.

### Privacy

The plugin does not contact external services, create public-facing cookies, or 
transmit product data. Rules, preview data, and undo data remain in the WordPress
installation.

### License

This program is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software Foundation,
either version 2 of the License, or (at your option) any later version.

## Screenshots

[[

[[

[[

## Installation

 1. Upload the complete plugin folder to `/wp-content/plugins/`, install the ZIP through**
    Plugins > Add New > Upload Plugin**, or deploy the release through the WordPress.
    org plugin directory.
 2. Activate WooCommerce.
 3. Activate **Keyword-Based Bulk Category Assignment for WooCommerce**.
 4. Open **WooCommerce > Category Auto Rules**.
 5. Create or review the rules before processing products.

Updating from version 1.0 does not require deleting, deactivating, or recreating
existing rules.

## FAQ

### Will an update from version 1.0 delete my rules?

No. Version 1.2.4 reads the same `keywbuca_category_rules` option and the same per-
category rule values. It does not run the old cleanup routine during activation.

### Does the plugin change products as soon as a rule is saved?

No. Rules run only when an authorized user selects products and starts the dedicated
bulk action. The first step is a preview; products are changed only after the preview
is confirmed.

### What happens when a product already has a matching category?

The preview lists only new assignments. Existing category relationships are left
unchanged and are not counted as a new assignment.

### What happens when a product matches multiple categories?

Every newly matching category is added to the product, provided its exclusion rule
does not match.

### Are existing product categories removed?

No. Applying rules appends matching categories. It does not remove unrelated categories.

### How does undo work?

After a successful run, the success notice offers **Undo last run**. Undo restores
the complete category set recorded immediately before that user’s most recent run.
A later run replaces that user’s previous undo record.

### Which product fields can be searched?

Title, short description, full description, SKU, and attribute names and values.
The title is enabled by default for compatibility with earlier versions.

### Can rules be transferred between stores?

Yes, using JSON export and import. Because rules use category term IDs, verify that
the destination categories use the intended IDs.

### Does uninstalling the plugin erase saved rules?

No. The plugin deliberately leaves its configuration in the WordPress database so
an accidental removal does not destroy a rule set.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Keyword-Based Bulk Category Assignment for WooCommerce” is open source software.
The following people have contributed to this plugin.

Contributors

 *   [ fradigital ](https://profiles.wordpress.org/fradigital/)

“Keyword-Based Bulk Category Assignment for WooCommerce” has been translated into
2 locales. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/keyword-based-bulk-category-assignment-for-woocommerce/contributors)
for their contributions.

[Translate “Keyword-Based Bulk Category Assignment for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/keyword-based-bulk-category-assignment-for-woocommerce)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/keyword-based-bulk-category-assignment-for-woocommerce/),
check out the [SVN repository](https://plugins.svn.wordpress.org/keyword-based-bulk-category-assignment-for-woocommerce/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/keyword-based-bulk-category-assignment-for-woocommerce/)
by [RSS](https://plugins.trac.wordpress.org/log/keyword-based-bulk-category-assignment-for-woocommerce/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.2.4

 * Preserved the original `keywbuca_category_rules` option, rule keys, comma-separated
   OR blocks, and `"AND"` group syntax.
 * Preserved title-only matching as the upgrade default.
 * Added explicit WordPress 7.1 and WooCommerce 11.0 compatibility metadata.
 * Added save controls directly above and below the rules table.
 * Added a clearer, responsive rules interface with category search, configured-
   only filtering, rule counts, hierarchy indentation, and unsaved-change status.
 * Prevented unconfirmed chip-editor text from being lost when the form is saved.
 * Added accessible chip removal controls and improved keyboard behavior.
 * Added global matching-field selection for titles, descriptions, SKUs, and product
   attributes.
 * Added safe previews with exact match reasons before product changes are committed.
 * Limited previews to the administrator who created them and strengthened transient
   identifiers.
 * Added per-user one-click undo while retaining compatibility with an existing 
   legacy undo log.
 * Added legacy-compatible JSON export, stricter JSON import validation, and a restorable
   pre-import backup.
 * Improved custom and taxonomy attribute matching.
 * Avoided fatal errors on PHP installations without the optional mbstring extension.
 * Reduced category-query overhead by loading and rendering the hierarchy in one
   pass.
 * Updated and expanded installation, usage, compatibility, privacy, import/export,
   and FAQ documentation.

#### 1.0

 * Initial release with title-based Contains and Not contains rules, comma-separated
   OR blocks, `"AND"` groups, bulk application, and JSON import/export.

## Meta

 *  Version **1.2.4**
 *  Last updated **2 Monaten ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 7.4 or higher **
 *  Languages
 * [Dutch](https://nl.wordpress.org/plugins/keyword-based-bulk-category-assignment-for-woocommerce/),
   [English (US)](https://wordpress.org/plugins/keyword-based-bulk-category-assignment-for-woocommerce/)
   und [Russian](https://ru.wordpress.org/plugins/keyword-based-bulk-category-assignment-for-woocommerce/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/keyword-based-bulk-category-assignment-for-woocommerce)
 * Tags
 * [automation](https://de-ch.wordpress.org/plugins/tags/automation/)[bulk edit](https://de-ch.wordpress.org/plugins/tags/bulk-edit/)
   [keywords](https://de-ch.wordpress.org/plugins/tags/keywords/)[Product Categories](https://de-ch.wordpress.org/plugins/tags/product-categories/)
   [woocommerce](https://de-ch.wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://de-ch.wordpress.org/plugins/keyword-based-bulk-category-assignment-for-woocommerce/advanced/)

## Ratings

Es wurden noch keine Rezensionen eingereicht.

[Your review](https://wordpress.org/support/plugin/keyword-based-bulk-category-assignment-for-woocommerce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/keyword-based-bulk-category-assignment-for-woocommerce/reviews/)

## Contributors

 *   [ fradigital ](https://profiles.wordpress.org/fradigital/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/keyword-based-bulk-category-assignment-for-woocommerce/)