Wyszukiwarka w PrestaShop, jak poprawić wyniki wyszukiwania w sklepie?
PrestaShop ma wbudowaną wyszukiwarkę. Technicznie działa, przyjmuje zapytanie, odpytuje bazę MySQL, zwraca wyniki. Problem w tym że "działa" i "działa dobrze" to dwie różne rzeczy.
Jeśli prowadzisz sklep na tej platformie i widzisz wysoki współczynnik porzuceń po wyszukiwaniu, prawdopodobnie Twoi klienci trafiają w ścianę przy każdym zapytaniu z literówką lub opisowym sformułowaniem.
Co jest nie tak z domyślną wyszukiwarką PrestaShop
- •Brak tolerancji literówek. PrestaShop szuka dokładnych dopasowań lub prefiksów. "Telefon komórkowy" wpisany jako "telefon komorokwy" zwróci zero wyników. Klient idzie do konkurencji.
- •Obciążenie bazy danych. Każde wyszukiwanie to zapytanie SQL do Twojej bazy. Przy dużym katalogu i kilkuset użytkownikach jednocześnie wyszukiwarka zaczyna spowalniać cały sklep.
- •Brak relevance ranking. PrestaShop nie rankuje wyników według trafności. Kolejność jest w dużej mierze przypadkowa.
- •Brak facetingu. Domyślnie nie ma automatycznych filtrów po lewej stronie wyników. Klient musi sam przejrzeć wszystkie wyniki.
- •Brak analityki. Nie wiesz co klienci wpisują w wyszukiwarce, które frazy dają zero wyników, które produkty są najczęściej wyszukiwane.
Indeksowanie w PrestaShop, podstawy
Zanim zaczniesz cokolwiek optymalizować, sprawdź czy indeks wyszukiwarki jest aktualny. PrestaShop przechowuje indeks w tabeli ps_search_index. Jeśli dodajesz produkty i nie przebudowujesz indeksu, nowe produkty nie będą wyszukiwalne.
W panelu administracyjnym: Parametry zaawansowane → Wyszukiwanie → zakładka Indeksowanie. Upewnij się że opcja automatycznej przebudowy przy dodaniu/edycji produktu jest włączona.
Integracja zewnętrznej wyszukiwarki przez API
Każda zewnętrzna wyszukiwarka działa podobnie. Potrzebujesz dwóch elementów:
Synchronizacja katalogu, wysyłasz produkty do zewnętrznego indeksu przy każdej zmianie. Możesz to zrobić przez hook PrestaShop hookActionProductUpdate:
public function hookActionProductUpdate($params)
{
$product = $params['product'];
$data = [
'id' => (string) $product->id,
'name' => $product->name[Context::getContext()->language->id],
'price' => (float) $product->price,
'categories' => $this->getProductCategories($product->id),
'in_stock' => StockAvailable::getQuantityAvailableByProduct($product->id) > 0,
];
$this->apiClient->upsert($data);
}
Podmiana wyszukiwarki na froncie, zamiast formularza PrestaShop, własny komponent JavaScript który odpytuje zewnętrzne API i renderuje wyniki. Jeden plik JS i kilka linii HTML.
Co sprawdzić przy wyborze zewnętrznej wyszukiwarki dla PrestaShop
- Obsługa polskich znaków, ą, ę, ó, ś, ł, ż, ź, ć, ń. Część silników ma problemy z poprawnym indeksowaniem polszczyzny.
- Literówki i fuzzy search, przetestuj kilka zapytań z celowymi błędami na Twoich produktach.
- Szybkość przy Twoim katalogu, zaimportuj swój katalog i zmierz czas odpowiedzi, nie testuj na demo.
- Filtry i faceting, czy filtry budują się automatycznie z atrybutów produktów czy musisz je konfigurować ręcznie.
- Analityka, czy widzisz zapytania bez wyników.
- Cena przy Twoim ruchu, oblicz miesięczny koszt przy aktualnej liczbie zapytań i przy 3x większym ruchu.
Kiedy ulepszyć wyszukiwarkę PrestaShop
Kilka sygnałów że czas działać:
- Współczynnik porzuceń po wyszukiwaniu powyżej 60%.
- Klienci piszą do supportu "nie mogę znaleźć produktu X".
- Wyszukiwarka spowalnia sklep przy większym ruchu.
- Masz ponad 5000 produktów.
Domyślna wyszukiwarka PrestaShop jest wystarczająca na start. Przy rosnącym katalogu i rosnących wymaganiach klientów staje się jednak wąskim gardłem sprzedaży. Zewnętrzny silnik wyszukiwania to jeden z tych upgradów który zwraca się szybko, każde zapytanie które znajdzie produkt zamiast zwrócić zero wyników to potencjalna sprzedaż której wcześniej nie było.
Przetestuj SwiftSearch bezpłatnie przez 14 dni →Artykuł opublikowany w 2026 roku. Ceny i parametry planów mogą ulec zmianie, sprawdź aktualne informacje na stronach dostawców.