Por qué importa quién visita de verdad
Un asistente de IA solo puede citar una página que haya leído uno de sus rastreadores. Si ninguno ha descargado tu página de precios, ninguna respuesta la citará, por bien escrita que esté.
Tu robots.txt, y la tabla de bots de IA de un informe de SagBot, dicen qué rastreadores pueden leer tu sitio. No dicen cuáles vinieron. El registro de acceso de tu servidor sí: cada solicitud, con la dirección de origen, la página, el código de estado y el user agent que identifica al rastreador.
Qué rastreadores de IA existen y por qué vienen
Los rastreadores de IA vienen por uno de tres motivos. Los rastreadores de entrenamiento recopilan páginas para entrenar modelos. Los rastreadores de búsqueda construyen el índice en el que busca un asistente cuando responde. Los agentes de usuario descargan una página en directo porque alguien acaba de preguntarle al asistente por ella. Las visitas de estos dos últimos son las que pueden acabar en una cita.
OpenAI envía GPTBot para entrenamiento, OAI-SearchBot para búsqueda y ChatGPT-User para solicitudes en directo. Anthropic envía ClaudeBot, Claude-SearchBot y Claude-User; Perplexity envía PerplexityBot y Perplexity-User. Meta usa meta-externalagent, meta-webindexer y meta-externalfetcher, Amazon usa Amazonbot, Amzn-SearchBot y Amzn-User, y Mistral y DuckDuckGo envían MistralAI-User y DuckAssistBot. Bytespider (ByteDance) y CCBot (Common Crawl, un archivo abierto con el que se entrenan muchos modelos) recopilan datos de entrenamiento.
Dos nombres que no encontrarás en un registro: Google-Extended y Applebot-Extended son reglas de robots.txt, no rastreadores. Google descarga páginas con Googlebot y Apple con Applebot; las reglas Extended solo deciden si lo descargado puede usarse para IA. El agente de Google para solicitudes de usuarios en directo, Google-Agent, sí aparece con su nombre.
1. Encuentra tu registro de acceso
En tu propio servidor, el registro es un archivo de texto plano. nginx escribe /var/log/nginx/access.log. Apache escribe /var/log/apache2/access.log en Debian y Ubuntu, y /var/log/httpd/access_log en Red Hat, Rocky y Alma. Los días anteriores se rotan a archivos numerados o con fecha junto a él, y los más antiguos se comprimen como .gz.
En un hosting compartido o gestionado, busca en el panel del hosting los registros de acceso sin procesar y descárgalos. Algunos proveedores solo guardan unos pocos días, así que guárdalos con regularidad si quieres una visión más larga.
Detrás de Cloudflare, abre AI Crawl Control para tu dominio en el panel. Está en todos los planes y muestra las solicitudes por rastreador de IA, sus códigos de estado y las rutas más solicitadas, sin ningún archivo de registro; en el plan gratuito sus métricas cubren las últimas 24 horas. Para las líneas de solicitud sin procesar, Logpush las exporta al almacenamiento que elijas. Cloudflare solo ve los nombres de host que pasan por su proxy (la nube naranja); las entradas DNS only van directamente a tu servidor.
En Vercel, la página Logs del proyecto muestra las solicitudes recientes con su user agent, durante una hora en Hobby y un día en Pro. Un log drain (Pro y Enterprise) envía cada solicitud, incluidas las de archivos estáticos, al almacenamiento que elijas.
2. Comprueba que el registro guarda el user agent
El user agent es lo que identifica al rastreador, así que cada línea lo necesita. nginx y Apache tienen un formato llamado combined que termina cada línea con el referer y el user agent entre comillas. nginx lo usa salvo que elijas otro; Apache lo define, y tu línea CustomLog decide si se usa.
Mira las últimas líneas del registro con el primer comando de abajo. Si cada una termina con un nombre de navegador o de bot entre comillas, todo está listo. Si las líneas terminan con el estado y un número de bytes, el servidor escribe el Common Log Format, que no incluye el user agent: configura combined en la línea access_log (nginx) o en la línea CustomLog (Apache), como abajo, y recarga el servidor.
Los comandos de los siguientes pasos dan por hecho el formato combined. Si usas tu propio log_format o LogFormat, mantén $http_user_agent o %{User-Agent}i como último campo entre comillas, o ajusta los comandos.
tail -n 3 /var/log/nginx/access.logaccess_log /var/log/nginx/access.log combined;LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
CustomLog ${APACHE_LOG_DIR}/access.log combined3. Cuenta las visitas por rastreador de IA
Pega el primer bloque en una shell del servidor. Asigna a BOTS los nombres de rastreadores de IA de la tabla de bots de IA de SagBot y cuenta las solicitudes por rastreador en el registro actual. Cambia la ruta si la tuya es distinta, por ejemplo /var/log/apache2/access.log.
El segundo bloque hace lo mismo con los archivos rotados, comprimidos o no; ejecútalo en la misma shell para que BOTS siga definida. Los rastreadores de entrenamiento suelen encabezar la lista. Las visitas de los rastreadores de búsqueda y de los agentes de usuario son las ligadas a las respuestas, así que vale la pena fijarse cuando faltan.
BOTS='GPTBot|OAI-SearchBot|ChatGPT-User|ClaudeBot|Claude-SearchBot|Claude-User'
BOTS="$BOTS|PerplexityBot|Perplexity-User|Google-Agent|Applebot|Bytespider|CCBot"
BOTS="$BOTS|meta-externalagent|meta-webindexer|meta-externalfetcher|Amazonbot"
BOTS="$BOTS|Amzn-SearchBot|Amzn-User|MistralAI-Training|MistralAI-Index"
BOTS="$BOTS|MistralAI-User|DuckAssistBot"
awk -F'"' '{print $6}' /var/log/nginx/access.log \
| grep -Eo "$BOTS" | sort | uniq -c | sort -rnzgrep -hE "${BOTS:?}" /var/log/nginx/access.log* \
| awk -F'"' '{print $6}' | grep -Eo "$BOTS" | sort | uniq -c | sort -rn4. Verifica que un rastreador es auténtico
Cualquiera puede enviar una solicitud cuyo user agent diga GPTBot, y los scrapers lo hacen. Para fiarte de una visita, compara la dirección de origen con la lista del propio operador. El primer comando de abajo lista las direcciones que dijeron ser GPTBot; cámbialo por cualquier otro nombre.
OpenAI, Anthropic, Perplexity, Amazon, Apple y Common Crawl publican los rangos de IP de sus rastreadores en la documentación de sus bots. Google y Bing también se pueden comprobar con DNS inverso: la dirección debe resolverse a un nombre de googlebot.com, google.com o googleusercontent.com para Google, o de search.msn.com para Bing, y ese nombre debe resolverse de vuelta a la misma dirección. El segundo bloque muestra la comprobación con la dirección de ejemplo del propio Google. Apple (applebot.apple.com) y Common Crawl (crawl.commoncrawl.org) pasan la misma prueba.
Meta y ByteDance no publican ninguna lista de direcciones en el momento de escribir esto, así que sus visitas se pueden contar, pero no verificar.
awk '/GPTBot/ {print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rnhost 66.249.66.1
host crawl-66-249-66-1.googlebot.com5. Encuentra las páginas que fallan a los rastreadores de IA
Un rastreador que recibe un 404 o un 500 se va sin nada que citar, y una página que falla una y otra vez puede caerse de su índice.
El bloque de abajo lista las rutas que respondieron a rastreadores de IA con 404 o cualquier 5xx, las más frecuentes primero; necesita BOTS del paso de recuento en la misma shell. Redirige las páginas movidas a su nueva dirección, corrige los errores y quita los enlaces rotos de tu sitemap y de tus enlaces internos.
awk -F'"' -v bots="${BOTS:?}" '$6 ~ bots {
split($3, f, " "); split($2, r, " ")
if (f[1] == 404 || f[1] >= 500) print f[1], r[2]
}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -20Lo que los registros no pueden mostrarte
Una página servida desde la caché de una CDN nunca llega a tu servidor, así que tu propio registro se queda corto. Usa los registros de la CDN o su vista de rastreadores para tener el panorama completo.
Cloudflare solo ve los nombres de host que pasan por su proxy. Un nombre de host en DNS only no muestra visitas en AI Crawl Control, por muchos rastreadores que lleguen a él.
El user agent por sí solo se puede falsificar, y el Common Log Format ni siquiera lo registra.
Los registros muestran visitas, no citas. Que un rastreador lea una página no significa que un asistente vaya a citarla; con qué frecuencia te citan es una medición aparte.
Comprueba quién puede leer tu sitio
Un análisis gratuito lee tu robots.txt y muestra qué rastreadores de IA deja entrar y cuáles bloquea, junto al resto de la preparación para IA de tu sitio.