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.

Recherche produits PrestaShop : filtres à facettes et pages SEO

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.

  1. Otwórz silnik i rozwiń „Gdzie wyświetlać”.
  2. Wybierz „Wszystkie strony” albo „Wybrane strony” i zaznacz „Strona wyników wyszukiwania”.
  3. Wybierz „Lewa kolumna”, „Prawa kolumna” lub „Pełna szerokość, nad treścią”, a potem zapisz.
  4. 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.

Indeksowanie i stan wymienia grupy klientów, których ceny nie są jeszcze zaindeksowane, i proponuje „Przebuduj indeks”.
Indeksowanie i stan wymienia grupy klientów, których ceny nie są jeszcze zaindeksowane, i proponuje „Przebuduj indeks”.

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ę.

Strona Konfiguruj pokazuje zamaskowany klucz, domenę, datę ważności i pozostałe dni oraz potwierdza ponowne włączenie modułu.
Strona Konfiguruj pokazuje zamaskowany klucz, domenę, datę ważności i pozostałe dni oraz potwierdza ponowne włączenie modułu.

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?
Silnik filtrów nie jest prawdopodobnie włączony dla tej strony. Otwórz Silniki filtrów, rozwiń „Gdzie wyświetlać” i zaznacz „Strona wyników wyszukiwania”, a potem zapisz i aktywuj silnik. Sprawdź też w Indeksowaniu i stanie, czy wyszukiwanie fasetowe PrestaShop jest wyłączone: gdy oba moduły obsługują te same listy, moduł natywny może przejąć sterowanie.
Czy filtr ceny uwzględnia promocje i rabaty grupowe?
Tak. Indeksowana cena to ta, którą płaci klient: promocje z datami, rabaty grupowe, podatki i waluta. Rabat ustawiony na kategorię liczy się dla wszystkich jej produktów. Po dodaniu grupy lub rabatu „Przebuduj indeks” w Indeksowaniu i stanie przelicza ceny.
Czy wyszukiwanie znajduje produkty z literówkami?
Tak, gdy wyszukiwanie przybliżone PrestaShop jest włączone, czyli domyślnie. Moduł nie ma własnego ustawienia: włącz lub wyłącz tę opcję w PrestaShop, a filtry będą jej przestrzegać. Słowo bez dopasowania jest pomijane, zamiast blokować wyszukiwanie.
Czy Google indeksuje przefiltrowane listy?
Nie: kombinacje budowane kliknięciami pozostają w „noindex, follow”, także te odpowiadające stronie SEO. Wtedy jeden canonical wskazuje stronę SEO i to ją indeksują wyszukiwarki. Mapa witryny obejmuje tylko strony SEO kategorii sklepu.
Czy moduł obsłuży katalog z dziesiątkami tysięcy produktów?
Tak: wyszukiwanie czyta dedykowany indeks, a nie katalog, bez limitu 5000 wierszy na słowo. Do 50 000 wyników sortowanie według trafności odbywa się w PHP; powyżej obowiązuje kolejność identyfikatorów. Przy takim katalogu utrzymuj aktywne zadanie cykliczne i po imporcie sprawdzaj kolejkę.
Czy usunięcie aktywnego filtra gubi fokus klawiatury?
Nie. Moduł wie, gdzie fokus ma wrócić, i umieszcza go tam: na użytym przycisku ceny, na następnym wciąż aktywnym filtrze albo na tytule bloku, gdy nic już nie jest wybrane. Przeniesienie nie przewija strony, a liczba znalezionych produktów jest ogłaszana.

Produkty w tym artykule

1.7.8 8.0+ 9.0+
Moduły Prestashop

Audyt EAA i WCAG 2.1 AA

Analiza dostępności WCAG 2.1 AA prawdziwych stron, łącznie z kontrastem Bezpieczne poprawki automatyczne,...

★★★★★
5 / 5
45

Znajdź moduł, którego potrzebuje Twój sklep

Zobacz moduły