Shoppers describe products the way they think about them. They search for "navy", "waterproof", "oak", or "size 12", not for the product name you gave it. Those words are already in your catalog, stored as WooCommerce product attributes, sitting in the Attributes tab of every product.
Storing them and searching them are two different things. The default WooCommerce search reads the product title, excerpt, and content, and never touches attributes. A customer searching for the exact color you stock gets an empty page.
This guide covers the two kinds of attribute WooCommerce supports, why search ignores both, and how to make their values searchable with Advanced Woo Search PRO, including values that live on product variations. By the end you will have:
- Products findable by attribute value. A search for "navy" or "merino" returns the products carrying it, whether the attribute is global or custom.
- Variations searched and displayed. A value that exists on one variation finds its product, and the variation itself can appear as its own result.
- Attribute values on every result. Each row shows its color, size, or material, so shoppers can see why it matched.
- Attribute pages as results. "Navy" can return the navy archive page with its product count, not just individual products.
- Filters and ranking control. Quick filter buttons by color or size, rules for which products may appear, and a weight per attribute.

Searching attributes is an Advanced Woo Search PRO feature, so the steps below need the PRO version. If you are not ready to upgrade, there is a code-only alternative further down.
What Are Product Attributes in WooCommerce
An attribute is a property of a product rather than the product itself: color, size, material, capacity, voltage. WooCommerce uses them for two jobs at once. They describe the product, and they are the axis variations are built on, so a t-shirt with three sizes and two colors is really one product plus a grid of attribute combinations.
Global Attributes vs Custom Attributes
This distinction decides everything that follows, and it is the single most common reason attribute search appears broken.
- Global attributes are created under Products → Attributes and reused across your catalog. They are real taxonomies, their values are terms, and each value has its own archive page.
- Custom attributes are typed directly into a single product's Attributes tab. They exist on that product only, behave more like custom fields, and have no archive page.

Both can be made searchable, but by different switches, and mixing them up is why people conclude the feature does not work. Global attributes are chosen one by one, so you can index Color and ignore Voltage. Custom attributes are all or nothing: a single Custom attributes option covers every custom attribute in your catalog at once. If your values were typed straight into the product rather than created under Products → Attributes, they are custom, and the extra step is in the troubleshooting section.

Attributes and Product Variations
Attributes are what make variable products possible. Mark an attribute as Used for variations and WooCommerce turns its values into the axes of a grid: Color with three values and Size with four gives you up to twelve variations, each one a separately buyable item with its own price, stock level, SKU, and image.
That is why attributes carry so much weight in a catalog. They are not decoration on the product page, they are the structure that lets one product listing hold a dozen real items. It also means the value a shopper types is often attached to a variation rather than to the parent product, which is what the later section on searching variations is about.
Does WooCommerce Search by Attribute by Default?
No. Default WordPress search reads three fields on each post: the title, the excerpt, and the content. Global attribute values are taxonomy terms stored in separate tables, and custom attribute values are product meta. Neither is part of the query.
So a shopper searching "navy" finds a product only if the word happens to appear in its title or description. Everything you set up under Products → Attributes is invisible to the search box.

Product variations are invisible to it as well. A value that exists only on one variation, such as a single size that is still in stock, cannot be found and the variation itself never appears as a result. Making that work takes its own settings, covered later in this guide.
It is the same blind spot that hides product categories and tags from search. With attributes it costs the most, because attribute words are exactly how shoppers describe what they want when they do not know your product names.
How to Enable Search by Product Attributes
Advanced Woo Search builds its own index table of your catalog and searches that instead of relying on the default WordPress query. Attribute values can go into that index.
Follow these steps to enable searching by product attributes:
-
Install and activate Advanced Woo Search PRO on your store.
-
Open the Index config page and tick Attributes in the Data to index option.

Attributes enabled under Data to index -
Click the gear icon next to Attributes and choose which ones to index. This is the step people miss: the list starts empty, so ticking Attributes without choosing any indexes nothing.

Choosing which attributes are indexed -
Run Reindex table and wait for it to finish.

Rebuilding the search index table -
Switch to the Search Config page and enable Attributes in the Search in option, then click its gear icon and select the attributes to search. Indexing and searching are separate switches, each with its own attribute list.

Choosing which attributes are searched -
Set any other options you want while you are in the settings: other product fields to search in, what each result shows, result filters, search suggestions, and more.
-
Add the search form to your store if you have not already. The simplest way is the Seamless integration option, which swaps every default search form on your site for the plugin one. You can also place a form yourself with a shortcode or the search widget.

Seamless integration replaces the default search forms -
Test it from the front end with a real attribute value from your catalog.

