Wyszukiwanie produktów PrestaShop: filtry i strony SEO
Filtry w sklepie PrestaShop ustawia się silnik po silniku, z cenami indeksowanymi dla grup klientów i przefiltrowanymi listami poza indeksem. Kroki, przypadki i ograniczenia.
Klient wpisuje „tshrt” i nic nie znajduje. Inny zaznacza „Rozmiar M” i widzi produkty, których rozmiar M jest wyprzedany. Trzeci opuszcza kategorię, bo filtr ceny nie zgadza się z ceną na karcie produktu. Te trzy przypadki często wynikają z filtrów czytających indeks, który nie nadąża ani za rzeczywistymi cenami, ani za słowami klientów. Advanced Search Pro zastępuje wyszukiwanie fasetowe PrestaShop konfigurowalnymi silnikami filtrów. Oto jak go ustawić, co zmienia w sklepie i kiedy się nie sprawdza.
Jak dodać filtry do strony wyników wyszukiwania?
Utwórz silnik filtrów i zaznacz „Strona wyników wyszukiwania” w „Gdzie wyświetlać”: wyniki otrzymają filtry silnika.
Silnik to samodzielny blok filtrów z własnymi grupami, pozycją i stronami. Otwórz Advanced Search Pro > Silniki filtrów. „Importuj szablony” przejmuje szablony wyszukiwania fasetowego PrestaShop; „Utwórz zalecany silnik” proponuje kategorie, cenę, atrybuty, cechy, marki, dostępność i promocje.
- Otwórz silnik i rozwiń „Gdzie wyświetlać”.
- Wybierz „Wszystkie strony” albo „Wybrane strony” i zaznacz „Strona wyników wyszukiwania”.
- Wybierz „Lewa kolumna”, „Prawa kolumna” lub „Pełna szerokość, nad treścią”, a potem zapisz.
- Sprawdź, czy silnik jest aktywny, a następnie otwórz Indeksowanie i stan: jeśli panel informuje, że wyszukiwanie fasetowe jest aktywne, kliknij „Wyłącz wyszukiwanie fasetowe”.
Na stronie wyników filtry dotyczą produktów bieżącego wyszukiwania: wpisanie „sukienka” i wybór koloru nie miesza reszty katalogu. Wyszukiwanie z przewodnikiem na stronie głównej działa inaczej: filtruje stałą kategorię albo cały katalog, a potem otwiera swoją stronę wyników. Strona modułu podsumowuje dostępne pozycje, a dokumentacja opisuje każde ustawienie silnika.
Dlaczego filtr ceny nie zgadza się z ceną na karcie produktu?
Bo filtr czyta indeks cen obliczany dla grup klientów: rabat grupowy ustawiony na kategorię liczy się dla każdego produktu tej kategorii, tak jak na karcie.
Filtr nie odczytuje karty przy każdym kliknięciu. Czyta indeks z ceną widzianą przez klienta: promocje z datami, rabaty grupowe, podatki i waluta odwiedzającego. Dodanie, zmiana lub usunięcie rabatu grupowego odświeża odpowiednie ceny.
Grupa klientów utworzona po instalacji nie ma jeszcze swoich cen w tym indeksie. Moduł zgłasza wtedy przebudowę cen. Strona Indeksowanie i stan wymienia grupy, których to dotyczy, z komunikatem „Ceny nie są jeszcze zaindeksowane dla tych grup klientów” i przyciskiem „Przebuduj indeks”. Zadanie cykliczne kończy pracę, jeśli nie klikniesz. Podczas przebudowy listy pozostają dostępne.

