PS PrestaShop Średnio zaawansowany

Dokumentacja Wyszukiwanie Bez Wyników: Strona Ratunkowa i Powiadomienia

Instalacja, konfiguracja i obsługa dfzerosearch 1.3.0: strona ratunkowa, podobne referencje, reguły dokładne, „zawiera” i wieloznaczne (M91650*), import CSV, automatyczne powiadomienia i odzyskany przychód.

Zaktualizowano Wersja modułu 1.3.0

Wprowadzenie

Moduł Wyszukiwanie Bez Wyników (dfzerosearch) przejmuje sytuację, gdy wyszukiwanie w sklepie niczego nie znajduje. Zamiast pustej strony odwiedzający widzi stronę ratunkową: cel wybrany przez Ciebie dla tego zapytania, produkty o referencji podobnej do wpisanej, poprawione wyszukiwanie, szersze wyszukiwanie, bestsellery odgadniętej kategorii oraz formularz „powiadom mnie”.

W panelu administracyjnym każde utracone wyszukiwanie jest liczone. Łączysz je z produktem, kategorią, innym wyszukiwaniem lub adresem URL, za pomocą reguły dokładnej, „zawiera” lub wieloznacznej. Moduł mierzy następnie, co przynoszą te ratunki: wskaźnik odzyskania, zamówienia i przychód netto.

Nowość w 1.3.0: blok Similar references (wyszukanie M91650-0005 pokazuje M91650-0001 i M91650-0002) oraz reguły wieloznaczne (M91650* obejmuje całą rodzinę referencji jedną regułą).

Interfejs modułu i e-maile są dostępne po angielsku, francusku, hiszpańsku, niemiecku i włosku. W sklepie po polsku moduł wyświetla wersję angielską, dlatego nazwy ustawień podajemy poniżej w tej wersji.

Instalacja i aktualizacja

Pierwsza instalacja

  1. Otwórz Moduły > Menedżer modułów i kliknij Załaduj moduł.
  2. Wybierz archiwum dfzerosearch.zip.
  3. Moduł tworzy swoje tabele, menu administracyjne i domyślną konfigurację. Działa od razu.
  4. Skopiuj adres URL zadania cron widoczny na stronie konfiguracji i uruchamiaj go co godzinę (patrz niżej).

Aktualizacja z wcześniejszej wersji

Załaduj nowy plik ZIP na stary, bez odinstalowywania. PrestaShop uruchamia skrypty aktualizacji: nowe kolumny, nowe ustawienia z wartościami domyślnymi, wyczyszczenie pamięci podręcznej modułu. Utracone zapytania, reguły, subskrybenci i statystyki zostają zachowane.

Nie odinstalowuj modułu, aby go zaktualizować: odinstalowanie usuwa jego tabele, a więc całą historię.

Konfiguracja

Strona Konfiguruj zaczyna się od skrótów do trzech ekranów modułu, po których następują trzy panele ustawień i panel zadania cron.

Rescue page

  • Enable module: włącza lub wstrzymuje wykrywanie i stronę ratunkową.
  • Typo correction („Did you mean…”): poprawia literówki słowo po słowie na podstawie indeksu wyszukiwania i pokazuje pasujące produkty.
  • Similar references: dla referencji, której nie ma w katalogu, pokazuje produkty, których referencja zaczyna się tak samo. Myślniki, spacje i wielkość liter są ignorowane, uwzględniane są referencje kombinacji.
  • Partial match: gdy długie zapytanie zawodzi przez jedno słowo („skórzane buty rozmiar 45”), pokazuje wyniki najbliższego krótszego zapytania.
  • Best sellers of the guessed category: porównuje zapytanie z nazwami kategorii, łącznie z podkategoriami.
  • Global best sellers fallback: wyświetlane tylko wtedy, gdy żaden inny blok niczego nie znalazł. Jeśli sklep nie ma jeszcze sprzedaży, używane są nowości.
  • „Notify me” form: odwiedzający zostawia e-mail, aby dostać powiadomienie, gdy jego wyszukiwanie znajdzie produkt.
  • Use the theme product miniatures: produkty wyglądają jak na stronach kategorii (dodaj do koszyka, szybki podgląd, etykiety). Po wyłączeniu moduł używa własnych kompaktowych kart.
  • In-stock products only: ukrywa niedostępne produkty we wszystkich blokach.
  • Custom message (dla każdego języka): tekst na górze strony ratunkowej, na przykład numer telefonu lub link do zamówień specjalnych. %query% jest zastępowane wyszukiwanymi słowami.
  • Popular searches: klikalne etykiety z działającymi wyszukiwaniami. Wpisz własną listę dla każdego języka lub zostaw puste, aby używać częstych wyszukiwań z wynikami.
  • Products per block: od 1 do 24 (domyślnie 8).