An attribute value returning the right products
Four switches in total, then. Two to index and two to search, each pair being an on/off plus a list of attributes. Every one of them has to be set for a value to be findable.
Searching by Attribute Without the PRO Plugin
If you are not ready to upgrade, code gets you a rough version for global attributes. The snippet below checks whether the search term matches a term in any product attribute taxonomy, and if it does, swaps the query for a taxonomy query. Add it to your child theme's functions.php, a small custom plugin, or any code snippets plugin.
add_action( 'pre_get_posts', 'kk_search_products_by_attribute' );
function kk_search_products_by_attribute( $query ) {
if ( is_admin() || ! $query->is_main_query() || ! $query->is_search() ) {
return;
}
$search = trim( $query->get( 's' ) );
if ( $search === '' || ! function_exists( 'wc_get_attribute_taxonomy_names' ) ) {
return;
}
foreach ( wc_get_attribute_taxonomy_names() as $taxonomy ) {
$term = get_term_by( 'name', $search, $taxonomy );
if ( ! $term ) {
continue;
}
$query->set( 'post_type', 'product' );
$query->set( 's', '' );
$query->set( 'tax_query', array(
array(
'taxonomy' => $taxonomy,
'field' => 'term_id',
'terms' => $term->term_id,
),
) );
return;
}
}
What you are getting:
- Global attributes only. Custom attributes are product meta rather than taxonomy terms, so this never sees them.
- Exact value names only. "Navy" works if that is the term name. "Navy blue", "dark navy", and a partial word do not.
- First match wins. If the same value exists in two attributes, the loop takes whichever taxonomy comes first.
- No variation search. Values sitting on a variation are not reachable this way, and variations never appear as results. The PRO route for that is covered in the next section.
- No relevance and no live results. Nothing is ranked, and there is no AJAX dropdown or suggestions.
It also cannot combine an attribute with a word, so "navy jacket" returns nothing even when both halves are real. That combination is the normal way people search, which is the practical argument for an index.
Optional: Searching Product Variations by Their Attributes
Attributes and variations are the same machinery viewed from two angles. A variable product's attributes define the grid, and each variation is one combination of values. So the value a shopper searches for often belongs to a variation rather than to the product itself.

Advanced Woo Search PRO handles this in a few ways worth knowing:
- Find the parent variable product by a child variation's attributes. Search "navy" and the parent product is returned even though the value lives on one of its variations, so nothing is lost when a shopper searches a value the parent itself does not carry.
- Or return the variation itself. The matching variation can appear as its own result instead of, or alongside, its parent.
- Choose what appears: parents, variations, or both. Show one row per product, both levels, or only the variations when the value identifies one exact item.
- Control what gets searched inside variations. Variations inherit their parent's content by default, so matching can be narrowed to a variation's own short description, attributes, or SKU.
- Display variations in full. Each result carries its own attribute values, image, and price, and add to cart adds that variation rather than the parent.
- Filter variations out. Search results filters can exclude variations by attribute, price, or stock, so discontinued sizes stay out of search.
How to Enable Variation Search by Attribute
Two more settings on top of what you have already done:
-
Make sure search by attributes is already enabled, as described earlier in this guide. Variations are searched through the same attribute sources, so nothing here works without that.
-
Open the Index config page and make sure Index variations is enabled. Without it, variation data never reaches the index table.

The Index variations option -
Go to Search Results → Common and set the Variable products option so that product variations are shown too.

Setting variable products to show their variations
That is all. Product variations now appear both in the live search results and on the separate search results page. Our guide to searching and displaying WooCommerce product variations covers the rest of what you can do with them.
Going Further: Display, Browse, and Filter by Attribute
Show Attribute Values on Each Result
Matching a product is one thing, showing the shopper why it matched is another. Open Search Results → Content and enable the Show variations attributes option, and each result carries its attribute values, so a search for "navy" returns rows that visibly say navy rather than leaving the reader to open each product and check.

This earns its place in catalogs where products differ only by their values. Two jackets with the same name and price are indistinguishable in a dropdown until the size and color are on screen. For more control over what each row shows, see our guide to customizing the WooCommerce search results page.
Show Attribute Pages in Search Results
Products are not the only useful answer. Someone searching "navy" may be better served by the navy archive page listing everything you stock in that color than by the first handful of navy products.
Open Search Results → Non-products results, turn on Attributes, then use the gear icon to pick which attributes may appear. As with the search sources, they all start disabled.

Matching attributes then appear above the product results, each with the number of products carrying that value, linking through to its archive page. On a multilingual store the translated value is shown. Only global attributes can appear, since custom attributes have no archive page to link to.

This works the same way as showing product category pages in search results, and the same settings cover tags and custom taxonomies.
One catch if an attribute refuses to appear: the archive page has to exist in the first place. Edit the attribute under Products → Attributes and check that Enable archives? is ticked. WooCommerce leaves it off by default, and without an archive there is no page for the result to link to.

Add a Quick Filter by Attribute Value
A quick filter is a button on the search bar itself. The shopper types "jacket", sees live results across every color you stock, and taps a value to narrow them on the spot. Colors and sizes suit this better than almost anything else, since they are short, familiar, and the way people naturally cut down a list.
To add one:
-
Go to Search Bar → Quick Filters in the plugin settings and click Add new filter.
-
Set Filter Type to Multiple Filters.
-
Set Filter by to the attribute you want, such as Color or Size, then save the settings.

