DeepMention
Medición

Logs del servidor: cómo ver qué bots de IA visitan tu web

Cómo encontrar GPTBot, OAI-SearchBot, ClaudeBot o PerplexityBot en los logs de tu servidor: user-agents oficiales, comandos grep y awk y verificación de IP.

Por el equipo de DeepMention · · 16 min de lectura

Para ver qué bots de IA visitan tu web, abre el registro de accesos de tu servidor (el access log) y filtra por los nombres que publican las propias empresas: GPTBot, OAI-SearchBot y ChatGPT-User en el caso de OpenAI; ClaudeBot, Claude-User y Claude-SearchBot en el de Anthropic; PerplexityBot y Perplexity-User en el de Perplexity, además de Googlebot y Applebot. Filtrar el log por esos nombres te dice qué páginas leen, cada cuánto y si reciben errores. Después verifica la IP, porque cualquiera puede escribir «GPTBot» en una petición.

Qué es un log de servidor y qué te dice sobre la IA

Un log de acceso es un archivo de texto en el que el servidor web anota cada petición que recibe: la IP de origen, la fecha y hora, la URL pedida, el código de respuesta, la página de procedencia (referer) y el user-agent, que es la cadena de texto con la que el cliente se identifica.

Las herramientas de analítica basadas en una etiqueta JavaScript, como GA4, solo registran lo que ejecuta esa etiqueta; el log anota todas las peticiones que llegan al servidor. Por eso es el sitio donde buscar a los bots.

Con los logs puedes responder a tres preguntas concretas:

  1. ¿Pueden entrar los bots de IA? Si reciben códigos 200, sí; si reciben 403, 404 o 5xx, algo los bloquea o les falla.
  2. ¿Qué páginas leen y cuáles ignoran? Si tus páginas de producto o tus comparativas no reciben nunca la visita de estos bots, es lo primero que conviene investigar.
  3. ¿Se consultan tus páginas para responder a usuarios? Los agentes que actúan por petición de un usuario (ChatGPT-User, Perplexity-User, Claude-User) dejan rastro cuando un asistente abre tu página para contestar algo.

Lo que no te dicen es si una IA te menciona o te recomienda: eso se mide en las respuestas (lo vemos al final).

Qué bots de IA aparecen en los logs y para qué sirve cada uno

Las propias empresas distinguen tres usos para sus bots: reunir datos para entrenar modelos, alimentar su buscador y abrir páginas cuando un usuario lo pide (así lo resume Anthropic en su página de ayuda). La distinción importa porque cada uso se controla por separado y significa algo distinto cuando aparece en tus logs.

Empresa Bot Para qué sirve, según su documentación ¿Sigue robots.txt?
OpenAI GPTBot Rastrea contenido que puede usarse para entrenar sus modelos Sí; bloquearlo indica que no quieres que se use para entrenar
OpenAI OAI-SearchBot Muestra webs en los resultados de búsqueda de ChatGPT Sí; los cambios pueden tardar unas 24 horas
OpenAI ChatGPT-User Visita páginas por acciones de usuarios en ChatGPT y en GPT personalizados Puede no aplicarse, al ser acciones del usuario
OpenAI OAI-AdsBot Revisa las páginas de destino de anuncios enviados a ChatGPT OpenAI no lo indica; solo visita páginas enviadas como anuncio
Anthropic ClaudeBot Recoge contenido que puede usarse para entrenar modelos Sí; admite también Crawl-delay
Anthropic Claude-User Accede a webs cuando un usuario pregunta algo a Claude Sí, según Anthropic
Anthropic Claude-SearchBot Analiza contenido para mejorar los resultados de búsqueda Sí, según Anthropic
Perplexity PerplexityBot Muestra y enlaza webs en los resultados de Perplexity; no rastrea para modelos fundacionales Sí; los cambios pueden tardar hasta 24 horas
Perplexity Perplexity-User Visita una página para responder a la pregunta de un usuario En general no
Google Googlebot Rastreo para Google Search y sus funciones, incluidas AI Overviews y AI Mode Sí
Google Google-Agent Agentes en la infraestructura de Google que navegan y actúan a petición del usuario En general no
Apple Applebot Búsqueda en Spotlight, Siri y Safari; lo que recoge también puede entrenar modelos de Apple Sí

