DF Smart 404: dokumentacja
Instalacja, konfiguracja i wykorzystanie inteligentnej strony 404: sugestie produktów, wstępnie wypełniona wyszukiwarka, dziennik błędów 404 i przekierowania 301 jednym kliknięciem.
Wprowadzenie
DF Smart 404 zamienia stronę „nie znaleziono” Twojego sklepu w punkt konwersji. Gdy odwiedzający trafi na uszkodzony adres URL, moduł analizuje ten adres, wyodrębnia z niego słowa kluczowe i wyświetla produkty z katalogu, które najlepiej do nich pasują, wraz z wstępnie wypełnionym formularzem wyszukiwania.
Równolegle każdy błąd 404 jest zapisywany w dzienniku w panelu administracyjnym. Widzisz dokładnie, które adresy są uszkodzone, ilu odwiedzających na nie trafia i skąd przychodzą. Z poziomu dziennika przekierowanie 301 na właściwy produkt tworzy się jednym kliknięciem.
Co robi moduł
- Wstrzykuje blok sugestii produktowych na stronę 404 Twojego motywu, bez nadpisywania szablonu.
- Wypełnia formularz wyszukiwania czytelnymi słowami kluczowymi wyodrębnionymi z uszkodzonego adresu.
- Rejestruje każdy błąd 404 z deduplikacją, licznikiem odsłon, referrerem i user-agentem.
- Tworzy przekierowania 301 lub 302 jednym kliknięciem, z zabezpieczeniem przed pętlą.
- Stosuje te przekierowania przed dispatchem strony.
Wymagania
- PrestaShop 8.0 do 9.x
- PHP 7.4 lub nowszy
- Brak zewnętrznych zależności, bez Composera
Instalacja
- Przejdź do Moduły > Menedżer modułów.
- Kliknij Wgraj moduł i wskaż plik
df404smart-1.0.0.zip. - Kliknij Zainstaluj.
Podczas instalacji moduł tworzy dwie tabele SQL (dziennik błędów 404 i przekierowania), rejestruje trzy hooki i dodaje w panelu administracyjnym menu DF Smart 404 z dwiema podzakładkami.
Blok działa od razu na stronie 404 z domyślnymi, gotowymi do użycia ustawieniami. Możesz to sprawdzić, odwiedzając nieistniejący adres w swoim sklepie.
Konfiguracja
Otwórz stronę Konfiguruj modułu. Na górze widoczne są cztery wskaźniki, poniżej formularz ustawień.
Pulpit
- Uszkodzone adresy do poprawy: liczba wpisów o statusie „nowy” w dzienniku.
- Odsłony 404 na tych adresach: suma wizyt na adresach jeszcze nieobsłużonych.
- Aktywne przekierowania: liczba działających reguł przekierowań.
- Wizyty uratowane przez przekierowania: suma odsłon przechwyconych przez Twoje przekierowania.
Dostępne ustawienia
- Wzbogacaj stronę 404: włącza lub wyłącza wstrzykiwanie bloku sugestii.
- Pokazuj formularz wyszukiwania: wyświetla w bloku wstępnie wypełnione pole wyszukiwania.
- Włącz silnik przekierowań: stosuje przekierowania utworzone z poziomu dziennika. Odznacz tę opcję, jeśli używasz już zewnętrznego modułu przekierowań.
- Liczba sugestii: od 0 do 12 wyświetlanych produktów. Wartość 0 wyłącza sugestie, zachowując formularz wyszukiwania.
- Domyślny typ przekierowania: 301 trwałe (zalecane pod SEO) lub 302 tymczasowe.
- Rejestruj ruch robotów: po wyłączeniu odsłony pochodzące ze znanych crawlerów nie trafiają do dziennika.
- Czas przechowywania dziennika (dni): starsze wpisy są automatycznie usuwane. Reguły przekierowań nigdy nie są czyszczone.
- Wzorce wykluczeń: jedno wyrażenie regularne (bez rozróżniania wielkości liter) na wiersz. Pasujące adresy nigdy nie są rejestrowane.
Domyślne wzorce wykluczeń
Moduł jest dostarczany z listą wzorców odsiewających szum generowany przez skanery podatności i zapytania automatyczne: próby na wp-admin, wp-login, xmlrpc, phpmyadmin, katalogi .git, a także zasoby statyczne (obrazy, arkusze stylów, skrypty). Dodaj własne wzorce, po jednym na wiersz. Nieprawidłowy wzorzec jest zgłaszany przy zapisie, wraz z numerem wiersza.
Blok sugestii w sklepie
Jak wybierane są produkty
Gdy wystąpi błąd 404, moduł dzieli dwa ostatnie segmenty adresu na słowa kluczowe. Słowa nieznaczące są odrzucane w pięciu językach (francuski, angielski, hiszpański, niemiecki, włoski), zachowywane są tylko tokeny o długości co najmniej trzech znaków, a identyfikatory czysto liczbowe są pomijane.
Każdy pozostały token jest następnie porównywany z katalogiem według ważonej punktacji:
- dopasowanie w polu link_rewrite produktu: 4 punkty
- dopasowanie w nazwie produktu: 3 punkty
- dopasowanie w referencji: 2 punkty
Produkty są sortowane malejąco według wyniku, a zachowywane są tylko te z wynikiem większym od zera.
Zachowanie awaryjne
Jeśli analiza nie zwróci żadnego produktu, co często zdarza się przy bardzo krótkim lub nieczytelnym adresie, moduł automatycznie przełącza się na bestsellery. Gdy i one są niedostępne (nowy katalog, brak wyliczonych statystyk), wyświetla najnowsze produkty. Odwiedzający zawsze widzi produkty, nigdy pusty blok.
Formularz wyszukiwania
Pole wyszukiwania jest wypełniane czytelną wersją słów kluczowych z adresu. Odwiedzający trafiający na /sneakers-skorzane-premium-edycja widzi w polu już wpisane „sneakers skorzane premium edycja”.
Formularz kieruje do natywnej strony wyszukiwania Twojego motywu, z parametrami query string poprawnie przekazanymi w polach ukrytych. Nie powstaje konflikt z zewnętrznym modułem wyszukiwania natychmiastowego: moduł niczego nie nadpisuje, korzysta ze standardowego punktu wejścia PrestaShop.
Gdzie wyświetla się blok
Moduł wykrywa sekcję treści strony 404 w Twoim motywie i wstawia tam blok, tuż pod natywnym komunikatem. Jeśli struktura motywu jest nietypowa, kolejne warianty zapasowe gwarantują, że blok pozostanie nad stopką. Żaden plik motywu nie jest modyfikowany.
Dziennik błędów 404
Menu DF Smart 404 > Dziennik 404.
Kolumny
- Uszkodzony adres: wywołana ścieżka, w postaci znormalizowanej.
- Odsłony: liczba wizyt pod tym adresem. Lista jest domyślnie sortowana malejąco po odsłonach, więc najbardziej kosztowne adresy pojawiają się na górze.
- Ostatni referrer: skąd przyszedł ostatni odwiedzający (Google, obcy serwis, strona wewnętrzna).
- Status: Nowy, Przekierowany lub Zignorowany.
- Ostatnia odsłona: data ostatniej wizyty.
Deduplikacja
Deduplikacja opiera się na haszu adresu, w zakresie danego sklepu. Tysiąc wizyt pod tym samym uszkodzonym adresem daje jeden wiersz z tysiącem odsłon, nigdy tysiąc wierszy. Zapis odbywa się w jednym zapytaniu typu upsert.
Akcje dostępne w każdym wierszu
- Przekierowanie automatyczne (ikona błyskawicy): natychmiast tworzy przekierowanie do najtrafniejszego produktu, przez AJAX, bez opuszczania strony. Ta akcja jest proponowana tylko wtedy, gdy wynik dopasowania przekracza próg pewności; w przeciwnym razie komunikat zachęca do użycia formularza prowadzonego.
- Utwórz przekierowanie: otwiera formularz prowadzony (opisany niżej).
- Ignoruj: przełącza wpis na status „zignorowany”. Znika on ze wskaźników, ale pozostaje dostępny do wglądu.
- Usuń: usuwa wpis z dziennika.
Z paska narzędzi dostępne są także zbiorcze usuwanie oraz eksport CSV.
Tworzenie przekierowania
Przekierowanie automatyczne
Przycisk błyskawicy wylicza najlepiej pasujący produkt dla uszkodzonego adresu. Jeśli wynik przekracza wewnętrzny próg pewności, przekierowanie jest tworzone od razu ze skonfigurowanym typem domyślnym, a wpis w dzienniku przechodzi na status „przekierowany”. Komunikat potwierdzenia wskazuje produkt docelowy.
Próg pewności zapobiega ryzykownym przekierowaniom. Adres taki jak /promocja-lato-2024 najprawdopodobniej nie znajdzie wiarygodnego dopasowania: moduł odmówi automatycznego przekierowania i odeśle Cię do formularza prowadzonego.
Formularz prowadzony
Pokazuje uszkodzony adres, liczbę jego odsłon oraz listę sugerowanych produktów uszeregowanych według wyniku. Każda sugestia to przycisk radio, przy czym pierwsza jest wstępnie zaznaczona. Pole Adres niestandardowy pozwala podać dowolny cel: kategorię, stronę CMS lub adres zewnętrzny.
Następnie wybierasz typ przekierowania (301 lub 302) i zatwierdzasz. Moduł sprawdza, czy cel nie jest pusty, czy nie wskazuje na sam adres źródłowy (zabezpieczenie przed pętlą) i czy dla tego źródła nie istnieje już przekierowanie.
Zarządzanie przekierowaniami
Menu DF Smart 404 > Przekierowania 404.
Ten ekran daje pełne zarządzanie regułami przekierowań:
- Adres źródłowy: uszkodzona ścieżka, na przykład
/stara-kategoria/stary-produkt. - Adres docelowy: ścieżka lub pełny adres, na który ma nastąpić przekierowanie.
- Typ: 301 (trwałe) lub 302 (tymczasowe).
- Odsłony: liczba wizyt przechwyconych przez tę regułę. To bezpośrednia miara uratowanych wizyt.
- Aktywna: przełącznik pozwalający wyłączyć regułę bez jej usuwania.
Obowiązują te same walidacje co w formularzu prowadzonym: niepuste źródło, brak pętli, brak duplikatu źródła (bieżący identyfikator jest wykluczony z kontroli podczas edycji).
Jak działa silnik
Przekierowania są oceniane przed dispatchem strony, przed kontrolerem front office. Wywołana ścieżka jest normalizowana, po czym indeksowane wyszukiwanie po jej haszu szuka aktywnej reguły dla bieżącego sklepu. Gdy reguła pasuje, licznik odsłon rośnie, a przekierowanie jest wysyłane ze skonfigurowanym kodem HTTP.
Wydajność
- Dziennik zapisuje wyłącznie przy rzeczywistym błędzie 404, w jednym zapytaniu upsert.
- Silnik przekierowań wykonuje indeksowane wyszukiwanie po haszu: koszt pomijalny nawet przy setkach reguł.
- Czyszczenie starych wpisów jest uruchamiane losowo na około 1 procencie odsłon, aby nigdy nie blokować żądania odwiedzającego.
- Odsłony pochodzące od robotów można wykluczyć z zapisu, co dodatkowo zmniejsza obciążenie w sklepach intensywnie indeksowanych.
Multistore
Wszystkie dane modułu są przypisane do identyfikatora sklepu: dziennik, przekierowania i sugestie. Każdy sklep ma własny dziennik, własne reguły i własną konfigurację. Uszkodzony adres w sklepie A nie pojawia się w dzienniku sklepu B.
RODO
Dziennik zapisuje uszkodzony adres, referrer i user-agent. Żaden adres IP nie jest przechowywany, żadne dane osobowe nie są zbierane. Czas przechowywania jest konfigurowalny, a czyszczenie automatyczne. Moduł nie wysyła żadnych danych do usług zewnętrznych.
Odinstalowanie
Odinstalowanie usuwa obie tabele modułu (dziennik 404 i przekierowania), zakładki w panelu administracyjnym oraz konfigurację. Utworzone przekierowania zostaną utracone. Przed operacją wymagane jest potwierdzenie.
Jeśli planujesz ponowną instalację modułu lub migrację, najpierw wyeksportuj przekierowania do pliku CSV z ekranu zarządzania.
Rozwiązywanie problemów
Blok nie wyświetla się na stronie 404
- Sprawdź, czy ustawienie Wzbogacaj stronę 404 jest włączone.
- Wyczyść pamięć podręczną PrestaShop (Parametry zaawansowane > Wydajność > Wyczyść pamięć podręczną).
- Upewnij się, że motyw korzysta ze standardowego kontrolera
pagenotfound.
Blok wyświetla się pod stopką
Ten przypadek jest obsłużony od wersji 1.0.0: moduł celuje w sekcję treści, a nie w znacznik zamykający głównego kontenera. Jeśli nadal obserwujesz takie zachowanie, wyczyść pamięć podręczną Smarty i zgłoś strukturę swojego motywu do wsparcia.
Nie jest sugerowany żaden produkt
- Sprawdź, czy Liczba sugestii nie jest ustawiona na 0.
- W nowym katalogu bez historii sprzedaży zapasowa lista bestsellerów jest pusta: moduł przełącza się wtedy na najnowsze produkty. Upewnij się, że masz co najmniej jeden produkt aktywny i widoczny.
Przekierowanie automatyczne nie chce się utworzyć
To zachowanie oczekiwane, gdy wynik dopasowania jest zbyt niski. Skorzystaj z formularza prowadzonego, który pokazuje sugestie także poniżej progu i pozwala wpisać własny cel.
Przekierowanie nie działa
- Sprawdź, czy ustawienie Włącz silnik przekierowań jest zaznaczone.
- Sprawdź, czy reguła jest aktywna na ekranie zarządzania.
- Sprawdź, czy reguła należy do właściwego sklepu w kontekście multistore.
- Jeśli zainstalowany jest inny moduł przekierowań, może on przechwycić żądanie wcześniej.
Wsparcie
Licencja obejmuje 12 miesięcy aktualizacji i 12 miesięcy wsparcia mailowego. Dostarczany jest pełny kod źródłowy PHP, bez obfuskacji.