Tracking and data

  • Minimum query length: krótsze wyszukiwania nie są zapisywane ani ratowane (domyślnie 2).
  • Treat approximate-only results as lost: natywne wyszukiwanie przybliżone PrestaShop często zwraca niezwiązane produkty dla nieznanego słowa. Gdy wyszukiwanie znajduje tylko takie wyniki, liczy się je jako utracone, a blok ratunkowy pojawia się nad nimi.
  • Ignore bots and crawlers: wyszukiwania wyszukiwarek, narzędzi SEO i skryptów nie są zapisywane.
  • Attribution window (days) (domyślnie 7): zamówienie złożone w tym czasie po ratunku jest przypisywane do zapytania i bloku, które przywróciły odwiedzającego (ostatni kontakt).
  • Cache rescue results: przechowuje wynik pracy wyszukiwania przez 15 minut dla każdego zapytania. Ceny i stany magazynowe pozostają aktualne. Pamięć podręczna jest czyszczona przy każdej zmianie ustawienia lub reguły.
  • Retention (days) (domyślnie 180): utracone zapytania niewidziane od tego czasu oraz subskrypcje już powiadomione są usuwane przez zadanie cron. 0 zachowuje wszystko. Przycisk pozwala usunąć dane od razu.

Automation

  • Automatic notify-me emails: subskrybenci dostają e-mail, gdy tylko ich zapytanie otrzyma aktywną regułę lub wyszukiwanie znów znajdzie produkty.
  • Weekly digest: co 7 dni utracone wyszukiwania, wskaźnik odzyskania i najczęstsze utracone zapytania wysyłane e-mailem.
  • Digest recipient: puste pole oznacza adres e-mail sklepu.

Zadanie cron

Panel Scheduled task (cron) pokazuje adres URL chroniony tokenem. Wywołuj go co godzinę z cPanel, Plesk lub dowolnej usługi cron, na przykład:

0 * * * * curl -s "https://www.twoj-sklep.pl/module/dfzerosearch/cron?token=..." > /dev/null

Zadanie wysyła automatyczne powiadomienia, stosuje okres przechowywania i wysyła raport tygodniowy. Panel pokazuje datę ostatniego uruchomienia, przycisk Run now uruchamia zadanie ręcznie, a Generate a new token zastępuje adres URL, jeśli wyciekł. W trybie multistore ustaw osobne zadanie dla każdego sklepu z adresem widocznym w kontekście danego sklepu.

Jeśli zadanie nie działało od 48 godzin, w panelu pojawia się ostrzeżenie: automatyczne e-maile i raport tygodniowy czekają, aż zadanie znów się uruchomi.

Strona ratunkowa

Gdy siatka wyników jest pusta, skrypt ładuje stronę ratunkową przez AJAX. Wyszukiwania, które znajdują produkty, nie są spowalniane. Bloki pojawiają się w tej kolejności, bez powtarzania produktów między blokami:

  1. Twoja reguła: jeśli aktywna reguła pasuje do zapytania, jej cel jest wyróżniony. W trybie przekierowania odwiedzający trafia bezpośrednio na cel. Synonim dodatkowo pokazuje swoje produkty.
  2. Podobne referencje: produkty z tej samej rodziny referencji.
  3. „Czy chodziło o…”: poprawione zapytanie i jego produkty, z linkiem do poprawionego wyszukiwania. Ten blok pojawia się tylko wtedy, gdy poprzednie bloki niczego nie pokazały.
  4. Częściowe dopasowanie: wyniki skróconego zapytania, tylko jeśli nic jeszcze nie znaleziono.
  5. Bestsellery odgadniętej kategorii.
  6. Bestsellery sklepu: wyłącznie w ostateczności.

Własny komunikat pojawia się nad blokami, popularne wyszukiwania i formularz „powiadom mnie” pod nimi.

Podobne referencje

Wielu klientów szuka produktu po dokładnej referencji. Gdy tej referencji nie ma w katalogu, moduł proponuje produkty z tej samej rodziny.

  • Moduł wyszukuje w zapytaniu słowo wyglądające na referencję: co najmniej 5 znaków, w tym co najmniej 2 cyfry.
  • Porównuje je z referencjami produktów i kombinacji, ignorując myślniki, spacje, kropki i wielkość liter. M91650-0005, m91650 0005 i M916500005 są traktowane tak samo.
  • Zachowywane są tylko produkty o wystarczająco długim wspólnym początku referencji (co najmniej 5 znaków i 60% szukanej referencji). Najbliższe pojawiają się jako pierwsze.
  • Przykład: wyszukanie M91650-0005 pokazuje M91650-0001 i M91650-0002, ale nie M91651-0003.