Tres notas para leer la tabla:

  • Google y la IA. Para que una página salga como enlace en AI Overviews o AI Mode, Google exige que esté indexada y pueda mostrarse en la Búsqueda con fragmento; no hay requisitos técnicos adicionales. El control de acceso, según Google, son las reglas de robots.txt para Googlebot (Google Search Central).
  • Anthropic no publica en su artículo de ayuda la cadena de user-agent completa de sus tres bots, solo sus nombres. Por eso conviene buscarlos por el nombre y verificar la IP con la lista que publica (Anthropic).
  • La lista no es exhaustiva. Hay más agentes (por ejemplo, el antiguo Google-NotebookLM, sustituido por Google-GeminiNotebook, que pide URL que los usuarios añaden como fuente). Revisa la documentación de cada empresa de vez en cuando.

Si quieres decidir a cuáles dejas pasar, lo explicamos en la guía de robots.txt para bots de IA.

Las cadenas de user-agent oficiales

Estas son las cadenas tal como aparecen en la documentación oficial, consultada en octubre de 2026. Los números de versión cambian, así que filtra por el nombre, no por la cadena entera.

# OpenAI (developers.openai.com/api/docs/bots)
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36; compatible; OAI-SearchBot/1.4; +https://openai.com/searchbot
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; OAI-AdsBot/1.0; +https://openai.com/adsbot

# Perplexity (docs.perplexity.ai/docs/resources/perplexity-crawlers)
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Perplexity-User/1.0; +https://perplexity.ai/perplexity-user)

# Google (W.X.Y.Z es la versión de Chrome, que cambia)
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; +http://www.google.com/bot.html) Chrome/W.X.Y.Z Safari/537.36

# Apple (ejemplo de escritorio)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Safari/605.1.15 (Applebot/0.1; +http://www.apple.com/go/applebot)

OpenAI añade que, cuando descarga tu robots.txt, puede usar una variante con la marca robots.txt dentro de la cadena. Su propio ejemplo es ... compatible; OAI-SearchBot/1.4; robots.txt; +https://openai.com/searchbot. Tenlo en cuenta al contar visitas.

Lo que nunca verás en los logs: Google-Extended y Applebot-Extended

Google-Extended y Applebot-Extended no aparecen en los logs porque no son rastreadores, sino marcas de control que solo se usan en robots.txt. Si los buscas con grep y no salen, no significa que no funcionen.

  • Google-Extended no tiene user-agent HTTP propio: Google rastrea con sus agentes de siempre y usa ese nombre solo para leer tus preferencias. Controla si el contenido puede usarse para entrenar futuras versiones de Gemini y para el grounding (aportar contenido del índice al modelo en el momento de responder) en las apps de Gemini y en Vertex AI. Google aclara que no afecta a la inclusión en la Búsqueda ni es una señal de ranking (Google).
  • Applebot-Extended no rastrea páginas. Apple lo usa para decidir cómo emplear lo que recogió Applebot, por ejemplo para entrenar sus modelos fundacionales. Una web que lo bloquea puede seguir apareciendo en resultados de búsqueda (Apple).

Dónde están tus logs

Tus logs están donde lo indique la configuración del servidor web; no hay una ruta universal.

  • Apache: busca la directiva CustomLog en la configuración. La documentación oficial usa como ejemplo CustomLog "log/access_log" combined (Apache).
  • Nginx: busca la directiva access_log. El valor por defecto documentado es logs/access.log con el formato combined (Nginx).
  • Hosting gestionado o plataformas sin servidor propio: el panel del proveedor suele tener una sección de registros o una exportación a otro servicio. Revisa cuánto tiempo los conserva.
  • CDN (red de distribución de contenidos) delante de tu web: si la CDN sirve una página desde su caché, esa petición no llega a tu servidor y no quedará en su log. En ese caso, los registros que necesitas son los de la CDN.

Los logs antiguos suelen rotarse y comprimirse (archivos .gz). Para leerlos sin descomprimirlos en disco, usa gzip -dc y pasa la salida a los mismos comandos (lo verás en el comando 7).