Quick filter buttons for attribute values
Keep the button count low. Quick filters work because they fit alongside the search bar, so a handful of hero values beats an exhaustive list. Our guide to quick search buttons covers the wider feature.
Filter Search Results by Attribute
Search results filters are rules for which products may appear at all. Built on attributes, they can keep a colorway or a size out of search entirely while leaving it on your shop pages, or restrict search to a chosen set of values.
To set one up:
-
Go to Search Results → Filters in the plugin settings.
-
Click Filter products search results.
-
Choose the attribute as the filter type and pick the values the rule applies to. Use the not in list condition to exclude those values instead of restricting results to them.

A search results filter rule built on an attribute -
Add any other filters you need on the same screen, such as price, category, or stock status.
Keep this in mind when something goes missing from search: a forgotten attribute filter is a common reason products that should match do not appear.
Weight Attributes Against Your Other Search Fields
Every enabled field competes for relevance: titles, content, excerpts, SKUs, categories, tags, and attributes among them. Each carries a weight from 1 to 999, and the balance decides what ranks first. A product with the term in its title outranks one that merely has it as an attribute value, provided the title weight is higher.
Open Search Config → Search in, find Attributes, and click the gear icon. Alongside choosing which attributes are searched, you can give each one its own weight, so Color can count for more than Material if that is how your customers shop.
Custom attributes are the exception. They share a single weight covering all of them at once, so you cannot rank one custom attribute above another the way you can with global ones.

One thing worth repeating here: all of this works for custom attributes too, not only the global ones under Products → Attributes. Enable the Custom attributes option in both gear panels and every custom attribute in your catalog becomes searchable in one go. The one thing they cannot do is appear as archive pages, because custom attributes have no archive page to link to.
Troubleshooting Attribute Search Issues
Attribute search has more switches than most features, so most problems are a setting rather than a bug:
- Nothing is returned at all. Check all four switches: Attributes under Data to index and the attributes chosen behind its gear icon, then Attributes under Search in and the attributes chosen behind that gear icon. Reindex after any indexing change.
- Some attributes work, others do not. The two gear panels hold separate lists. An attribute enabled for indexing but not for searching stays invisible.
- Your attributes are custom, not global. Custom attributes are covered by a separate Custom attributes option, listed alongside your attribute names inside both gear panels. Enable it in each and reindex. If your values were typed into the product rather than created under Products → Attributes, this is almost certainly the answer.
- Products match but are then hidden. Check the filter rules under Search Results → Filters for an attribute condition that excludes them.
- Attribute pages do not appear. That is a separate setting from attribute search. Enable them under Non-products results, and remember custom attributes can never appear there.
- One global attribute never shows as a page. Its archive is switched off. Edit it under Products → Attributes and tick Enable archives?. This has to be done per attribute, and it is off by default.
FAQs
What is the difference between global and custom product attributes?
Global attributes are created under Products → Attributes, reused across products, and stored as taxonomies, so each value has an archive page. Custom attributes are typed into a single product and behave like custom fields, with no archive page. Both can be searched. Global ones are picked individually, while the Custom attributes option switches on every custom attribute at once.
Can I search by attribute with the free version of Advanced Woo Search?
No. Indexing and searching attributes is a PRO feature. The free version still improves your store search in other ways, including synonyms and search term highlighting.
Can shoppers combine an attribute with a product name, like "navy jacket"?
Yes. Attribute values sit in the same index as titles and descriptions, so one query can match a value on one word and a title on another. That combination is exactly what the code-only workaround cannot do.
Can I show attribute values for each product in search results?
Yes. Open Search Results → Content and enable the Show variations attributes option. Each result then displays its attribute values alongside the title and price, which matters most in catalogs where products differ only by size or color.
Can I search for product variations via attributes and display them?
Yes, with PRO. Enable Index variations on the Index config page, then set the Variable products option under Search Results → Common so variations are shown too. They then appear in both the live search results and on the search results page, each with its own attribute values, image, and price, and add to cart adds that exact variation.
Can I show only attributes and hide products in the results?
Yes. The filter options can exclude product results so the search box returns attribute pages alone, which suits stores where browsing by value is the point.
Do translated attributes work on a multilingual store?
Yes. When a multilingual plugin translates your attributes, the translated value is shown in search results for the language being browsed.
Does attribute search slow down a large catalog?
No. Attribute values live in the same index table as the rest of your searchable content, so searching them costs no more than searching titles. Only the initial reindex takes time, and indexing every attribute you do not need is the one thing worth avoiding.
Conclusion
Attributes are the words customers actually use. Color, size, material, and capacity are how people describe what they want, and WooCommerce already holds all of it, structured and tidy, where its own search will never look.
Four switches and a reindex change that, and attribute pages turn a vague search into a browsable answer. See the full Advanced Woo Search PRO feature list and pricing, or the attributes terms search documentation for the full option reference.