# AI Crawler Manager — Documentación

> Presentación AI Crawler Manager (slug técnico: dfaicrawlermanager) le da a su tienda PrestaShop 8 o 9 el control fino del tráfico generado por los bots IA: GPTBot de OpenAI, ClaudeBot…

- Página: <https://www.datafirefly.com/es/documentation/ai-crawler-manager/>
- Idioma: es
- Actualizado el: 2026-06-29
- Otros idiomas: [fr](https://www.datafirefly.com/documentation/ai-crawler-manager/index.md), [en](https://www.datafirefly.com/en/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), [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)
- Índice: <https://www.datafirefly.com/es/documentation/llms.txt>

## Presentación

**AI Crawler Manager** (slug técnico: `dfaicrawlermanager`) le da a su tienda PrestaShop 8 o 9 el control fino del tráfico generado por los bots IA: GPTBot de OpenAI, ClaudeBot de Anthropic, Google-Extended, Applebot-Extended, PerplexityBot, Bytespider de ByteDance y más de 25 otros crawlers actualizados a mayo de 2026.

Tres mecanismos de protección complementarios:

- **Constructor visual de robots.txt** — permite/bloquea cada bot con un interruptor, aplica un preajuste en un clic, escribe el archivo sin romper sus directivas manuales.
- **Bloqueo HTTP 403** — para los bots que ignoran robots.txt (Bytespider, anthropic-ai legacy), devuelve un código 403 en la primera petición, antes de cualquier procesamiento PrestaShop.
- **Estadísticas de crawl** — seguimiento en tiempo real vía hook + importación de logs Apache/Nginx para medir retroactivamente el tráfico IA.

**Nota** — El módulo nunca toca su robots.txt fuera de su propia sección, delimitada por los marcadores centinela `# BEGIN DataFirefly AI Crawler Manager` y `# END DataFirefly AI Crawler Manager`. Todo lo demás del archivo se conserva tal cual, y un archivo `.bak` se crea en cada escritura.

## Requisitos

- PrestaShop 8.0 → 9.x
- PHP 7.4 mínimo (PHP 8.0 a 8.3 recomendado)
- MySQL 5.7 / MariaDB 10.3 o superior
- Permisos de escritura en `/robots.txt` (raíz de la tienda)
- Para la importación de logs: acceso de lectura al log de acceso Apache/Nginx (generalmente `/var/log/apache2/access.log`, o `~/logs/` en o2switch, `~/access-logs/` en cPanel)

## Instalación

1. Descargue el archivo `dfaicrawlermanager-v1.0.0.zip` desde su cuenta DataFirefly.
2. En el back-office PrestaShop, vaya a **Módulos › Gestor de módulos › Subir un módulo**.
3. Arrastre y suelte el ZIP, espere la confirmación y haga clic en **Instalar**.
4. Una vez instalado, una nueva pestaña **AI Crawler Manager** aparece en el menú izquierdo (bajo _Configurar_).

La instalación crea 5 tablas (prefijo `ps_dfaicm_`), siembra automáticamente la lista de 30+ bots IA y añade 6 pestañas de administración.

**Consejo** — No se requiere `composer install`. El autoloader PSR-4 está integrado en el módulo bajo el namespace `DataFirefly/AiCrawlerManager`.

## Primeros pasos — el panel de control

La pestaña **AI Crawler Manager** abre el panel de control. En una instalación nueva, verá:

- **Bots IA seguidos**: 30+ (recuento de bots activos en la base de datos)
- **Bots bloqueados**: 0 (por defecto, todos los bots están permitidos)
- **Visitas (30d)**: 0 (el seguimiento en tiempo real solo inicia tras activación)
- **Reglas por ruta**: 0

Tres acciones recomendadas en este punto:

1. Abrir el **constructor visual de robots.txt** y aplicar un preajuste (ver sección dedicada).
2. Activar el **seguimiento en tiempo real** en Ajustes para empezar a recoger estadísticas.
3. Opcional: importar sus logs de acceso históricos para ver el tráfico IA de las semanas anteriores.

## Pestaña Bots IA

La lista completa de los 30+ bots seguidos, con:

- **Nombre visible**: nombre marketing (ej. "ClaudeBot")
- **User-agent**: cadena exacta buscada en la cabecera HTTP
- **Editor**: empresa (OpenAI, Anthropic, Google, ByteDance, Meta…)
- **Uso**: _training_ (entrenamiento LLM), _assistant_ (respuestas tiempo real), _search_ (motor de búsqueda IA), _crawl_ (genérico)
- **Respeta robots.txt**: sí / no (indica si robots.txt es suficiente)
- **Estado**: permitido / bloqueado

Acciones disponibles:

- **Editar** un bot para ajustar su estado o añadir notas internas.
- **Bloquear / Desbloquear en masa** con las acciones de grupo al pie de la lista.
- Cualquier cambio activa una regeneración automática de robots.txt si la opción correspondiente está activada en Ajustes.

## Constructor visual de robots.txt

La pestaña más utilizada: editor visual del archivo robots.txt.

### Preajustes con un clic

Cinco estrategias listas para usar:

- **Bloquear solo entrenamiento** — detiene los bots _training_ (GPTBot, ClaudeBot, anthropic-ai, CCBot, Bytespider…) y mantiene los bots _assistant_ y _search_ permitidos (ChatGPT-User, Claude-User, OAI-SearchBot…). Recomendado para la mayoría de tiendas.
- **Estricto** — bloquea _training_ + _crawl_ genérico, permite _assistant_ + _search_.
- **Bloquear todo** — disallow en los 30+ bots IA.
- **Permitir todo** — reinicia todos los bots a permitido.
- **Bloquear solo Bytespider** — útil si solo quiere apuntar al crawler más agresivo sin tocar el resto.

**Importante** — Un preajuste sobrescribe el estado de todos los bots afectados. Se solicita confirmación antes de aplicar. Luego puede afinar bot por bot.

### Interruptor por bot

Cada bot tiene su propio interruptor:

- **Verde** = permitido (sin directiva `Disallow` en robots.txt)
- **Rojo** = bloqueado (directiva `User-agent: X / Disallow: /` escrita en la sección gestionada)

Un badge amarillo _"ignora robots.txt"_ marca los bots para los que robots.txt solo es insuficiente. Para esos, active también el **bloqueo HTTP 403** en Ajustes (ver sección dedicada).

### Vista previa en vivo

El panel derecho muestra en tiempo real el contenido que se escribirá en robots.txt. Aspecto típico:

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

# … otros bots …

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

Haga clic en **Guardar en robots.txt** para escribir el archivo. Un archivo `robots.txt.bak` se crea al lado en cada guardado.

## Reglas por ruta

Para un bloqueo de granularidad fina: permitir un bot en una parte del sitio, bloquearlo en otra.

Ejemplo típico: permitir ClaudeBot en las fichas de producto (para que Claude las recomiende) pero bloquearlo en el blog (para no ceder su contenido editorial).

Una regla se compone de:

- **Bot** — bot apuntado (o "todos los bots" mediante wildcard)
- **Acción** — `allow` o `disallow`
- **Ruta** — patrón URL con wildcard `*` y final de cadena `$`
- **Posición** — orden de evaluación (las reglas más específicas primero)

Ejemplos de patrones:

- `/blog/*` — cualquier URL que empiece por `/blog/`
- `/*.pdf$` — todos los archivos PDF
- `/order*` — URLs de pedido
- `/module/dfsavecart/*` — un módulo específico

**Nota** — Las reglas por ruta se añaden a robots.txt como directivas `Allow:` / `Disallow:` estándar, pero también dirigen el bloqueo HTTP 403 si está activado.

## Bloqueo HTTP 403

Algunos bots ignoran voluntariamente robots.txt. El más conocido es **Bytespider** (ByteDance), junto con algunas versiones antiguas de _anthropic-ai_. Para estos bots, robots.txt no basta.

Active la opción **"Activar bloqueo HTTP 403 para bots bloqueados"** en Ajustes. El módulo instala entonces un hook `actionDispatcherBefore` que:

1. Detecta el user-agent en cada petición entrante (comparación de cadenas en memoria, ~0.1 ms).
2. Si el bot está en la lista de bloqueados y la petición coincide con una regla de bloqueo: devuelve inmediatamente HTTP 403 antes de cualquier inicialización PrestaShop.
3. Registra el intento en la tabla `ps_dfaicm_visit` con el flag `blocked = 1`.

**Consejo** — El bloqueo HTTP ahorra CPU y recursos de base de datos para los bots de mayor volumen. Bytespider puede representar varios miles de hits por día en una tienda promedio.

## Estadísticas e importación de logs

La pestaña **Estadísticas** ofrece una vista a 7, 30 o 90 días con:

- KPI globales (visitas totales, bots distintos, hits bloqueados)
- Gráfico de tráfico diario
- Top bots por volumen
- Top URLs visitadas
- Registro de las 50 visitas más recientes (fecha, bot, URL, IP, estado)

### Seguimiento en tiempo real

Si está activado en Ajustes, cada petición se inspecciona y los hits de bots IA identificados se registran. El sobrecoste es despreciable: menos del 1 % del tráfico llega a la fase de escritura.

### Importación de logs Apache/Nginx

Permite contar retroactivamente las visitas IA, incluso las anteriores a la instalación del módulo.

1. En **Ajustes**, introduzca la ruta del archivo de log. El módulo ofrece auto-detección (rutas comunes Apache, Nginx, o2switch, cPanel).
2. Elija el formato (_combined_ por defecto, o _common_).
3. En la pestaña **Estadísticas**, haga clic en **Analizar log ahora**.

El análisis es **incremental**: un offset en bytes se almacena en la base de datos. Volver a ejecutar la operación no crea duplicados. El módulo limita cada ejecución a 8 MB para evitar timeouts; para archivos muy grandes, varias pasadas sucesivas son suficientes.

Para empezar de cero (por ejemplo tras una rotación de log), marque **Resetear offset** en Ajustes y vuelva a lanzar el análisis.

## Ajustes

Resumen de las opciones disponibles:

### robots.txt

- **Auto-regeneración**: regenera robots.txt automáticamente cuando un bot o regla cambia
- **Crawl-delay**: retraso recomendado entre peticiones (0 = desactivado, 1-120 segundos)
- **URL del sitemap**: añadida al final de la sección gestionada
- **Sección global Disallow**: añade también una sección `User-agent: *` bloqueando áreas sensibles (admin, carrito, login)

### Bloqueo HTTP

- **Activar bloqueo HTTP 403**: devuelve inmediatamente 403 para los bots bloqueados (ver sección dedicada)

### Seguimiento en tiempo real

- **Activar seguimiento**: registra cada visita IA detectada
- **Retención**: número de días de conservación de las visitas individuales (7 a 730, por defecto 90). Los agregados diarios se conservan más tiempo.

### Importación de logs

- **Activar análisis de logs**: activa el botón de importación en la pestaña Estadísticas
- **Ruta del archivo**: ruta absoluta, con auto-detección propuesta
- **Formato**: combined (Apache/Nginx por defecto) o common
- **Resetear offset**: marcar para releer el archivo entero

## Estrategias de bloqueo recomendadas

La elección depende de su posicionamiento editorial y comercial. Tres perfiles típicos:

### Tienda e-commerce estándar (recomendación por defecto)

Aplique el preajuste **"Bloquear solo entrenamiento"**. Los bots de entrenamiento (GPTBot, ClaudeBot, anthropic-ai, CCBot, Bytespider) están bloqueados. Los bots de asistencia en tiempo real (ChatGPT-User, Claude-User) y de búsqueda IA (OAI-SearchBot, PerplexityBot, Google-Extended) permanecen permitidos: sus productos siguen pudiendo ser recomendados en ChatGPT, Claude, Perplexity y Google AI Overviews.

### Marca premium / contenido editorial fuerte

Preajuste **"Estricto"** + reglas por ruta para permitir ciertas zonas. Ejemplo: bloquear todos los bots IA en todas partes, salvo `/producto/*` permitido para ChatGPT-User y Claude-User. Sus descripciones de producto siguen referenciadas en los asistentes, su blog y sus guías están protegidos.

### Tienda en fase de lanzamiento / poco contenido editorial

Preajuste **"Permitir todo"**. La visibilidad en los motores de respuesta IA supera ampliamente el riesgo de cesión de contenido. Cambiará a un bloqueo más estricto cuando su catálogo y blog ganen valor.

## Mantenimiento

### Purga automática

Las visitas individuales más antiguas que la retención configurada se eliminan automáticamente en cada análisis de logs. También puede activar una purga manual desde la pestaña Estadísticas (botón **"Purgar visitas antiguas"**).

### Copia de seguridad de robots.txt

Cada escritura crea un `robots.txt.bak` al lado del archivo original. En caso de error, puede restaurarlo manualmente por FTP o vía cPanel.

### Actualización de la lista de bots

Los nuevos bots IA se añaden mediante las actualizaciones del módulo. La tabla `ps_dfaicm_bot` se actualiza en modo "merge": un bot que ha personalizado manualmente nunca se sobrescribe.

## Solución de problemas

### robots.txt no es escribible

El panel muestra un badge rojo "Not writable". Verifique:

- Permisos del archivo `/robots.txt`: deben ser 644 mínimo, y el propietario debe ser el usuario PHP/Apache
- Si el archivo no existe, verifique los permisos del directorio raíz (755 + propietario correcto)
- En algunos hosting compartidos, robots.txt se genera dinámicamente por PrestaShop: desactive la opción correspondiente en Preferencias › Tráfico › SEO y URLs

### La auto-detección del log de acceso no encuentra nada

El módulo busca en las siguientes rutas: `/var/log/apache2/access.log`, `/var/log/nginx/access.log`, `~/logs/`, `~/access-logs/`. En otros hosting, introduzca la ruta manualmente. Si no la conoce, contacte con el soporte de su hosting o consulte la documentación de su panel de control.

### El análisis de logs tarda demasiado

El módulo limita cada ejecución a 8 MB para evitar timeouts PHP. Para un archivo de 500 MB, espere de 60 a 70 pasadas. Cada clic en **"Analizar log ahora"** reanuda donde se detuvo el anterior gracias al offset almacenado.

### Un bot bloqueado sigue apareciendo en las estadísticas

Es normal: el seguimiento en tiempo real registra TODAS las visitas IA detectadas, incluidas las bloqueadas (con el flag `was_blocked = 1`). Esto le permite medir cuántos intentos su configuración está bloqueando efectivamente.

### Un bot ignora robots.txt a pesar de mi regla

Confirme con una importación de logs: si sigue viendo hits con estado 200, el bot realmente ignora robots.txt. Active el bloqueo HTTP 403 en Ajustes. A partir de ese momento, los hits del bot aparecerán con estado 403 y flag `was_blocked = 1`.

## Desinstalación

Desde **Módulos › Gestor de módulos**, haga clic en **Desinstalar** en la ficha del módulo. La operación:

- Elimina las 5 tablas `ps_dfaicm_*`
- Elimina las 6 pestañas de administración
- Retira la sección gestionada de robots.txt (los marcadores centinela y todo lo que delimitan)
- Preserva el resto de robots.txt y el archivo `robots.txt.bak`

## Referencia técnica

- **Slug técnico**: `dfaicrawlermanager`
- **Namespace**: `DataFirefly/AiCrawlerManager`
- **Tablas creadas**: `ps_dfaicm_bot`, `ps_dfaicm_rule`, `ps_dfaicm_category_rule`, `ps_dfaicm_visit`, `ps_dfaicm_visit_daily`
- **Hooks utilizados**: `actionDispatcherBefore`, `actionAdminControllerSetMedia`, `displayBackOfficeHeader`
- **Pestañas back-office**: Dashboard, Bots, Path rules, Builder, Statistics, Settings (bajo AdminParentConfigure)
- **Claves de configuración**: `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`

## Soporte

Para cualquier pregunta técnica, contacte con el equipo DataFirefly en **contact@datafirefly.com** o consulte su área de cliente en [datafirefly.com](https://www.datafirefly.com/).