Jak znaleźć produkt, gdy klient wpisuje „tshrt”?
Moduł korzysta z wyszukiwania przybliżonego PrestaShop, domyślnie włączonego: „tshrt” znajduje t-shirt. Zachowuje też wszystkie produkty zawierające wszystkie wpisane słowa, bez limitu na słowo.
Wyszukiwanie przybliżone to ustawienie PrestaShop, nie modułu. Gdy jest włączone, słowo bez dopasowania zostaje zastąpione najbliższym słowem z katalogu. PrestaShop ogranicza liczbę zamian na wyszukiwanie: domyślnie cztery, czyli najwyżej pięć słów. Moduł respektuje ten limit. Słowo, które nadal nie pasuje, jest pomijane, tak jak w natywnym wyszukiwaniu, a wyszukiwanie nic nie zwraca, jeśli nie zostanie żadne słowo.
Bardzo częste słowo, występujące w ponad 5000 produktów, nie ucina listy. Wyszukiwanie zachowuje produkty zawierające wszystkie wpisane słowa, porządkuje je według trafności, a potem według identyfikatora, gdy dwa produkty są podobne. Znaki specjalne są neutralizowane przed zapytaniem: nazwa taka jak „L'Oréal & Co” nie psuje wyszukiwania.
Jak uniknąć duplikacji treści na przefiltrowanych listach?
Listy przefiltrowane, które nie odpowiadają żadnej stronie SEO, otrzymują „noindex, follow”, ustawienie włączone domyślnie; wybór odpowiadający stronie SEO otrzymuje również „noindex, follow” i jeden canonical wskazujący tę stronę.
„Przefiltrowane listy nieindeksowane” znajduje się w Ustawieniach. Trzyma poza indeksem kombinacje budowane przez odwiedzających kliknięcie po kliknięciu, aby wyszukiwarki indeksowały kategorie i strony SEO, a nie nieskończone warianty.
Strona SEO to kategoria z wybranymi filtrami, na przykład „Białe koszulki” w Odzieży. W Stronach SEO wybierz kategorię, zaznacz wartości definiujące stronę, a potem napisz w każdym języku tytuł, adres, meta opis i tekst wstępu. Podpowiadane są tylko wartości, które mają produkty w kategorii. Strona trafia do mapy witryny, gdy moduł Google sitemap PrestaShop jest aktywny, a mapa obejmuje wyłącznie strony SEO kategorii sklepu. Strona SEO i strona wyników modułu zachowują własne znaczniki robots i canonical.
Jak utrzymać fokus klawiatury w filtrach?
Po przycisku „OK” ceny, usunięciu aktywnego filtra lub „Wyczyść wszystko” fokus wraca do bloku filtrów: przycisku tej samej ceny, następnego aktywnego filtra lub tytułu bloku.
Bez tego powrotu osoba pracująca na klawiaturze musi po każdym usuniętym filtrze od nowa przechodzić przez nagłówek i menu. Moduł przywraca fokus we właściwe miejsce i przenosi go bez przewijania strony. Liczba znalezionych produktów jest ogłaszana czytnikom ekranu.
Panel mobilny zamyka się przyciskiem zamykania lub klawiszem Esc; próg mobilny jest regulowany, domyślnie 768 px. Aby sprawdzić konfigurację, otwórz stronę kategorii i używaj tylko Tab, Enter i Esc: każda wartość musi być osiągalna, a po usunięciu aktywnego filtra fokus ma pozostać w bloku. Pełny przegląd ścieżki zapewnia audyt EAA i WCAG, który obejmuje takie kontrole strona po stronie.
Co zrobić, gdy duży katalog spowalnia wyszukiwanie?
Liczniki pochodzą z dedykowanego indeksu, a nie z przeglądania katalogu przy każdym kliknięciu: ustaw „Produktów na etap indeksowania”, utrzymuj aktywne zadanie cykliczne i pozwól przerwanej przebudowie wznowić się.
Dwa ustawienia ograniczają obciążenie. Pamięć podręczna liczników filtrów zachowuje filtry stron bez wyboru, a gdy pamięć podręczna PrestaShop jest włączona, wszystkie wybory. „Produktów na etap indeksowania” dzieli przebudowę na partie, z paskiem postępu, bez opróżniania wyników podczas operacji.
Zadanie cykliczne wskazane w Indeksowaniu i stanie przetwarza oczekujące produkty, kończy rozpoczętą przebudowę i odświeża promocje, które się zaczynają lub kończą; ustaw je co piętnaście minut. Przebudowa przerwana błędem wznawia się na następnym etapie, przy kolejnym uruchomieniu zadania lub kliknięciu. Panel pokazuje też zmienione produkty oczekujące na indeksowanie i pozwala zaindeksować je od razu.
Dla kogo jest ten moduł, a dla kogo nie?
Jest dla sklepu, który sprzedaje produkty z kombinacjami w kilku kategoriach i chce szybkich filtrów oraz indeksowalnych stron filtrów. Opiera się na indeksie wyszukiwania PrestaShop i własnych tabelach, a nie na zewnętrznej wyszukiwarce.
Katalog odzieży pokazuje typowy przypadek: rozmiary, kolory, materiały, marki i promocje na tych samych listach. Silnik ogólny filtruje wszystkie strony; silnik przypisany do kategorii dodaje właściwe cechy. Opcja „Tylko kombinacje w magazynie” nie pozwala pokazać wyprzedanego rozmiaru M, a strona SEO „Białe koszulki” daje tej kombinacji własny adres, bez indeksowania pozostałych.
Ograniczenia, o których warto wiedzieć:
- Motyw musi używać standardowej listy produktów PrestaShop, takiej jak Classic lub Hummingbird. Panel stanu wskazuje motyw, który jej nie używa.
- Wyłącz wyszukiwanie fasetowe PrestaShop: dwa moduły filtrów na tych samych listach sobie przeszkadzają.
- Nie ma przekierowania 301 na stronę SEO: pasujący wybór otrzymuje canonical, a nie przekierowanie.
- Granice suwaka ceny to liczby całkowite; moduł nie filtruje co do grosza.
- Wymagana jest ważna licencja. Bez licencji moduł wyłącza się: filtry, wyszukiwanie z przewodnikiem i strony SEO nie są już wyświetlane, a indeks nie jest aktualizowany. Strony SEO i strona wyników odpowiadają „Nie znaleziono strony”, ale silniki, filtry, strony SEO, ustawienia i indeks zostają zachowane. Otwórz stronę konfiguracji: gdy tylko licencja będzie ważna, strona ta ponownie włączy moduł.
- Odinstalowanie usuwa tabele, ustawienia i klucze licencji, jak informuje potwierdzenie.
Po zapisanej dacie ważności licencja pozostaje aktywna przez siedem dni, co obejmuje spóźnione odnowienie. Po tym terminie moduł pyta serwer najwyżej raz na godzinę, z krótkim limitem czasu. Przejściowy incydent serwera licencji nie jest wygaśnięciem: zostawia siedem dni tolerancji od pierwszego błędu. Tylko ostateczny werdykt (licencja wygasła, zawieszona, cofnięta lub nieznaleziona, nieprawidłowy podpis, niezarejestrowana domena) kończy licencję.

