PS PrestaShop Średnio zaawansowany

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.

Zaktualizowano Wersja modułu 1.0.0

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.
Uwaga: moduł nigdy nie rusza Twojego robots.txt poza własną sekcją, wyznaczoną znacznikami wartowniczymi # 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.log albo ~/logs/ na o2switch, ~/access-logs/ na cPanel)

Instalacja

  1. Pobierz ZIP dfaicrawlermanager-v1.0.0.zip ze swojego konta DataFirefly.
  2. W back office PrestaShop przejdź do Moduły › Menedżer modułów › Wgraj moduł.
  3. Przeciągnij i upuść ZIP, poczekaj na potwierdzenie, a następnie kliknij Instaluj.
  4. 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.

Wskazówka: żaden 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:

  1. Otworzyć wizualny kreator robots.txt i zastosować gotowe ustawienie (patrz dedykowana sekcja).
  2. Włączyć śledzenie w czasie rzeczywistym w Ustawieniach, aby zacząć zbierać statystyki.
  3. 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.
Ważne: gotowe ustawienie nadpisuje status wszystkich objętych nim botów. Przed zastosowaniem wymagane jest potwierdzenie. Potem możesz dostroić konfigurację bot po bocie.

Przełącznik per bot

Każdy bot ma własny przełącznik:

  • Zielony = dozwolony (brak dyrektywy Disallow w 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: allow albo disallow
  • Ś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ł
Uwaga: reguły per ścieżka są dodawane do robots.txt jako klasyczne dyrektywy 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:

  1. Wykrywa user-agenta przy każdym przychodzącym żądaniu (porównanie łańcuchów w pamięci, około 0,1 ms).
  2. Jeśli bot jest na liście zablokowanych, a żądanie odpowiada regule blokującej: natychmiast zwraca HTTP 403, przed jakąkolwiek inicjalizacją PrestaShop.
  3. Loguje próbę w tabeli ps_dfaicm_visit z flagą blocked = 1.
Wskazówka: blokada HTTP oszczędza CPU i bazę danych przy najbardziej wolumenowych botach. Bytespider potrafi generować kilka tysięcy trafień dziennie na średnim sklepie.

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.

  1. W Ustawieniach podaj ścieżkę pliku logu. Moduł proponuje automatyczne wykrywanie (typowe ścieżki Apache, Nginx, o2switch, cPanel).
  2. Wybierz format (combined domyślnie albo common).
  3. 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.

Czy ta strona była pomocna?

Nadal utknąłeś? Napisz do wsparcia