AI Crawler Manager: dokumentacja
Pełny przewodnik po module dfaicrawlermanager: instalacja, wizualny kreator robots.txt, blokada HTTP 403, import logów Apache i Nginx oraz strategie blokowania botów AI.
Prezentacja
AI Crawler Manager (slug techniczny: dfaicrawlermanager) daje Twojemu sklepowi PrestaShop 8 lub 9 precyzyjną kontrolę nad ruchem generowanym przez boty AI: GPTBot od OpenAI, ClaudeBot od Anthropic, Google-Extended, Applebot-Extended, PerplexityBot, Bytespider od ByteDance i ponad 25 innych crawlerów aktualnych na maj 2026.
Trzy uzupełniające się mechanizmy ochrony:
- Wizualny kreator robots.txt: zezwala lub blokuje każdego bota przełącznikiem, stosuje gotowe ustawienie jednym kliknięciem, zapisuje plik bez naruszania Twoich ręcznych dyrektyw.
- Blokada HTTP 403: dla botów ignorujących robots.txt (Bytespider, anthropic-ai legacy) zwraca kod 403 już przy pierwszym żądaniu, przed jakimkolwiek przetwarzaniem PrestaShop.
- Statystyki crawlowania: śledzenie w czasie rzeczywistym przez hook oraz import logów Apache i Nginx, aby retroaktywnie zmierzyć ruch AI.
# BEGIN DataFirefly AI Crawler Manager i # END DataFirefly AI Crawler Manager. Cała reszta pliku jest zachowana bez zmian, a przy każdym zapisie tworzony jest plik .bak.
Wymagania
- PrestaShop 8.0 do 9.x
- PHP 7.4 minimum (zalecane PHP 8.0 do 8.3)
- MySQL 5.7 / MariaDB 10.3 lub nowsza
- Prawa zapisu do
/robots.txt(katalog główny sklepu) - Do importu logów: dostęp do odczytu logu dostępu Apache lub Nginx (zwykle
/var/log/apache2/access.logalbo~/logs/na o2switch,~/access-logs/na cPanel)
Instalacja
- Pobierz ZIP
dfaicrawlermanager-v1.0.0.zipze swojego konta DataFirefly. - W back office PrestaShop przejdź do Moduły › Menedżer modułów › Wgraj moduł.
- Przeciągnij i upuść ZIP, poczekaj na potwierdzenie, a następnie kliknij Instaluj.
- Po instalacji w menu po lewej (pod Konfiguruj) pojawia się nowa zakładka AI Crawler Manager.
Instalacja tworzy 5 tabel (prefiks ps_dfaicm_), automatycznie zasila listę ponad 30 botów AI i dodaje 6 zakładek administracyjnych.
composer install nie jest wymagany. Autoloader PSR-4 jest wbudowany w moduł pod namespace DataFireflyAiCrawlerManager.
Pierwsze uruchomienie: pulpit
Zakładka AI Crawler Manager otwiera pulpit. Na świeżej instalacji zobaczysz:
- Śledzone boty AI: ponad 30 (liczba aktywnych botów w bazie)
- Zablokowane boty: 0 (domyślnie wszystkie boty są dozwolone)
- Wizyty (30 dni): 0 (śledzenie w czasie rzeczywistym startuje dopiero po włączeniu)
- Reguły per ścieżka: 0
Trzy zalecane działania na tym etapie:
- Otworzyć wizualny kreator robots.txt i zastosować gotowe ustawienie (patrz dedykowana sekcja).
- Włączyć śledzenie w czasie rzeczywistym w Ustawieniach, aby zacząć zbierać statystyki.
- Opcjonalnie: zaimportować historyczne logi dostępu, aby zobaczyć crawlowanie AI z poprzednich tygodni.
Zakładka Boty AI
Pełna lista ponad 30 śledzonych botów z:
- Nazwą wyświetlaną: nazwa marketingowa (np. „ClaudeBot”)
- User-agentem: dokładny łańcuch wyszukiwany w nagłówku HTTP
- Wydawcą: firma (OpenAI, Anthropic, Google, ByteDance, Meta itd.)
- Zastosowaniem: training (trenowanie LLM), assistant (odpowiedzi w czasie rzeczywistym), search (wyszukiwarka AI), crawl (ogólne)
- Respektowaniem robots.txt: tak / nie (wskazuje, czy robots.txt wystarczy)
- Statusem: dozwolony / zablokowany
Dostępne akcje:
- Edycja bota, aby zmienić jego status lub dodać notatki wewnętrzne.
- Masowe blokowanie i odblokowywanie przez akcje grupowe na dole listy.
- Każda zmiana wyzwala automatyczną regenerację robots.txt, jeśli odpowiednia opcja jest włączona w Ustawieniach.
Wizualny kreator robots.txt
Najczęściej używana zakładka: wizualny edytor pliku robots.txt.
Gotowe ustawienia jednym kliknięciem
Pięć gotowych strategii:
- Blokuj tylko trenowanie: zatrzymuje boty training (GPTBot, ClaudeBot, anthropic-ai, CCBot, Bytespider itd.) i pozostawia dozwolone boty assistant i search (ChatGPT-User, Claude-User, OAI-SearchBot itd.). Zalecane dla większości sklepów.
- Restrykcyjne: blokuje training i ogólne crawl, zezwala na assistant i search.
- Blokuj wszystko: disallow na wszystkich ponad 30 botach AI.
- Zezwól na wszystko: przywraca wszystkim botom status dozwolony.
- Blokuj tylko Bytespider: przydatne, jeśli chcesz uderzyć wyłącznie w najbardziej agresywny crawler, nie ruszając reszty.
Przełącznik per bot
Każdy bot ma własny przełącznik:
- Zielony = dozwolony (brak dyrektywy
Disalloww robots.txt) - Czerwony = zablokowany (dyrektywa
User-agent: X / Disallow: /zapisana w zarządzanej sekcji)
Żółta plakietka „ignoruje robots.txt” wskazuje boty, dla których sam robots.txt nie wystarcza. Dla nich włącz też blokadę HTTP 403 w Ustawieniach (patrz dedykowana sekcja).
Podgląd na żywo
Panel po prawej pokazuje w czasie rzeczywistym treść, która zostanie zapisana w robots.txt. Wygląda to tak:
# BEGIN DataFirefly AI Crawler Manager
# Generated 2026-05-26 14:32 — do not edit manually
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Allow: /
User-agent: Bytespider
Disallow: /
# … pozostałe boty …
Sitemap: https://example.com/sitemap.xml
# END DataFirefly AI Crawler Manager
Kliknij Zapisz do robots.txt, aby zapisać plik. Przy każdym zapisie obok tworzony jest plik robots.txt.bak.
Reguły per ścieżka
Do blokowania z drobną granularnością: zezwolić botowi na jedną część witryny, zablokować go na innej.
Typowy przykład: zezwolić ClaudeBotowi na karty produktów (aby Claude je polecał), ale zablokować go na blogu (aby nie oddawać treści redakcyjnej).
Reguła składa się z:
- Bota: bot docelowy (albo „wszystkie boty” przez wildcard)
- Akcji:
allowalbodisallow - Ścieżki: wzorzec URL z wildcardem
*i końcem łańcucha$ - Pozycji: kolejność ewaluacji (reguły najbardziej szczegółowe jako pierwsze)
Przykłady wzorców:
/blog/*: każdy adres zaczynający się od/blog//*.pdf$: wszystkie pliki PDF/order*: adresy zamówienia/module/dfsavecart/*: konkretny moduł
Allow: i Disallow:, ale służą też blokadzie HTTP 403, jeśli ją włączysz.
Blokada HTTP 403
Niektóre boty celowo ignorują robots.txt. Najbardziej znany to Bytespider (ByteDance), ale też część starszych wersji anthropic-ai. Dla tych botów robots.txt nie wystarcza.
Włącz opcję „Włącz blokadę HTTP 403 dla zablokowanych botów” w Ustawieniach. Moduł instaluje wtedy hook actionDispatcherBefore, który:
- Wykrywa user-agenta przy każdym przychodzącym żądaniu (porównanie łańcuchów w pamięci, około 0,1 ms).
- Jeśli bot jest na liście zablokowanych, a żądanie odpowiada regule blokującej: natychmiast zwraca HTTP 403, przed jakąkolwiek inicjalizacją PrestaShop.
- Loguje próbę w tabeli
ps_dfaicm_visitz flagąblocked = 1.
Statystyki i import logów
Zakładka Statystyki oferuje widok na 7, 30 lub 90 dni z:
- Globalnymi KPI (łączne wizyty, unikalne boty, zablokowane trafienia)
- Wykresem dziennego ruchu
- Top botami po wolumenie
- Top odwiedzanymi adresami URL
- Dziennikiem 50 najnowszych wizyt (data, bot, URL, IP, status)
Śledzenie w czasie rzeczywistym
Po włączeniu w Ustawieniach każde żądanie jest inspekcjonowane, a zidentyfikowane trafienia botów AI są zapisywane. Narzut jest pomijalny: mniej niż 1 % ruchu dochodzi do fazy zapisu.
Import logów Apache i Nginx
Pozwala retroaktywnie zliczyć wizyty AI, również te sprzed instalacji modułu.
- W Ustawieniach podaj ścieżkę pliku logu. Moduł proponuje automatyczne wykrywanie (typowe ścieżki Apache, Nginx, o2switch, cPanel).
- Wybierz format (combined domyślnie albo common).
- W zakładce Statystyki kliknij Analizuj log teraz.
Parsowanie jest przyrostowe: offset w bajtach jest zapisywany w bazie. Ponowne uruchomienie operacji nie tworzy duplikatów. Moduł ogranicza każde wykonanie do 8 MB, aby uniknąć timeoutów; przy bardzo dużych plikach wystarczy kilka kolejnych przebiegów.
Aby zacząć od zera (na przykład po rotacji logu), zaznacz Zresetuj offset w Ustawieniach i uruchom analizę ponownie.
Ustawienia
Podsumowanie dostępnych opcji:
robots.txt
- Automatyczna regeneracja: regeneruje robots.txt automatycznie przy zmianie bota lub reguły
- Crawl-delay: zalecane opóźnienie między żądaniami (0 = wyłączone, 1 do 120 sekund)
- Adres sitemapy: dodawany na końcu zarządzanej sekcji
- Globalna sekcja Disallow: dodaje też sekcję
User-agent: *blokującą strefy wrażliwe (administracja, koszyk, logowanie)
Blokada HTTP
- Włącz blokadę HTTP 403: natychmiast zwraca 403 dla zablokowanych botów (patrz dedykowana sekcja)
Śledzenie w czasie rzeczywistym
- Włącz śledzenie: zapisuje każdą wykrytą wizytę AI
- Retencja: liczba dni przechowywania pojedynczych wizyt (7 do 730, domyślnie 90). Dzienne agregaty są przechowywane dłużej.
Import logów
- Włącz analizę logów: aktywuje przycisk importu w zakładce Statystyki
- Ścieżka pliku: ścieżka bezwzględna, z proponowanym automatycznym wykrywaniem
- Format: combined (domyślny dla Apache i Nginx) albo common
- Zresetuj offset: zaznacz, aby przeczytać cały plik od nowa
Zalecane strategie blokowania
Wybór zależy od Twojego pozycjonowania redakcyjnego i handlowego. Trzy typowe profile:
Klasyczny sklep e-commerce (rekomendacja domyślna)
Zastosuj ustawienie „Blokuj tylko trenowanie”. Boty trenujące (GPTBot, ClaudeBot, anthropic-ai, CCBot, Bytespider) są zablokowane. Boty asystujące w czasie rzeczywistym (ChatGPT-User, Claude-User) i wyszukiwarki AI (OAI-SearchBot, PerplexityBot, Google-Extended) pozostają dozwolone: Twoje produkty nadal mogą być polecane w ChatGPT, Claude, Perplexity i Google AI Overviews.
Marka premium z mocną treścią redakcyjną
Ustawienie „Restrykcyjne” plus reguły per ścieżka zezwalające na wybrane strefy. Przykład: zablokuj wszystkie boty AI wszędzie, z wyjątkiem /produkt/* dozwolonego dla ChatGPT-User i Claude-User. Twoje opisy produktów pozostają widoczne w asystentach, a blog i poradniki są chronione.
Sklep w fazie startu lub o małym wolumenie redakcyjnym
Ustawienie „Zezwól na wszystko”. Widoczność w silnikach odpowiedzi AI znacznie przewyższa ryzyko oddania treści. Do bardziej restrykcyjnej blokady wrócisz, gdy Twój katalog i blog nabiorą wartości.
Utrzymanie
Automatyczne czyszczenie
Pojedyncze wizyty starsze niż skonfigurowana retencja są usuwane automatycznie przy każdym parsowaniu logów. Możesz też wywołać ręczne czyszczenie z zakładki Statystyki (przycisk „Wyczyść stare wizyty”).
Kopia zapasowa robots.txt
Każdy zapis tworzy obok pliku oryginalnego plik robots.txt.bak. W razie błędu możesz go przywrócić ręcznie przez FTP albo z panelu cPanel.
Aktualizacja listy botów
Nowe boty AI są dodawane przez aktualizacje modułu. Tabela ps_dfaicm_bot jest aktualizowana w trybie scalania: bot, którego zmodyfikowałeś ręcznie, nigdy nie zostanie nadpisany.
Rozwiązywanie problemów
robots.txt nie jest zapisywalny
Pulpit wyświetla czerwoną plakietkę „Not writable”. Sprawdź:
- Uprawnienia pliku
/robots.txt: minimum 644, a właścicielem musi być użytkownik PHP/Apache - Jeśli plik nie istnieje, sprawdź uprawnienia katalogu głównego (755 plus poprawny właściciel)
- Na części hostingów współdzielonych robots.txt jest generowany dynamicznie przez PrestaShop: wyłącz odpowiednią opcję w Preferencje › Ruch › SEO i adresy URL
Automatyczne wykrywanie logu dostępu nic nie znajduje
Moduł sprawdza następujące ścieżki: /var/log/apache2/access.log, /var/log/nginx/access.log, ~/logs/, ~/access-logs/. Na innych hostingach podaj ścieżkę ręcznie. Jeśli jej nie znasz, skontaktuj się ze wsparciem hostingodawcy albo poszukaj w dokumentacji swojego panelu.
Parsowanie logów trwa zbyt długo
Moduł ogranicza każde wykonanie do 8 MB, aby uniknąć timeoutów PHP. Dla pliku o rozmiarze 500 MB przewidz 60 do 70 przebiegów. Każde kliknięcie „Analizuj log teraz” wznawia pracę tam, gdzie poprzednie się zatrzymało, dzięki zapisanemu offsetowi.
Zablokowany bot mimo wszystko pojawia się w statystykach
To normalne: śledzenie w czasie rzeczywistym zapisuje WSZYSTKIE wykryte wizyty AI, także te zablokowane (z flagą was_blocked = 1). Dzięki temu możesz zmierzyć, ile prób jest faktycznie blokowanych przez Twoją konfigurację.
Bot ignoruje robots.txt mimo mojej reguły
Potwierdź to importem logów: jeśli nadal widzisz trafienia ze statusem 200, bot faktycznie ignoruje robots.txt. Włącz blokadę HTTP 403 w Ustawieniach. Od tego momentu trafienia bota będą się pojawiać ze statusem 403 i flagą was_blocked = 1.
Deinstalacja
W Moduły › Menedżer modułów kliknij Odinstaluj na karcie modułu. Operacja:
- Usuwa 5 tabel
ps_dfaicm_* - Usuwa 6 zakładek administracyjnych
- Usuwa zarządzaną sekcję z robots.txt (znaczniki wartownicze i całą ich zawartość)
- Zachowuje resztę robots.txt oraz plik
robots.txt.bak
Referencja techniczna
- Slug techniczny:
dfaicrawlermanager - Namespace:
DataFireflyAiCrawlerManager - Tworzone tabele:
ps_dfaicm_bot,ps_dfaicm_rule,ps_dfaicm_category_rule,ps_dfaicm_visit,ps_dfaicm_visit_daily - Używane hooki:
actionDispatcherBefore,actionAdminControllerSetMedia,displayBackOfficeHeader - Zakładki back office: Dashboard, Bots, Path rules, Builder, Statistics, Settings (pod AdminParentConfigure)
- Klucze konfiguracji:
DFAICM_AUTO_REGEN,DFAICM_VISIT_LOG,DFAICM_HTTP_BLOCK,DFAICM_LOG_PARSING,DFAICM_LOG_PATH,DFAICM_LOG_FORMAT,DFAICM_LAST_PARSE,DFAICM_LAST_OFFSET,DFAICM_RETENTION,DFAICM_CRAWL_DELAY,DFAICM_SITEMAP_URL,DFAICM_GLOBAL_DISALLOW,DFAICM_INSTALLED_AT
Wsparcie
W sprawach technicznych skontaktuj się z zespołem DataFirefly pod adresem contact@datafirefly.com albo sprawdź swoje konto klienta na datafirefly.com.