Cómo leer una línea de log

El formato más común es el combined de Apache y Nginx: IP, identidad, usuario, fecha, petición, código, bytes, referer y user-agent, en ese orden. Esta es una línea de ejemplo con una visita de OAI-SearchBot (la IP 192.0.2.10 es una dirección reservada para documentación, no una IP real de OpenAI):

192.0.2.10 - - [12/Oct/2026:08:14:02 +0200] "GET /precios HTTP/1.1" 200 18342 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36; compatible; OAI-SearchBot/1.4; +https://openai.com/searchbot"
Campo Valor en el ejemplo Qué te dice
IP 192.0.2.10 Quién hace la petición; sirve para verificar el bot
Fecha 12/Oct/2026:08:14:02 +0200 Cuándo
Petición GET /precios HTTP/1.1 Qué URL ha pedido
Código 200 Si la recibió bien (200), no existe (404), está prohibida (403) o falló (5xx)
Bytes 18342 Tamaño de la respuesta; un 200 con muy pocos bytes puede ser una página vacía
Referer - Página de procedencia; aquí va vacía («-»)
User-agent ...OAI-SearchBot/1.4... Quién dice ser

Comandos para filtrar los bots de IA en tus logs

Estos comandos usan herramientas estándar (awk, grep, sort) presentes en Linux, macOS y en Windows con Git Bash o WSL. Los hemos probado con GNU awk sobre un log en formato combined; cambia access.log por la ruta de tu archivo.

Primero, guarda la lista de bots en una variable para no repetirla:

BOTS='GPTBot|OAI-SearchBot|ChatGPT-User|OAI-AdsBot|ClaudeBot|Claude-User|Claude-SearchBot|PerplexityBot|Perplexity-User|Googlebot|Google-Agent|Applebot'

Un grep simple sobre la línea entera también encuentra URL que contengan esas palabras (por ejemplo, un artículo de tu blog sobre GPTBot). Por eso los comandos siguientes usan awk y separan la línea por comillas: así solo miran el campo 6, que es el user-agent.

  1. Ver todas las peticiones de bots de IA:

    awk -F'"' -v bots="$BOTS" '$6 ~ bots' access.log
    
  2. Contar peticiones por bot:

    awk -F'"' '{print $6}' access.log | grep -o -E "$BOTS" | sort | uniq -c | sort -rn
    
  3. Ver las URL que más pide un bot concreto:

    awk -F'"' '$6 ~ /OAI-SearchBot/ {split($2, r, " "); print r[2]}' access.log | sort | uniq -c | sort -rn | head -20
    
  4. Encontrar errores (4xx y 5xx) servidos a bots de IA:

    awk -F'"' '$6 ~ /GPTBot|OAI-SearchBot|ChatGPT-User|ClaudeBot|Claude-User|Claude-SearchBot|PerplexityBot|Perplexity-User/ {split($3, a, " "); if (a[1] >= 400) print a[1], $2}' access.log
    

    Al separar por comillas, el campo 2 es la petición y el 3 empieza por el código de respuesta.

  5. Contar por día las visitas de agentes que actúan por un usuario:

    awk -F'"' '$6 ~ /ChatGPT-User|Perplexity-User|Claude-User/ {print $1}' access.log | awk '{print substr($4, 2, 11)}' | sort | uniq -c
    
  6. Sacar las IP que dicen ser un bot (para verificarlas después):

    awk -F'"' '$6 ~ /GPTBot/ {split($1, c, " "); print c[1]}' access.log | sort | uniq -c | sort -rn
    
  7. Contar peticiones de bots en logs comprimidos antiguos:

    gzip -dc access.log.*.gz | awk -F'"' -v bots="$BOTS" '$6 ~ bots' | wc -l
    
  8. Ver visitas de personas que llegan desde un asistente (por el referer, no por el user-agent):

    awk -F'"' '$4 ~ /chatgpt\.com|perplexity\.ai|gemini\.google\.com/ {print $4, $2}' access.log
    

    Esto no muestra bots, sino navegadores que vienen de esas webs cuando el asistente envía el referer. Para medir ese tráfico con más detalle, sigue la guía para medir el tráfico de ChatGPT en GA4.