Korekta literówek nigdy nie zmienia słowa zawierającego co najmniej 2 cyfry: referencja nie jest „poprawiana” na inną.

Reguły: mapowania i synonimy

Ekran Mappings & synonyms wyświetla Twoje reguły. Aby utworzyć regułę, kliknij Add a mapping albo użyj akcji Map przy utraconym zapytaniu, która wstępnie wypełnia formularz.

Typy dopasowania

  • Dokładne (exact): zapytanie musi być identyczne z regułą. Wielkość liter, akcenty i nadmiarowe spacje są ignorowane.
  • Zawiera (contains): reguła musi występować w zapytaniu jako słowo lub ciąg słów. Myślniki, ukośniki, kropki i inne separatory liczą się jako spacje: reguła m91651 dotyczy M91651-0003.
  • Wieloznaczne (wildcard): * zastępuje dowolny ciąg znaków, a ? jeden znak. M91650* obejmuje M91650-0001, M91650-0007 lub m916500009, ale nie M91659-0001. Każda reguła zawierająca * lub ? jest automatycznie zapisywana jako wieloznaczna.

Reguła wieloznaczna wymaga co najmniej 3 znaków poza symbolami wieloznacznymi, a ** jest odrzucane. Pisz M91650* zamiast M91650-*, jeśli klienci wpisują referencję także bez myślnika.

Priorytety

Gdy do zapytania pasuje kilka reguł, wygrywa najdokładniejsza: reguła dokładna ma pierwszeństwo przed wieloznaczną, a ta przed regułą „zawiera”. Przy tym samym typie reguła dla konkretnego języka ma pierwszeństwo przed regułą „wszystkie języki”, a następnie wygrywa dłuższa reguła.

Cele i tryby

  • Product: wyszukiwanie po nazwie, referencji lub ID w formularzu.
  • Category.
  • Synonym (other search): inne słowa, które dają wyniki („bluza” zamiast „sweter”). Produkty z tego wyszukiwania są pokazywane na stronie ratunkowej.
  • Custom URL: bezwzględny adres URL lub ścieżka zaczynająca się od ukośnika.

Każda reguła działa w trybie Suggest (cel wyróżniony na stronie ratunkowej) lub Redirect (odwiedzający trafia bezpośrednio na cel). Reguła może dotyczyć jednego języka lub wszystkich.

Import i eksport CSV

Panel Import / export (CSV) na ekranie reguł importuje do 5000 wierszy i eksportuje wszystkie reguły. Separator ; lub ,, wiersz nagłówka opcjonalny. Kolumny:

query ; match ; language ; type ; target ; mode ; active
M91650* ; wildcard ; all ; category ; 12 ; redirect ; 1
sweter ; exact ; pl ; search ; bluza ; suggest ; 1
M91651 ; contains ; all ; product ; M91651-0003 ; suggest ; 1
  • match: exact, contains lub wildcard (domyślnie exact; wildcard wykrywany automatycznie, gdy reguła zawiera * lub ?).
  • language: kod ISO albo puste pole, * lub all dla wszystkich języków.
  • type: product, category, search lub url.
  • target: ID lub referencja produktu, ID kategorii, słowa do wyszukania lub URL.
  • mode: suggest lub redirect (domyślnie suggest). active: 1 lub 0 (domyślnie 1).

Istniejąca reguła z tym samym zapytaniem i językiem jest aktualizowana. Raport importu podaje wiersze utworzone, zaktualizowane i odrzucone wraz z ich numerami.

Powiadomienia „powiadom mnie”

Formularz na stronie ratunkowej ma domyślnie niezaznaczone pole zgody i ukryte pole-pułapkę przeciw botom. Dla zalogowanego klienta e-mail jest wypełniony automatycznie. Zgłoszenia są widoczne na ekranie Notify-me requests wraz ze statusem.

Przy działającym zadaniu cron i opcji Automatic notify-me emails subskrybent otrzymuje e-mail dfzerosearch_alert w swoim języku, gdy tylko jego zapytanie dostanie aktywną regułę lub wyszukiwanie znów znajdzie produkty. Możesz też wysłać go ręcznie akcją Notify przy regule. Każdy e-mail zawiera link do wypisania się.

Panel i odzyskany przychód

