Skip to content
OpenCart · Problem

OpenCart search not working?

“Not working” is almost always one of five specific things, and none of them is a bug. Each is a line in `getProducts()` doing exactly what it was written to do.

The five

What is actually excluding the product

  • The words are in the description, not the name. OpenCart searches the name by default. Descriptions are only included when the shopper ticks “Search in product descriptions” — a checkbox on the results page, not a setting you control.
  • You typed part of a code. Model and SKU are compared with `=`, not a wildcard. Half a code matches nothing at all. See the SKU guide.
  • The product is disabled. `status = 1` is in the query. A disabled product is invisible to search, with no message explaining why.
  • It is not assigned to this store. The query joins `product_to_store`. On a multi-store install a product missing that row exists in the admin and not in search.
  • Its “date available” is in the future. `date_available <= NOW()` is in the query. A product dated tomorrow is not searchable today, which is easy to do by accident when duplicating.

The one that surprises people

Every word must match the name

On OpenCart 3 the words in the search box are joined with `AND` against the product name, so “canon camera” finds nothing unless a single product has both words in its name. The category the product sits in does not count. Neither does its brand.

OpenCart 4 joins them with `OR` instead, which finds more and ranks none of it — a two-word search returns everything matching either word, in catalogue order.

The fix

Index the things a shopper types

NitroSearch indexes names, descriptions, models, SKUs, manufacturers and categories together, and ranks results rather than filtering them down to nothing. A disabled product stays out; everything else a shopper might reasonably type is in.

Questions

More about OpenCart search

Why does OpenCart search return no results for a product I can see in the admin?

The likeliest causes are that the word is in the description rather than the name, the product is disabled, its date available is in the future, or it is not assigned to the store being searched. All four are conditions in the search query itself.

Why does searching two words find nothing?

On OpenCart 3 the words are joined with `AND` against the product name only, so both words must appear in the same name. A category or brand word will not help.

Do I need to rebuild an index?

No — OpenCart has no search index to rebuild. It queries your product tables directly, which is also why it is slow.

Does NitroSearch fix all of these?

It removes the ones that are about where the text lives — names, descriptions, codes, brands and categories are all searched, and results are ranked rather than excluded. A disabled product is still deliberately excluded.

OpenCart behaviour on this page last checked against live OpenCart 4.1.0.3 and 3.0.5.0 installs on 2026-08-05.

Give your shoppers search that finds things

Free up to 100 search results, no card, no time limit. Paid plans start at $5.99/mo and are priced by catalogue size — never per search.