PS PrestaShop Średnio zaawansowany

Wyszukiwanie Bez Wyników: strona ratunkowa i alerty, dokumentacja

Instalacja, konfiguracja i obsługa modułu dfzerosearch: strona ratunkowa dla wyszukiwań bez wyników, korekta literówek, odgadywanie kategorii, formularz „powiadom mnie" i pulpit utraconych zapytań.

Zaktualizowano Wersja modułu 1.0.0

Prezentacja

Moduł Wyszukiwanie Bez Wyników (dfzerosearch) przechwytuje wyszukiwania w Twoim sklepie, które nie zwracają żadnego wyniku, i zastępuje je stroną ratunkową: korekta literówek „czy chodziło o…”, podobne produkty, bestsellery odgadniętej kategorii, globalne bestsellery i formularz „powiadom mnie”.

Po stronie panelu administracyjnego pulpit utraconych zapytań agreguje wszystkie wyszukiwania z zerowym wynikiem i pozwala jednym kliknięciem przypisać je do produktu, kategorii lub adresu URL, jako sugestię wyświetlaną na stronie albo automatyczne przekierowanie.

W skrócie: wykrywanie przez hook actionSearch, strona ratunkowa ładowana przez AJAX, korekta względem natywnego indeksu, formularz opt-in zgodny z RODO, alert e-mail jednym kliknięciem i pulpit utraconych zapytań. Żadnych zależności, żadnych usług zewnętrznych.

Instalacja

  1. W panelu administracyjnym otwórz Moduły > Menedżer modułów i kliknij Wgraj moduł.
  2. Wskaż archiwum dfzerosearch.zip i zatwierdź.
  3. Podczas instalacji moduł tworzy swoje trzy tabele SQL, zakładkę administracyjną (i jej trzy podzakładki) oraz konfigurację domyślną.
  4. Moduł działa od razu. Nie wymaga żadnych zależności zewnętrznych (ani Composera, ani frameworka).

Moduł jest zgodny z PrestaShop od 8.0 do 9.x, w trybie pojedynczego sklepu i multistore, oraz z pięcioma językami katalogu (FR, EN, ES, DE, IT).

Konfiguracja (panel administracyjny)

Otwórz stronę konfiguracji modułu (Moduły > Menedżer modułów > dfzerosearch > Konfiguruj). Dostępne ustawienia:

  • Włącz moduł: uruchamia lub zawiesza wykrywanie i wyświetlanie strony ratunkowej.
  • Korekta literówek: włącza blok „czy chodziło o…”.
  • Blok kategorii: włącza bestsellery odgadniętej kategorii.
  • Blok bestsellerów: włącza globalne bestsellery, wyświetlane wyłącznie w ostateczności.
  • Formularz „powiadom mnie”: włącza zbieranie adresów e-mail na stronie ratunkowej.
  • Produkty na blok: liczba produktów wyświetlanych w każdym bloku (domyślnie 8, od 1 do 24).
  • Minimalna długość zapytania: poniżej tej liczby znaków wyszukiwanie nie jest zapisywane (domyślnie 2).
  • Retencja (dni): czas przechowywania utraconych zapytań, z przyciskiem ręcznego czyszczenia (domyślnie 180 dni).

Wartości zapisywane są w zmiennych konfiguracyjnych DFZS_ENABLED, DFZS_FUZZY, DFZS_CATEGORY_BLOCK, DFZS_BESTSELLERS_BLOCK, DFZS_NOTIFY_FORM, DFZS_NB_PRODUCTS, DFZS_MIN_LENGTH i DFZS_RETENTION_DAYS. Panel szybkich odnośników prowadzi do trzech ekranów administracyjnych.

Strona ratunkowa (po stronie odwiedzającego)

Na stronie wyników skrypt wykrywa, że siatka produktów jest pusta, po czym ładuje stronę ratunkową przez AJAX za pośrednictwem kontrolera front rescue. Bloki wyświetlają się w następującej kolejności:

  1. Sugerowany cel: jeśli dla zapytania istnieje aktywne mapowanie w trybie „sugestia”, jego cel (produkt, kategoria lub adres URL) jest wyeksponowany.
  2. „Czy chodziło o…”: skorygowane zapytanie i jego produkty, z odnośnikiem do prawdziwej strony wyników dla poprawionego zapytania.
  3. Bestsellery odgadniętej kategorii: na podstawie słów z zapytania.
  4. Globalne bestsellery: wyłącznie wtedy, gdy żaden z poprzednich bloków nie zwrócił wyniku.
  5. Formularz „powiadom mnie”: do zebrania adresu e-mail odwiedzającego dla tego zapytania.

