WooCommerce Attribute & Category Planner
Describe your catalog and get a proposed category tree, global vs custom attributes and tags, with the CSV columns and WP-CLI commands to build it.
Categories, tags and attributes do different jobs
| Shape | Use it for | |
|---|---|---|
| Categories | Hierarchical (parent/child) | The broad sections a shopper browses through |
| Tags | Flat, no nesting | A trait that cuts across categories (a material, a use case) |
| Global attributes | Reusable across products, drives variations | Anything on more than a couple of products, or size/color-style options |
| Custom attributes | One product only, not filterable | Something genuinely one-off |
Mixing these up is the most common WooCommerce catalog mistake: putting a material ("Cotton") in categories when it should be a tag, or typing the same size options into every product as a custom attribute instead of setting it up once as a global one.
Building it
- 01
Categories and tags
Products > Categories and Products > Tags in wp-admin, or bulk-create them with the WP-CLI commands the tool gives you.
- 02
Global attributes
Products > Attributes: click Add attribute, then Configure terms to add its values. Only global attributes here can drive variations.
- 03
Bulk-load products
Use the CSV header row the tool gives you (Categories, Tags, and numbered Attribute columns) with WooCommerce's own product CSV importer.
The CSV columns, exactly
Categories: comma-separated, nest with>(e.g.Clothing > Shirts)Tags: comma-separatedAttribute 1 name,Attribute 1 value(s),Attribute 1 visible(1 or 0),Attribute 1 global(1 or 0), thenAttribute 2 nameand so on for more attributes
Questions people ask
Global or custom attribute, which should I use?
Global for anything used on more than a product or two, and for anything that needs to drive variations (size, color). Custom only for a one-off detail on a single product.
Can custom attributes create variations?
No, only global attributes can. If you need variable products (a size/color picker), that attribute has to be global.
How do I nest a category two levels deep in the CSV?
Use > between levels in the Categories column, for example Clothing > Shirts > Linen Shirts.
Is there a WP-CLI command for attributes too?
Not a safe generic one: attributes also write to WooCommerce's own attribute-taxonomy table, not just WordPress terms, so set those up at Products > Attributes instead.
I need the CSV itself, not just the column layout.
Build the full file with the WooCommerce product CSV template or the variable product CSV builder.
Related tools
Last reviewed 30 September 2026.
Sources: WooCommerce: Managing product taxonomies (categories, tags, attributes) · WooCommerce: Product CSV importer and exporter · WP-CLI: wp term create
