# AI Crawler Manager: dokumentacja

> 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,…

- Strona: <https://www.datafirefly.com/pl/documentation/ai-crawler-manager/>
- Język: pl
- Zaktualizowano: 2026-10-10
- Inne języki: [fr](https://www.datafirefly.com/documentation/ai-crawler-manager/index.md), [en](https://www.datafirefly.com/en/documentation/ai-crawler-manager/index.md), [es](https://www.datafirefly.com/es/documentation/ai-crawler-manager/index.md), [de](https://www.datafirefly.com/de/documentation/ai-crawler-manager/index.md), [it](https://www.datafirefly.com/it/documentation/ai-crawler-manager/index.md), [nl](https://www.datafirefly.com/nl/documentation/ai-crawler-manager/index.md), [pt](https://www.datafirefly.com/pt/documentation/ai-crawler-manager/index.md)
- Indeks: <https://www.datafirefly.com/pl/documentation/llms.txt>

## 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](https://www.datafirefly.com/pl/).