Cómo verificar que el bot es auténtico

Verificar un bot significa comprobar que la IP de la petición pertenece a la empresa que dice ser, porque el user-agent lo puede escribir cualquiera. Google lo advierte de forma explícita en su documentación: las cadenas de user-agent se pueden falsificar. Hay dos métodos.

Método 1: comparar la IP con los rangos publicados

Todas las empresas de esta guía publican un archivo JSON con sus rangos de IP:

Empresa Archivos de rangos de IP
OpenAI openai.com/gptbot.json, openai.com/searchbot.json, openai.com/chatgpt-user.json, openai.com/adsbot.json
Anthropic claude.com/crawling/bots.json (los tres bots)
Perplexity www.perplexity.com/perplexitybot.json, www.perplexity.com/perplexity-user.json
Google common-crawlers.json, user-triggered-fetchers.json, user-triggered-fetchers-google.json y user-triggered-agents.json, en developers.google.com/static/crawling/ipranges/
Apple search.developer.apple.com/applebot.json

Todos comparten la misma estructura: una lista prefixes con objetos ipv4Prefix o ipv6Prefix. Este pequeño script de Python comprueba una o varias IP contra cualquiera de esos archivos:

import ipaddress, json, sys
# Uso: python verificar_ip.py rangos.json IP [IP ...]
with open(sys.argv[1]) as f:
    redes = [ipaddress.ip_network(p.get("ipv4Prefix") or p.get("ipv6Prefix"))
             for p in json.load(f)["prefixes"]]
for ip in sys.argv[2:]:
    dentro = any(ipaddress.ip_address(ip) in red for red in redes)
    print(ip, "OK, dentro de los rangos publicados" if dentro else "NO aparece en los rangos publicados")

