How to Add AI-Powered Search to a PrestaShop Store
Keyword search matches text. Semantic search matches meaning. The difference shows up on queries your catalog never anticipated: "something to keep coffee hot on a hike", "gift for a dad who fishes", "quiet keyboard for an office". Keyword search returns nothing for all three. Semantic search returns thermos flasks, fishing tackle and silent switches — because it compares what the customer means against what each product is described as being.
The real price, before you compare vendors
Semantic search is not a setting you switch on. Something has to turn your products into vectors, and something has to turn the query into a vector to compare against them. That "something" is a model, and the model is billed by usage.
This is verifiable, not theoretical. On a real PrestaShop 9 SEO module, the AI section reports Key OPENAI — NEEDS API KEY on a fresh install — the module ships with no key, and every AI feature stays off until the merchant adds one. The non-AI parts of that module work fine without it.
So when you compare AI search options, the price is two numbers, not one:
| Cost | Paid to | Scales with |
|---|---|---|
| Module licence, one-time or yearly | The module vendor | Your store, fixed |
| Model usage, metered | OpenAI / Anthropic / Google / a local model | Every search and every re-index |
The second number is the one that surprises people, because re-indexing is not once. It runs again every time you add a product, change a description, or change how the embedding is built. On a 20,000-product catalogue, that is a real monthly line item.
Three questions that settle it in one email to any vendor:
- Which model does this call, and can I swap it for a cheaper or self-hosted one?
- What does a full re-index cost at my catalogue size?
- What still works if I remove the API key — keyword search, at least?
A vendor who cannot answer the second question is quoting you the module price and hiding the bill that comes after it.
How it differs from the search you have
| Keyword search | Semantic search | |
|---|---|---|
| Matches | Words in the indexed fields | Meaning, via a numeric representation of the text |
| Fails when | The customer uses different words than your catalog | The product descriptions say nothing useful |
| Trainable by you | Yes — add tags, rewrite the short description | Only through the product data you feed it |
| Fixes typos | Partially, with fuzzy matching | Usually, since it matches by meaning |
The last row of that table is the constraint that decides whether this works for you. Semantic search is only as good as your product text. If your products are described as "Ref. A-2231 — 500 ml", there is no meaning to match against, and no model will find it.
What it needs from your catalog
Before installing anything, check three things:
- Every product has a real description. Not just a name and a reference. Two or three sentences describing what the product is for is enough.
- Products are in the right categories. Categories give the model context. A thermos filed under "Miscellaneous" does not help anyone.
- Attributes are used. Capacity, material, size. These are the terms customers describe in their own words.
If your catalog fails these, fix them first. Installing semantic search on unstructured product data produces confident nonsense — it will return products with a similar name and nothing else.
What it cannot fix
- Products you do not sell. If the demand is for something outside your catalog, search is not the problem.
- A missing index. The semantic index must be rebuilt when products change. A stale index returns products you deleted last month.
- Page speed. It adds a request to generate the query representation. On a store with an already slow server, that request is slower than the one it replaces.
How to judge whether it helped
One number decides it: zero-result searches as a share of all searches.
Semantic search should reduce it. If it does not, either the product text is too thin to match against, or the queries really are for products you do not stock.
Two secondary numbers, both over two weeks:
- Search-to-add-to-cart rate — should rise
- Time to first click after searching — should fall
When it is not worth it
- Under about 100 products. Customers can browse. Semantic search solves a discovery problem you do not have.
- A single-language store with a tightly defined catalog — one category, clear names. Keyword search with good tags is enough.
- No description text on products. Fix the data before buying the tool.
Related guides
- Set up advanced search in PrestaShop — the keyword settings, and the log that shows what customers type
- Add AJAX search without page reloads — the interface layer on top of this
- Agile AJAX Search — module hub
- Agile AJAX Search pricing — product CTA
Checklist
- ☐ Costed the model usage separately from the module licence
- ☐ Asked what a full re-index costs at your catalogue size
- ☐ Confirmed keyword search still works without the API key
- ☐ Product descriptions written for humans, not stuffed for the model
- ☐ Every product has a description of two or more sentences
- ☐ Products are in the correct categories
- ☐ Attributes filled for capacity, material, size
- ☐ Zero-result search rate recorded before the change
- ☐ Search index built, and a rebuild scheduled for catalog changes
- ☐ Re-measured after two weeks, not two days
FAQ
Does AI search need an external API? Some implementations call an external model to convert the query into its semantic form; others compute it on your server. The external variant means your search depends on a third party being reachable, which is a real operational risk for a store.
Will it replace my keyword search? Usually it runs alongside it. Keyword search handles exact product names and references well — better than semantic search does for a reference code like A-2231. Keep both and merge the results.
Can it understand a customer's language if it differs from the store language? A multilingual model can. That is one of the stronger cases for semantic search in Europe: a customer typing in their own words, in a language the store uses only partially, still finds the product.
How long until I see a difference? Search behaviour is noisy. Two weeks is the minimum honest window, and the number to look at is the zero-result share, not the number of searches.
Countdown x Bar
Xleft
Jump to Checkout
Accessibility Guard
SOO Agent Gateway
SOO Agent Catalog Tools
SOO Agent SEO Tools
GDPR