Moduł instaluje się na PrestaShop 1.7.8, 8.0+ i 9.0+, z PHP 7.4 jako minimum. Na PHP 7.1–7.3 pokazuje czytelny komunikat zamiast błędu krytycznego. Cache Pro i Schema Pro uzupełniają całość: pamięć podręczną stron i dane strukturalne tych list.
Najczęściej zadawane pytania
Dlaczego filtry nie pojawiają się na stronie wyników wyszukiwania?
Czy filtr ceny uwzględnia promocje i rabaty grupowe?
Czy wyszukiwanie znajduje produkty z literówkami?
Czy Google indeksuje przefiltrowane listy?
Czy moduł obsłuży katalog z dziesiątkami tysięcy produktów?
Czy usunięcie aktywnego filtra gubi fokus klawiatury?
Produkty w tym artykule
Advanced Search Pro - Szybkie filtry AJAX i nawigacja fasetowa
Natychmiastowe filtrowanie AJAX z licznikami na żywo, spójnym sortowaniem i paginacją, bez przeładowywania strony...
Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX
Pamięć podręczna pełnych stron: zapisane strony są wysyłane, zanim PrestaShop je zbuduje, bez żadnego zapytania...
Schema Pro - Complete JSON-LD Structured Data & Rich Snippets
Product, ProductGroup, Organization, WebSite, BreadcrumbList, FAQPage, CollectionPage i ItemList tworzone z...
Audyt EAA i WCAG 2.1 AA
Analiza dostępności WCAG 2.1 AA prawdziwych stron, łącznie z kontrastem Bezpieczne poprawki automatyczne,...