Traffic Radar: kompletny przewodnik
Instalacja, konfiguracja i obsługa pulpitu czasu rzeczywistego Traffic Radar: licznik online ludzie/boty, wykrywanie crawlerów AI, wykresy, mapa natężenia, sterowanie robots.txt i eksport CSV dla PrestaShop 8 i 9.
Traffic Radar pokazuje w czasie rzeczywistym, kto odwiedza Twój sklep PrestaShop, i oddziela prawdziwych użytkowników od robotów oraz crawlerów AI. Moduł instaluje dedykowany pulpit w sekcji Statystyki → Traffic Radar: natychmiastowy licznik online (ludzie kontra boty), wykresy zmian w czasie, mapę natężenia ruchu, ranking crawlerów AI, strumień aktywności na żywo, sterowanie crawlerami AI przez robots.txt i eksport CSV. Ten przewodnik obejmuje instalację, ustawienia, zasadę wykrywania, każdy widok pulpitu, prywatność i rozwiązywanie problemów.
Instalacja
- Pobierz archiwum
dftrafficradar.zipze swojego konta DataFirefly. - Panel administracyjny PrestaShop → Moduły → Wgraj moduł → wyślij plik ZIP.
- Podczas instalacji moduł tworzy dwie tabele (
df_traffic_visitidf_traffic_online), rejestruje swoje hooki i dodaje zakładkę Statystyki → Traffic Radar.
Zgodny z PrestaShop od 8.0 do 9.x, na PHP od 7.4 do 8.3. Bez nadpisań motywu, bez zależności Composer, bez CDN (Chart.js jest osadzony lokalnie). Zgodny z trybem wielosklepowym i wielojęzycznym (FR, EN, ES, DE, IT).
Konfiguracja
Przejdź do Moduły → DataFirefly Traffic Radar → Konfiguruj.
- Włącz śledzenie: przełącznik główny. Po wyłączeniu żadna wizyta nie jest zapisywana.
- Zapisuj boty i crawlery AI: wyłącz, aby śledzić wyłącznie wizyty ludzi.
- Anonimizuj adresy IP (RODO): adresy IP są zawsze haszowane; ta opcja dodatkowo maskuje ostatni oktet przed haszowaniem.
- Retencja danych (dni): starsze wizyty są usuwane automatycznie.
0= przechowywanie bezterminowe. Wartość domyślna: 90. - Interwał heartbeat (sekundy): częstotliwość, z jaką odwiedzający online wysyła sygnał, aby pozostać zliczonym. Wartość domyślna: 15.
- Okno „online” (sekundy): odwiedzający jest uznawany za obecnego teraz, jeśli był widziany w tym oknie. Wartość domyślna: 90.
- Wykluczone adresy IP: po jednym w wierszu (lub oddzielone przecinkami). Idealne do pomijania ruchu własnego i zespołu.
Dodaj adresy IP swojego biura do listy wykluczeń już przy instalacji, aby własne testy nie zawyżały statystyk.
Jak działa wykrywanie
Traffic Radar łączy dwa uzupełniające się sygnały, dzięki czemu naprawdę oddziela ludzi od crawlerów.
Wykrywanie po stronie serwera
Przy każdej odsłonie strony, przez hook actionFrontControllerSetMedia, moduł klasyfikuje User-Agent na podstawie bazy ponad 40 sygnatur (AI, wyszukiwarki, SEO, social media, monitoring) i przypisuje mu typ. To właśnie pozwala przechwycić crawlery AI, które prawie nigdy nie wykonują JavaScriptu.
Heartbeat po stronie klienta
Niewielki skrypt (tracker.js) cyklicznie wysyła sygnał do kontrolera front track, aby prawdziwi odwiedzający pozostali zliczeni jako online pomiędzy kolejnymi stronami. Ponieważ boty nie wyzwalają tego sygnału, licznik ludzi w czasie rzeczywistym pozostaje czysty.
Żądania AJAX i podżądania modułów (dodanie do koszyka, lista życzeń, opinie, a także sam heartbeat) nie są liczone jako odsłony stron: zapisywane są wyłącznie rzeczywiste strony nawigacyjne.
Pulpit
Zakładka Statystyki → Traffic Radar zbiera wszystkie widoki, filtrowalne według okresu (dziś, 24 h, 7 / 30 / 90 dni, zakres własny) i według audytorium (cały ruch, ludzie, wszystkie boty lub konkretny typ bota).
- Online teraz: licznik czasu rzeczywistego rozdzielony na ludzi i boty, odświeżany w rytmie heartbeat.
- Wskaźniki KPI: wizyty, unikalne sesje, wizyty ludzi, wizyty botów i trafienia AI / LLM. Każdy wskaźnik pokazuje zmianę procentową względem poprzedniego okresu o tej samej długości.
- Wizyty w czasie: krzywa ludzie kontra boty, z automatyczną granulacją (godzinową lub dzienną, zależnie od okresu).
- Struktura audytorium: wykres pierścieniowy według typu (człowiek, AI, wyszukiwarki, SEO, social media, monitoring, pozostałe).
- Najaktywniejsze crawlery AI: poziome słupki najbardziej aktywnych crawlerów AI (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, Bytespider i inne).
- Mapa natężenia ruchu: siatka godzina na dzień tygodnia.
- Najczęstsze strony, źródła odesłań i kraje: rankingi słupkowe.
- Strumień aktywności na żywo: ostatnie wizyty z typem, tożsamością, stroną, urządzeniem i krajem.
Licznik czasu rzeczywistego
Blok „Online teraz” opiera się na tabeli df_traffic_online, aktualizowanej przy każdej odsłonie i każdym sygnale heartbeat. Odwiedzający znika z licznika, gdy nie był widziany przez czas określony w oknie „online”.
Jeśli licznik pozostaje na zerze mimo obecności odwiedzających, sprawdź, czy używasz wersji 1.1.1 lub nowszej: we wcześniejszych wydaniach różnica strefy czasowej między PHP a MySQL mogła zafałszować okno czasu rzeczywistego. Poprawka wyrównuje odczyt do zegara zapisu.
Radar nowych crawlerów
Panel „Wykryte nowe crawlery” wyróżnia boty, których pierwsza zapisana wizyta przypada na analizowany okres. To idealne narzędzie, aby natychmiast wychwycić pojawienie się nowego crawlera AI na Twoim katalogu: nazwa bota, typ, data pierwszego wystąpienia i liczba trafień.
Sterowanie crawlerami AI (robots.txt)
Centrum sterowania wymienia 25 znanych crawlerów AI wraz z ich oficjalnym tokenem robots.txt. Dla każdego wybierasz „dozwolony” albo „zablokowany” za pomocą pola wyboru; crawlery trenujące modele są domyślnie zaznaczone jako zablokowane, natomiast agenci odpowiadający na zapytanie użytkownika są przepuszczani.
- Crawlery faktycznie zaobserwowane w Twoim sklepie są oznaczone plakietką.
- Dwa ustawienia wstępne jednym kliknięciem: „Zablokuj wszystkie” i „Ustawienia zalecane”.
- Moduł generuje na bieżąco gotowy do wklejenia blok
robots.txtz przyciskiem Kopiuj.
W tej wersji zastosowanie zmian jest celowo ręczne: wklejasz wygenerowany blok do swojego pliku robots.txt. Moduł nigdy nie zapisuje pliku automatycznie, co gwarantuje, że istniejące dyrektywy nie zostaną niespodziewanie nadpisane.
Widżet na pulpicie głównym
Moduł osadza kartę „Traffic Radar” w prawej kolumnie głównego pulpitu panelu administracyjnego (hook dashboardZoneTwo): licznik online na żywo (ludzie / boty) i liczniki dzienne (wizyty, ludzie, boty, AI / LLM), wraz ze skrótem do pełnego pulpitu.
Eksport CSV
Przycisk CSV na pasku narzędzi eksportuje cały ruch odpowiadający aktywnym filtrom (okres i audytorium). Plik jest zakodowany w UTF-8 ze znacznikiem BOM, aby poprawnie otwierał się w Excelu, i zawiera jeden wiersz na wizytę: data, typ, nazwa bota, urządzenie, strona, źródło odesłania, kraj i pozostałe pola.
Prywatność i RODO
- Żaden surowy adres IP nie jest przechowywany: wyłącznie solone skróty SHA-1.
- Opcjonalna anonimizacja maskuje ostatni oktet (IPv4) lub ostatnie grupy (IPv6) przed haszowaniem.
- Retencja jest konfigurowalna, z automatycznym czyszczeniem probabilistycznym: żaden cron nie jest wymagany.
- Lista wykluczonych adresów IP pozwala pominąć ruch własny.
Czyszczenie starych danych uruchamia się probabilistycznie wraz z ruchem. Jeśli wolisz porządkowanie deterministyczne, możesz wywołać czyszczenie z crona, ale nie jest to konieczne.
Zgodność i uwagi techniczne
- PrestaShop od 8.0 do 9.x, tryb wielosklepowy i wielojęzyczny.
- Architektura PSR-4 w przestrzeni nazw DataFirefly/TrafficRadar (separatorem jest ukośnik wsteczny) z osadzonym autoloaderem, bez Composera.
- Kontroler administracyjny w trybie legacy (
ModuleAdminController) dla zgodności z PS8 i PS9. - Punkty AJAX w panelu administracyjnym przez czwarty argument
getAdminLink(); odpowiedzi JSON emitowane przez dedykowaną metodę. - Wykorzystywane hooki:
actionFrontControllerSetMedia,displayHeader,dashboardZoneTwo. - Dwie indeksowane tabele utf8mb4:
df_traffic_visit(dziennik wizyt) idf_traffic_online(obecność, klucz unikalny na sesję). - Chart.js osadzony lokalnie, bez wywołań do CDN.
FAQ i rozwiązywanie problemów
Licznik „Online teraz” pozostaje na zerze. Upewnij się, że masz wersję 1.1.1 lub nowszą (poprawka strefy czasowej między PHP a MySQL). Sprawdź też, czy śledzenie jest włączone i czy Twój własny adres IP nie znajduje się na liście wykluczeń.
W strumieniu pojawiały się wpisy typu „module-…”. Naprawione w 1.1.1: żądania AJAX i podżądania modułów nie są już liczone jako odsłony stron.
Czy crawlery AI są naprawdę wykrywane? Tak. Wykrywanie po stronie serwera przechwytuje je nawet bez JavaScriptu. Sygnatury obejmują OpenAI, Anthropic, Google-Extended, Perplexity, ByteDance, Meta, Mistral, Cohere, Amazon, Common Crawl i inne.
Czy moduł spowalnia sklep? Nie. Klasyfikacja User-Agenta to zwykłe porównanie ciągów w pamięci, a śledzenie sprowadza się do jednego wstawienia i jednej operacji upsert na indeksowanych tabelach przy odsłonie strony.
Czy pełna pamięć podręczna stron zafałszowuje wyniki? Strony serwowane z pełnej pamięci podręcznej nie przechodzą przez PHP, więc nie są ponownie liczone po stronie serwera. Heartbeat w JavaScripcie nadal utrzymuje jednak zliczanie odwiedzających online.
Czy moduł działa z PrestaShop 1.7? Nie, wyłącznie z PrestaShop od 8.0 do 9.x.