Ekran Lost queries pokazuje dane z ostatnich 30 dni: utracone wyszukiwania, wskaźnik odzyskania, zamówienia po ratunku, odzyskany przychód netto, nowe subskrypcje i oczekujące e-maile. Jeden wykres porównuje dzień po dniu wyszukiwania utracone i odzyskane, drugi pokazuje kliknięcia w poszczególne bloki ratunkowe (reguła, podobne referencje, korekta, częściowe dopasowanie, kategoria, bestsellery, popularne wyszukiwania).

Lista utraconych zapytań jest posortowana według liczby wystąpień. Każdy wiersz oferuje Map, Ignore / restore oraz, gdy znaleziono korektę, Create a synonym from this correction. Tabela Latest orders after a rescue pokazuje przypisane zapytanie i blok.

Atrybucja według ostatniego kontaktu: zamówienie jest przypisywane do ostatniego ratunku tego samego odwiedzającego w oknie atrybucji ustawionym w konfiguracji.

Raport tygodniowy

Co 7 dni zadanie cron wysyła e-mail dfzerosearch_digest: utracone wyszukiwania, odzyskani odwiedzający, wskaźnik odzyskania, zamówienia i przychód netto po ratunku, nowe zgłoszenia „powiadom mnie” oraz najczęstsze utracone zapytania. Jeśli w tygodniu nic się nie wydarzyło, e-mail nie jest wysyłany.

RODO

  • Wyraźna zgoda: pole domyślnie niezaznaczone i jasny tekst zgody.
  • Oficjalny moduł RODO: moduł jest zarejestrowany w psgdpr. Eksport i usunięcie danych klienta obejmują jego zgłoszenia „powiadom mnie”.
  • Wypisanie: link w każdym e-mailu.
  • Przechowywanie: automatyczne usuwanie starych zapytań i powiadomionych subskrypcji.
  • Hosting własny: żadne dane nie trafiają do zewnętrznych usług.

Kompatybilność i informacje techniczne

  • PrestaShop od 8.0 do 9.x, multistore.
  • Interfejs i e-maile po angielsku, francusku, hiszpańsku, niemiecku i włosku.
  • Hooki: actionSearch, actionFrontControllerSetMedia, actionValidateOrder, registerGDPRConsent, actionDeleteGDPRCustomer, actionExportGDPRData.
  • Tabele: dfzerosearch_query, dfzerosearch_mapping, dfzerosearch_alert, dfzerosearch_stat, dfzerosearch_session, dfzerosearch_conversion.
  • Menu AdminDfZeroSearch w sekcji Moduły, z trzema ekranami: utracone zapytania, mapowania i synonimy, zgłoszenia „powiadom mnie”.
  • Kontrolery front: rescue (strona ratunkowa, JSON), cron (zadanie cron, token) i unsubscribe.
  • Brak zależności: bez Composera, JavaScript bez jQuery, bez zewnętrznych usług.

Rozwiązywanie problemów

  • Strona ratunkowa się nie pojawia: sprawdź, czy moduł jest włączony i czy wyszukiwanie naprawdę zwraca zero wyników, a następnie wyczyść pamięć podręczną PrestaShop i przeglądarki. Przy mocno zmodyfikowanym motywie skontaktuj się z nami, podając nazwę motywu.
  • Wyszukiwanie pokazuje niezwiązane produkty i nie jest liczone jako utracone: włącz Treat approximate-only results as lost.
  • Brak podobnych referencji: szukane słowo musi mieć co najmniej 5 znaków, w tym 2 cyfry, a aktywne produkty widoczne w wyszukiwaniu muszą mieć ten sam początek referencji.
  • Reguła wieloznaczna nie działa: sprawdź, czy jest aktywna, ustawiona na właściwy język i czy żadna reguła dokładna nie ma pierwszeństwa. Wypróbuj ją bez separatora (M91650*), jeśli klienci wpisują referencję na różne sposoby.
  • Brak proponowanej korekty: korekta podpowiada tylko słowa obecne w indeksie; przebuduj indeks wyszukiwania PrestaShop, jeśli katalog bardzo się zmienił.
  • Automatyczne e-maile lub raport nie są wysyłane: sprawdź datę ostatniego uruchomienia zadania cron i ustawienia e-mail PrestaShop. Przycisk Notify pokazuje jasny komunikat błędu, gdy wysyłka się nie powiedzie.
  • Panel pozostaje pusty: sprawdź minimalną długość zapytania i testuj w zwykłej przeglądarce, ponieważ boty są ignorowane.
Czy ta strona była pomocna?

Nadal utknąłeś? Napisz do wsparcia