# AI Crawler Manager — Documentazione

> Panoramica AI Crawler Manager (slug tecnico: dfaicrawlermanager) dà al tuo negozio PrestaShop 8 o 9 il controllo fine del traffico generato dai bot IA: GPTBot di OpenAI, ClaudeBot di Anthropic,…

- Pagina: <https://www.datafirefly.com/it/documentation/ai-crawler-manager/>
- Lingua: it
- Aggiornato il: 2026-06-29
- Altre lingue: [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), [pl](https://www.datafirefly.com/pl/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)
- Indice: <https://www.datafirefly.com/it/documentation/llms.txt>

## Panoramica

**AI Crawler Manager** (slug tecnico: `dfaicrawlermanager`) dà al tuo negozio PrestaShop 8 o 9 il controllo fine del traffico generato dai bot IA: GPTBot di OpenAI, ClaudeBot di Anthropic, Google-Extended, Applebot-Extended, PerplexityBot, Bytespider di ByteDance e oltre 25 altri crawler aggiornati a maggio 2026.

Tre meccanismi di protezione complementari:

- **Costruttore visuale di robots.txt** — permette/blocca ogni bot tramite un interruttore, applica un preset con un clic, scrive il file senza compromettere le tue direttive manuali.
- **Blocco HTTP 403** — per i bot che ignorano robots.txt (Bytespider, anthropic-ai legacy), restituisce un codice 403 alla prima richiesta, prima di qualsiasi elaborazione PrestaShop.
- **Statistiche di crawl** — monitoraggio in tempo reale tramite hook + importazione di log Apache/Nginx per misurare retroattivamente il traffico IA.

**Nota** — Il modulo non tocca mai il tuo robots.txt al di fuori della propria sezione, delimitata dai marcatori sentinella `# BEGIN DataFirefly AI Crawler Manager` e `# END DataFirefly AI Crawler Manager`. Tutto il resto del file viene preservato così com'è, e un file `.bak` viene creato a ogni scrittura.

## Requisiti

- PrestaShop 8.0 → 9.x
- PHP 7.4 minimo (PHP 8.0 a 8.3 raccomandato)
- MySQL 5.7 / MariaDB 10.3 o superiore
- Permessi di scrittura su `/robots.txt` (radice del negozio)
- Per l'importazione dei log: accesso in lettura al log di accesso Apache/Nginx (di solito `/var/log/apache2/access.log`, o `~/logs/` su o2switch, `~/access-logs/` su cPanel)

## Installazione

1. Scarica l'archivio `dfaicrawlermanager-v1.0.0.zip` dal tuo account DataFirefly.
2. Nel back-office PrestaShop, vai a **Moduli › Gestore moduli › Carica un modulo**.
3. Trascina il ZIP, attendi la conferma, poi fai clic su **Installa**.
4. Una volta installato, una nuova scheda **AI Crawler Manager** appare nel menu di sinistra (sotto _Configura_).

L'installazione crea 5 tabelle (prefisso `ps_dfaicm_`), popola automaticamente l'elenco dei 30+ bot IA e aggiunge 6 schede di amministrazione.

**Suggerimento** — Nessun `composer install` richiesto. L'autoloader PSR-4 è integrato nel modulo sotto il namespace `DataFirefly/AiCrawlerManager`.

## Primi passi — la dashboard

La scheda **AI Crawler Manager** apre la dashboard. Su un'installazione fresca vedi:

- **Bot IA monitorati**: 30+ (conteggio dei bot attivi nel database)
- **Bot bloccati**: 0 (di default, tutti i bot sono permessi)
- **Visite (30g)**: 0 (il monitoraggio in tempo reale parte solo dopo l'attivazione)
- **Regole per percorso**: 0

Tre azioni raccomandate a questo punto:

1. Aprire il **costruttore visuale di robots.txt** e applicare un preset (vedi sezione dedicata).
2. Attivare il **monitoraggio in tempo reale** nelle Impostazioni per iniziare a raccogliere statistiche.
3. Opzionale: importare i tuoi log di accesso storici per vedere il traffico IA delle settimane precedenti.

## Scheda Bot IA

L'elenco completo dei 30+ bot monitorati, con:

- **Nome visualizzato**: nome marketing (es. "ClaudeBot")
- **User-agent**: stringa esatta cercata nell'header HTTP
- **Editore**: azienda (OpenAI, Anthropic, Google, ByteDance, Meta…)
- **Uso**: _training_ (addestramento LLM), _assistant_ (risposte tempo reale), _search_ (motore di ricerca IA), _crawl_ (generico)
- **Rispetta robots.txt**: sì / no (indica se robots.txt è sufficiente)
- **Stato**: permesso / bloccato

Azioni disponibili:

- **Modifica** di un bot per regolarne lo stato o aggiungere note interne.
- **Blocco / Sblocco di massa** tramite le azioni di gruppo in fondo alla lista.
- Qualsiasi modifica attiva una rigenerazione automatica di robots.txt se l'opzione corrispondente è attivata nelle Impostazioni.

## Costruttore visuale di robots.txt

La scheda più utilizzata: editor visuale del file robots.txt.

### Preset con un clic

Cinque strategie pronte all'uso:

- **Blocca solo training** — ferma i bot _training_ (GPTBot, ClaudeBot, anthropic-ai, CCBot, Bytespider…) e mantiene permessi i bot _assistant_ e _search_ (ChatGPT-User, Claude-User, OAI-SearchBot…). Raccomandato per la maggior parte dei negozi.
- **Strict** — blocca _training_ + _crawl_ generico, permette _assistant_ + _search_.
- **Blocca tutto** — disallow su tutti i 30+ bot IA.
- **Permetti tutto** — reimposta tutti i bot su permesso.
- **Blocca solo Bytespider** — utile se vuoi solo colpire il crawler più aggressivo senza toccare il resto.

**Importante** — Un preset sovrascrive lo stato di tutti i bot interessati. Viene richiesta una conferma prima dell'applicazione. Potrai poi affinare bot per bot.

### Interruttore per bot

Ogni bot ha il proprio interruttore:

- **Verde** = permesso (nessuna direttiva `Disallow` in robots.txt)
- **Rosso** = bloccato (direttiva `User-agent: X / Disallow: /` scritta nella sezione gestita)

Un badge giallo _"ignora robots.txt"_ marca i bot per i quali robots.txt da solo è insufficiente. Per quelli, attiva anche il **blocco HTTP 403** nelle Impostazioni (vedi sezione dedicata).

### Anteprima live

Il pannello di destra mostra in tempo reale il contenuto che verrà scritto in robots.txt. Output tipico:

```
# 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: /

# … altri bot …

Sitemap: https://example.com/sitemap.xml
# END DataFirefly AI Crawler Manager
```

Fai clic su **Salva in robots.txt** per scrivere il file. Un file `robots.txt.bak` viene creato accanto a ogni salvataggio.

## Regole per percorso

Per un blocco a granularità fine: permettere un bot in una parte del sito, bloccarlo in un'altra.

Esempio tipico: permettere ClaudeBot sulle schede prodotto (così Claude le raccomanda) ma bloccarlo sul blog (per non cedere il tuo contenuto editoriale).

Una regola si compone di:

- **Bot** — bot mirato (o "tutti i bot" tramite wildcard)
- **Azione** — `allow` o `disallow`
- **Percorso** — pattern URL con wildcard `*` e fine stringa `$`
- **Posizione** — ordine di valutazione (le regole più specifiche per prime)

Esempi di pattern:

- `/blog/*` — qualsiasi URL che inizia con `/blog/`
- `/*.pdf$` — tutti i file PDF
- `/order*` — URL di ordine
- `/module/dfsavecart/*` — un modulo specifico

**Nota** — Le regole per percorso vengono aggiunte a robots.txt come direttive `Allow:` / `Disallow:` standard, ma guidano anche il blocco HTTP 403 quando attivato.

## Blocco HTTP 403

Alcuni bot ignorano deliberatamente robots.txt. Il più noto è **Bytespider** (ByteDance), insieme ad alcune versioni legacy di _anthropic-ai_. Per questi bot, robots.txt non basta.

Attiva l'opzione **"Attiva blocco HTTP 403 per bot bloccati"** nelle Impostazioni. Il modulo installa allora un hook `actionDispatcherBefore` che:

1. Rileva l'user-agent a ogni richiesta in entrata (confronto stringhe in memoria, ~0,1 ms).
2. Se il bot è nell'elenco bloccati e la richiesta corrisponde a una regola di blocco: restituisce immediatamente HTTP 403 prima di qualsiasi inizializzazione PrestaShop.
3. Registra il tentativo nella tabella `ps_dfaicm_visit` con il flag `blocked = 1`.

**Suggerimento** — Il blocco HTTP risparmia CPU e risorse di database per i bot di volume più elevato. Bytespider può rappresentare diverse migliaia di hit al giorno su un negozio medio.

## Statistiche e importazione log

La scheda **Statistiche** offre una vista a 7, 30 o 90 giorni con:

- KPI globali (visite totali, bot distinti, hit bloccati)
- Grafico del traffico giornaliero
- Top bot per volume
- Top URL visitate
- Registro delle 50 visite più recenti (data, bot, URL, IP, stato)

### Monitoraggio in tempo reale

Se attivato nelle Impostazioni, ogni richiesta viene ispezionata e gli hit dei bot IA identificati vengono registrati. Il sovraccarico è trascurabile: meno dell'1 % del traffico raggiunge la fase di scrittura.

### Importazione log Apache/Nginx

Permette di contare retroattivamente le visite IA, incluse quelle precedenti all'installazione del modulo.

1. Nelle **Impostazioni**, inserisci il percorso del file di log. Il modulo offre l'auto-rilevamento (percorsi comuni Apache, Nginx, o2switch, cPanel).
2. Scegli il formato (_combined_ per default, o _common_).
3. Nella scheda **Statistiche**, fai clic su **Analizza log ora**.

Il parsing è **incrementale**: un offset in byte viene memorizzato nel database. Rilanciare l'operazione non crea duplicati. Il modulo limita ogni esecuzione a 8 MB per evitare timeout; per file molto grandi, diversi passaggi successivi sono sufficienti.

Per ripartire da zero (per esempio dopo una rotazione di log), seleziona **Resetta offset** nelle Impostazioni e rilancia l'analisi.

## Impostazioni

Riepilogo delle opzioni disponibili:

### robots.txt

- **Auto-rigenerazione**: rigenera robots.txt automaticamente quando un bot o una regola cambia
- **Crawl-delay**: ritardo raccomandato tra richieste (0 = disattivato, 1-120 secondi)
- **URL della sitemap**: aggiunta alla fine della sezione gestita
- **Sezione globale Disallow**: aggiunge anche una sezione `User-agent: *` bloccando aree sensibili (admin, carrello, login)

### Blocco HTTP

- **Attiva blocco HTTP 403**: restituisce immediatamente 403 per i bot bloccati (vedi sezione dedicata)

### Monitoraggio in tempo reale

- **Attiva monitoraggio**: registra ogni visita IA rilevata
- **Conservazione**: numero di giorni di conservazione delle visite individuali (da 7 a 730, default 90). Gli aggregati giornalieri sono conservati più a lungo.

### Importazione log

- **Attiva analisi log**: attiva il pulsante di importazione nella scheda Statistiche
- **Percorso del file**: percorso assoluto, con auto-rilevamento offerto
- **Formato**: combined (Apache/Nginx default) o common
- **Resetta offset**: seleziona per rileggere l'intero file

## Strategie di blocco raccomandate

La scelta dipende dal tuo posizionamento editoriale e commerciale. Tre profili tipici:

### Negozio e-commerce standard (raccomandazione di default)

Applica il preset **"Blocca solo training"**. I bot di addestramento (GPTBot, ClaudeBot, anthropic-ai, CCBot, Bytespider) sono bloccati. I bot di assistenza in tempo reale (ChatGPT-User, Claude-User) e di ricerca IA (OAI-SearchBot, PerplexityBot, Google-Extended) rimangono permessi: i tuoi prodotti possono continuare a essere raccomandati in ChatGPT, Claude, Perplexity e Google AI Overviews.

### Marchio premium / contenuto editoriale forte

Preset **"Strict"** + regole per percorso per permettere alcune zone. Esempio: bloccare tutti i bot IA ovunque, tranne `/prodotto/*` permesso per ChatGPT-User e Claude-User. Le tue descrizioni prodotto restano referenziate negli assistenti, il tuo blog e le tue guide sono protetti.

### Negozio in fase di lancio / poco contenuto editoriale

Preset **"Permetti tutto"**. La visibilità nei motori di risposta IA supera ampiamente il rischio di cessione di contenuto. Passerai a un blocco più stretto quando il tuo catalogo e blog acquisteranno valore.

## Manutenzione

### Purga automatica

Le visite individuali più vecchie della conservazione configurata vengono eliminate automaticamente a ogni analisi dei log. Puoi anche attivare una purga manuale dalla scheda Statistiche (pulsante **"Purga visite vecchie"**).

### Backup di robots.txt

Ogni scrittura crea un `robots.txt.bak` accanto al file originale. In caso di errore, puoi ripristinarlo manualmente via FTP o tramite cPanel.

### Aggiornamento dell'elenco dei bot

I nuovi bot IA vengono aggiunti tramite gli aggiornamenti del modulo. La tabella `ps_dfaicm_bot` viene aggiornata in modalità "merge": un bot che hai personalizzato manualmente non viene mai sovrascritto.

## Risoluzione dei problemi

### robots.txt non è scrivibile

La dashboard mostra un badge rosso "Not writable". Verifica:

- Permessi del file `/robots.txt`: devono essere almeno 644, e il proprietario deve essere l'utente PHP/Apache
- Se il file non esiste, verifica i permessi della directory radice (755 + proprietario corretto)
- Su alcuni hosting condivisi, robots.txt viene generato dinamicamente da PrestaShop: disattiva l'opzione corrispondente in Preferenze › Traffico › SEO e URL

### L'auto-rilevamento del log di accesso non trova nulla

Il modulo cerca nei seguenti percorsi: `/var/log/apache2/access.log`, `/var/log/nginx/access.log`, `~/logs/`, `~/access-logs/`. Su altri hosting, inserisci il percorso manualmente. Se non lo conosci, contatta il supporto del tuo hosting o consulta la documentazione del tuo pannello di controllo.

### L'analisi dei log impiega troppo tempo

Il modulo limita ogni esecuzione a 8 MB per evitare timeout PHP. Per un file di 500 MB, prevedi da 60 a 70 passaggi. Ogni clic su **"Analizza log ora"** riprende dove il precedente si è fermato grazie all'offset memorizzato.

### Un bot bloccato appare comunque nelle statistiche

È normale: il monitoraggio in tempo reale registra TUTTE le visite IA rilevate, comprese quelle bloccate (con il flag `was_blocked = 1`). Questo ti permette di misurare quanti tentativi la tua configurazione sta effettivamente bloccando.

### Un bot ignora robots.txt nonostante la mia regola

Conferma con un'importazione di log: se vedi ancora hit con stato 200, il bot ignora realmente robots.txt. Attiva il blocco HTTP 403 nelle Impostazioni. Da quel momento, gli hit del bot appariranno con stato 403 e flag `was_blocked = 1`.

## Disinstallazione

Da **Moduli › Gestore moduli**, fai clic su **Disinstalla** sulla scheda del modulo. L'operazione:

- Elimina le 5 tabelle `ps_dfaicm_*`
- Rimuove le 6 schede di amministrazione
- Rimuove la sezione gestita da robots.txt (marcatori sentinella e tutto ciò che delimitano)
- Preserva il resto di robots.txt e il file `robots.txt.bak`

## Riferimento tecnico

- **Slug tecnico**: `dfaicrawlermanager`
- **Namespace**: `DataFirefly/AiCrawlerManager`
- **Tabelle create**: `ps_dfaicm_bot`, `ps_dfaicm_rule`, `ps_dfaicm_category_rule`, `ps_dfaicm_visit`, `ps_dfaicm_visit_daily`
- **Hook utilizzati**: `actionDispatcherBefore`, `actionAdminControllerSetMedia`, `displayBackOfficeHeader`
- **Schede back-office**: Dashboard, Bots, Path rules, Builder, Statistics, Settings (sotto AdminParentConfigure)
- **Chiavi di configurazione**: `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`

## Supporto

Per qualsiasi domanda tecnica, contatta il team DataFirefly a **contact@datafirefly.com** o consulta la tua area cliente su [datafirefly.com](https://www.datafirefly.com/).