Descarga el JSON del bot (por ejemplo, curl -s https://openai.com/gptbot.json -o gptbot.json) y pasa las IP que sacaste con el comando 6. Descarga los archivos cada vez que verifiques, porque los rangos cambian.

Método 2: DNS inverso (Google y Apple)

Google y Apple permiten además verificar por DNS (en sus páginas sobre bots, OpenAI, Anthropic y Perplexity solo ofrecen listas de IP). Los pasos son iguales para ambos; en Windows, usa nslookup en lugar de host:

  1. Haz una búsqueda inversa de la IP: host <IP>.
  2. Comprueba el dominio devuelto: para Google debe terminar en googlebot.com, google.com o googleusercontent.com; para Apple, en applebot.apple.com.
  3. Haz una búsqueda directa de ese nombre: host <nombre devuelto>.
  4. Confirma que devuelve la misma IP del log.

Un aviso de Anthropic: si quieres excluir sus bots, hazlo en robots.txt; bloquear sus IP puede no funcionar, porque les impide leer ese archivo.

Cómo interpretar lo que encuentras

Cada patrón en los logs apunta a una acción concreta:

Lo que ves Qué significa Qué hacer
Ni GPTBot ni OAI-SearchBot en semanas Puede que algo bloquee a OpenAI Revisa robots.txt y confirma que tu hosting o CDN deja pasar las IP publicadas de OAI-SearchBot, como recomienda OpenAI
GPTBot entra, OAI-SearchBot no Quizá bloqueaste solo OAI-SearchBot; si permites ambos, OpenAI puede usar un solo rastreo para los dos usos Revisa robots.txt: entrenamiento y búsqueda se deciden por separado
Muchos 403 a bots de IA Un cortafuegos, una regla antibots o el propio servidor los rechaza Revisa las reglas de la CDN y del WAF (cortafuegos de aplicaciones web)
404 en URL que piden los bots Enlaces rotos o URL antiguas Redirige con 301 o corrige enlaces internos
5xx en horas de rastreo Puede que el servidor falle bajo carga Revisa capacidad o limita el ritmo, sin bloquear
Visitas de ChatGPT-User o Perplexity-User a una página Un asistente la abrió para responder a un usuario Revisa que esa página responda bien a la pregunta probable
Páginas importantes que ningún bot pide Quizá están poco enlazadas o fuera del sitemap Enlázalas desde páginas que sí se rastrean e inclúyelas en el sitemap
IP que no está en los rangos publicados Probablemente un impostor Descarga de nuevo los rangos; si sigue fuera, puedes bloquearla

Una visita de ChatGPT-User no es el clic de una persona: para contar personas, mira la analítica, no el log de bots.

Plantilla de seguimiento mensual

Para que el análisis sea útil, repítelo cada mes con las mismas columnas y compara. Esta plantilla cabe en una hoja de cálculo:

Bot Peticiones % 200 % 4xx % 5xx IP no verificadas Cambio vs. mes anterior
OAI-SearchBot
GPTBot
ChatGPT-User
ClaudeBot
Claude-SearchBot
Claude-User
PerplexityBot
Perplexity-User
Googlebot
Applebot

Añade una nota con los cambios que hiciste ese mes (robots.txt, reglas de la CDN, páginas nuevas). Sin ese contexto, una subida o bajada no se puede explicar.

Lo que los logs no te dicen

Los logs demuestran que un bot leyó una página, no que una IA te mencione. Que OAI-SearchBot lea una página a menudo no garantiza que ChatGPT la cite, y al revés: los asistentes también responden con lo que dicen otras webs sobre ti, sin pasar por tu servidor.

Para medir la visibilidad tienes que revisar las respuestas. Puedes hacerlo a mano siguiendo la guía para saber si tu marca aparece en ChatGPT, o con una herramienta. DeepMention es la nuestra: lanza cada día tus prompts (las preguntas que eliges monitorizar) en ChatGPT, Gemini y Google AI Mode desde el país del cliente, y muestra si apareces, frente a qué competidores y qué fuentes citan. Analiza respuestas, no logs: los dos análisis se complementan. Si quieres ver qué responden las IA sobre tu marca, puedes probarla gratis 7 días.

Si tu interés está en Perplexity o Claude, que DeepMention no monitoriza, tienes guías específicas para aparecer en Perplexity y para aparecer en Claude y Copilot.

Fuentes

Preguntas frecuentes

¿Cómo sé si GPTBot ha visitado mi web?

Busca el texto GPTBot en el registro de accesos (access log) de tu servidor o de tu CDN. Cada línea que lo lleve en el user-agent es una petición que se presenta como el rastreador de OpenAI. Para confirmar que es auténtica, comprueba que la IP de esa línea está dentro de los rangos que OpenAI publica en openai.com/gptbot.json.

¿Qué diferencia hay entre GPTBot, OAI-SearchBot y ChatGPT-User?

GPTBot recoge contenido que puede usarse para entrenar los modelos de OpenAI. OAI-SearchBot sirve para que tus páginas aparezcan en las funciones de búsqueda de ChatGPT. ChatGPT-User es el agente que visita una página cuando un usuario de ChatGPT hace algo que lo requiere; no es un rastreo automático. GPTBot y OAI-SearchBot se controlan por separado en robots.txt; para ChatGPT-User, OpenAI advierte que esas reglas pueden no aplicarse.

¿Por qué no veo Google-Extended ni Applebot-Extended en mis logs?

Porque no son rastreadores. Google-Extended es solo una marca de control para robots.txt y no tiene user-agent HTTP propio: Google rastrea con sus agentes habituales. Applebot-Extended tampoco rastrea; solo indica a Apple cómo puede usar lo que ya recogió Applebot.

¿Una visita de ChatGPT-User o Perplexity-User cuenta como visita de una persona?

No. Es una petición automática que hace el asistente para responder a un usuario. Indica que tu página se ha consultado para contestar una pregunta, pero no que alguien haya hecho clic. Los clics reales se miden en tu herramienta de analítica, por ejemplo en GA4.

¿Los logs me dicen si ChatGPT recomienda mi marca?

No. Los logs muestran qué páginas leen los bots, no qué responden después los asistentes. Para saber si te mencionan, en qué preguntas y frente a qué competidores, tienes que revisar las respuestas de cada IA de forma repetida, a mano o con una herramienta de monitorización.