Wyszukiwania zakończone sukcesem nigdy nie są spowalniane: strona ratunkowa ładuje się tylko wtedy, gdy siatka wyników jest faktycznie pusta.

Korekta literówek i odgadywanie kategorii

Korekta literówek przepisuje zapytanie słowo po słowie względem natywnego indeksu wyszukiwania PrestaShop (tabela ps_search_word), przy użyciu odległości Levenshteina dopasowanej do długości słowa. Proponowane są wyłącznie słowa faktycznie obecne w indeksie, a następnie prawdziwe wyszukiwanie PrestaShop uruchamiane jest ponownie ze skorygowanym zapytaniem.

Odgadywanie kategorii zestawia słowa z zapytania z nazwami aktywnych kategorii sklepu (dopasowanie podciągu, następnie Levenshtein). Kategoria z najlepszym wynikiem dostarcza swoje bestsellery.

Cała logika jest hostowana lokalnie: żadne dane nie opuszczają Twojego sklepu i nie jest wymagany żaden zewnętrzny klucz API.

Pulpit utraconych zapytań i mapowanie

Zakładka DF Zero Search obejmuje trzy ekrany:

  • Utracone zapytania: wszystkie wyszukiwania z zerowym wynikiem, zagregowane, zliczone i posortowane według wolumenu, z czterema kluczowymi wskaźnikami (łączna liczba utraconych wyszukiwań, unikalne zapytania, aktywne mapowania, oczekujące alerty). Akcja „Mapuj” wstępnie wypełnia formularz mapowania.
  • Mapowania: lista powiązań zapytanie na cel. Celem może być produkt, kategoria lub adres URL, w trybie sugestii (wyświetlanej na stronie ratunkowej) albo przekierowania (odwiedzający jest przekierowywany automatycznie).
  • Subskrypcje „powiadom mnie”: lista zebranych adresów e-mail wraz ze statusem (oczekujący / powiadomiony).

Formularz „powiadom mnie” i alerty

Na stronie ratunkowej formularz z domyślnie odznaczoną zgodą, chroniony honeypotem antybotowym, pozwala odwiedzającemu zostawić adres e-mail dla bieżącego zapytania. Gdy w panelu utworzysz aktywne mapowanie dla tego zapytania, akcja „Powiadom” wysyła e-mail dfzerosearch_alert do wszystkich oczekujących subskrybentów, każdemu w jego języku, po czym oznacza ich jako powiadomionych.

Cron nie jest potrzebny: wysyłka alertów uruchamiana jest ręcznie, w momencie, w którym uznasz, że zapytanie znalazło swój cel.

Zgodność z RODO

  • Jawna zgoda: zbieranie adresów e-mail opiera się na polu domyślnie odznaczonym, z czytelną treścią zgody.
  • Honeypot: ukryte pole odfiltrowuje zautomatyzowane wysyłki, nie utrudniając nic odwiedzającemu.
  • Kontrolowana retencja: utracone zapytania są automatycznie czyszczone po skonfigurowanej liczbie dni, z możliwością ręcznego czyszczenia w dowolnym momencie.
  • Hosting własny: żadne dane nie są przekazywane do usług podmiotów trzecich.

Zgodność i konwencje techniczne

  • PrestaShop od 8.0 do 9.x, multistore, 5 języków.
  • Wykorzystywane hooki: actionSearch i actionFrontControllerSetMedia.
  • Tabele SQL: dfzerosearch_query, dfzerosearch_mapping, dfzerosearch_alert.
  • Zakładka administracyjna AdminDfZeroSearch wraz z trzema podzakładkami, w menu Ulepszenia.
  • Kontroler front rescue zabezpieczony tokenem, odpowiedzi w formacie JSON.
  • Żadnych zależności: ręczny autoloader PSR-4, czysty JavaScript bez jQuery, brak usług zewnętrznych.

Rozwiązywanie problemów

  • Strona ratunkowa się nie wyświetla: sprawdź, czy moduł jest włączony, czy wyszukiwanie rzeczywiście zwraca zero wyników, i wyczyść cache PrestaShop.
  • Nie pojawia się żadna korekta: korekta proponuje wyłącznie słowa obecne w natywnym indeksie, więc zreindeksuj wyszukiwanie PrestaShop, jeśli katalog mocno się zmienił.
  • W pulpicie nie pojawia się żadne zapytanie: upewnij się, że długość zapytań przekracza skonfigurowany próg minimalny i że moduł jest włączony.
  • E-maile z alertami nie wychodzą: sprawdź konfigurację poczty w PrestaShop oraz to, czy akcja „Powiadom” została uruchomiona na aktywnym mapowaniu z oczekującymi subskrybentami.
Czy ta strona była pomocna?

Nadal utknąłeś? Napisz do wsparcia