Skip to content
Problem + feature

Make WooCommerce search find your SKUs

Your regulars know your part numbers better than your product names — trade buyers, repeat customers, your own support team. WooCommerce ignores all of them: SKUs live in a meta table native search never touches. Here’s why, and how to fix it properly.

Why WooCommerce ignores your SKUs

It’s a data-model quirk with a customer-facing cost. A product’s SKU isn’t stored with its title and description — it lives in the wp_postmeta table as a _sku entry. Native search only scans titles, content and excerpts in wp_posts:

-- what native search scans          -- where your SKU actually lives
wp_posts.post_title                  wp_postmeta: meta_key = '_sku'
wp_posts.post_content                             meta_value = 'WBK-2041'
wp_posts.post_excerpt

The two never meet. A shopper who types WBK-2041 — the exact, correct part number, straight off your own spec sheet — gets the most damaging response a store can give a ready buyer: “No products were found matching your selection.”

Who searches by SKU? Your best customers

  • Trade and B2B buyers re-ordering from a list — they know the part number, not your product name.
  • Repeat customers re-buying a consumable from an old invoice or the label on the box.
  • Your own staff on the phone with a customer, using the storefront search because it’s the fastest tool open.
  • Comparison shoppers pasting a model number from a manufacturer’s site to see if you stock it.

Every one of them arrives with the highest purchase intent your store will see all day — and native search turns them away with an empty page.

The DIY fixes, honestly assessed

  • The functions.php snippet. The classic approach joins wp_postmeta into the search query. It works — and it makes an already slow scan slower, because postmeta is your database’s biggest table and the join runs on every search, for every shopper.
  • SKU-search plugins that stay in WordPress. Same trade-off with better packaging: the lookup still happens in MySQL on your hosting, and it typically covers SKUs only — a search for WBK-2041 black mixing SKU and words still fails.

How NitroSearch handles SKUs

The plugin indexes every product’s SKU — and every variation’s SKU — into the same dedicated search index as names, brands and categories. That changes what a SKU search can do:

  • It’s as-you-type. Matching starts from the first characters, so WBK-20 surfaces WBK-2041 and its siblings before the shopper finishes typing — useful when they remember the prefix but not the tail.
  • Variations resolve to the right product. Search any variation’s SKU and the parent product comes back; the shopper lands on the product page and picks their size or colour there.
  • Mixed searches work. SKU, name, brand and category all match in the same keystroke — WBK-2041 and westbrook hoodie both land on the same product.
  • Your server does none of it. The lookup runs on our EU-hosted engine, straight from the shopper’s browser — no postmeta join, no extra load on your hosting.
WooCommerce search by SKU working in NitroSearch — instant product results with images and prices as the shopper types a part number
Names, SKUs, brands and categories all match in the same instant dropdown.
Worth knowing

The practical details

The parts store owners actually ask about, answered plainly.

SKUs stay in sync

Change a SKU and the plugin queues the update in its outbox and retries until the engine confirms it — the index never quietly drifts from the catalogue.

No re-typing, no mapping

Your existing SKUs are picked up from WooCommerce as-is, parent and variation alike. There’s nothing to re-enter and no field mapping to maintain.

Typos still forgiven

The same typo tolerance that rescues “runing shoes” applies across search — and exact matches always rank first, so a precise SKU goes straight to the top.

SKU search is one symptom of a wider gap — see everything that makes WooCommerce search return nothing, or the full improvement guide.

Questions

Frequently asked

Does WooCommerce search SKUs by default?
No. A SKU is stored as product meta (_sku in wp_postmeta), and WooCommerce’s native search only scans post titles, content and excerpts in wp_posts. A shopper typing an exact SKU into the search box gets nothing.
How do I let customers search by SKU in WooCommerce?
You need something that indexes SKUs alongside names — code snippets can bolt a meta join onto native search, but they make the slow query slower. NitroSearch indexes every product’s SKU into a dedicated engine, so SKU searches are as instant as name searches.
Do variation SKUs work too?
Yes. NitroSearch indexes the parent SKU and every variation SKU together, so searching any variation’s SKU brings back the product — the shopper lands on the product page and picks their variation there.
Do partial SKUs match as you type?
Yes — matching is as-you-type from the first characters, so “WBK-20” finds WBK-2041 and its siblings before the shopper finishes typing. Names, brands and categories match in the same keystroke, so mixed searches work too.

More on WooCommerce search

WooCommerce behaviour and product capabilities described on this page last checked 1 August 2026.

Let them search the way they order

SKU search is standard on every NitroSearch plan — free up to 100 search results, live in minutes.

Free up to 100 search results · No card required · Cancel anytime