Los robots que se comen internet: lo que los rastreadores de IA hacen en nuestras webs
Por Kike Gandia · Investigación · 14 min de lectura
Durante años, la regla de oro para cualquier web fue cuidar a Googlebot: que entrara, que leyera y que te enviara visitas. Ese pacto tenía dos lados. El buscador se llevaba tu contenido y a cambio te devolvía tráfico. Los rastreadores que alimentan los modelos de lenguaje han roto ese equilibrio. Se llevan el texto para entrenar o para responder dentro de un chat, y la visita no vuelve.
Queríamos saber cuánto pesa eso de verdad, no en una encuesta ni en una estimación del sector, sino en nuestros propios servidores. Este artículo es el resultado. Todas las cifras salen de consultas reales con su fecha y su fuente. Cuando algo no se ha podido medir, lo decimos y no rellenamos el hueco. Y no publicamos la IP de nadie: como mucho, la empresa y el rango de red del que sale cada rastreador.
- 92,3 %
- de todas las peticiones las hicieron cuatro rastreadores de IA (access.log, 5-nov, 17:00 a 23:50 UTC)
- 26
- peticiones de Googlebot en el mismo periodo (frente a 95.722 de GPTBot)
- 1.264.477
- peticiones registradas en el laberinto en tres días (del 2 al 5 de noviembre)
- 10,9 GB
- de páginas inventadas servidas a esos visitantes (en esos mismos tres días)
Dónde y cómo lo hemos medido
La web que estás leyendo está alojada aparte y no entra en esta medición.
Usamos dos fuentes independientes. La primera es el registro de acceso de nginx, el proxy por el que pasa todo el tráfico. Ese fichero rota y, cuando lo consultamos, cubría del 5 de noviembre a las 17:00:52 hasta las 23:50:00 UTC: 6 horas y 49 minutos, con 207.027 peticiones. La segunda es el índice donde guardamos cada visita a nuestro laberinto. En el clúster actual ese índice empieza el 2 de noviembre a las 23:14 UTC, y lo consultamos hasta el 5 de noviembre a las 23:01. Son unas 72 horas, con 1.264.477 eventos.
Qué es «el laberinto». Es un sitio ficticio que solo ven los rastreadores que hemos decidido no dejar pasar. Simula una web de análisis de fondos de inversión: miles de fichas, gestores, comparativas y sitemaps, todo inventado y determinista. La misma URL devuelve siempre la misma página, los enlaces cierran en los dos sentidos y el texto cita las cifras de la tabla de al lado. Generar una página nos cuesta unos 0,6 milisegundos. Para ellos, cada página son siete enlaces más en la cola.
Hay una limitación que conviene tener presente. La identidad de cada rastreador sale de su cabecera User-Agent, que es lo que cada uno dice ser. Esa declaración se falsifica en un segundo, así que la contrastamos con el rango de red de origen. Los tres grandes coinciden prácticamente al cien por cien con un único bloque de direcciones cada uno, y lo detallamos más abajo.
Quiénes son: cuatro empresas, el 92 % del tráfico
En las casi siete horas del registro de nginx, el reparto fue este. Agrupamos por familia de User-Agent y ordenamos por número de peticiones.
- OpenAI · GPTBot — 95.722peticiones (46,2 % del total · pico de 14.073 en una hora)
- Meta · meta-externalagent — 48.982peticiones (23,7 % · pico de 7.200 en una hora)
- Anthropic · ClaudeBot — 45.920peticiones (22,2 % · pico de 6.888 en una hora)
- Navegadores y resto — 14.523peticiones (7,0 % · incluye personas y bots que se hacen pasar por navegador)
- Escáneres conocidos — 1015peticiones (0,5 %)
- ByteDance · Bytespider — 499peticiones (0,2 %)
- Google · Googlebot — 26peticiones (20 de ellas recibieron un cierre de conexión (444) en dominios internos)
Peticiones por familia de rastreador. access.log de nginx, 5 de noviembre de 2026, de 17:00 a 23:50 UTC (207.027 peticiones).
GPTBot, Meta, ClaudeBot y Bytespider suman 191.123 peticiones: el 92,3 % de todo lo que llegó a esos servidores. Lo que hacen las personas de verdad, junto con todo lo que no se identifica, cabe en el 7 % restante. Googlebot, el rastreador que durante veinte años ha marcado las reglas de la web, aparece 26 veces.
- OpenAI (GPTBot): 46.2 %
- Meta: 23.7 %
- Anthropic (ClaudeBot): 22.2 %
- Resto: 7.9 %
El «resto» agrupa navegadores, escáneres, librerías, Bytespider, buscadores y vistas previas.
Quién es quién, comprobado por rango de red
Que un visitante diga «soy GPTBot» no demuestra nada. Por eso, en el índice del laberinto, cruzamos cada User-Agent con el bloque /16 de las direcciones de origen. El resultado es muy limpio para los tres grandes, y algo más disperso para ByteDance:
| Rastreador | Peticiones (3 días) | Direcciones distintas | Rango de origen | Coincidencia |
|---|---|---|---|---|
| OpenAI · GPTBot | 694.260 | 351 | 74.7.0.0/16 | 99,9 % |
| Meta · meta-externalagent | 287.034 | 75 | 57.141.0.0/16 | 100 % |
| Anthropic · ClaudeBot | 266.023 | 14 | 216.73.0.0/16 | 100 % |
| ByteDance · Bytespider | 2.922 | 104 | 47.128.0.0/16 | 98,8 % |
Hay un detalle curioso en esa tabla. ClaudeBot hace casi tantas peticiones como Meta con solo 14 direcciones, mientras que Bytespider reparte menos de tres mil entre 104. Cada empresa tiene su propia arquitectura de rastreo, y eso también es una huella.
Los que pasan casi desapercibidos
Por debajo de los grandes hay una larga cola de agentes de IA que hacen muy pocas peticiones. Muchos no rastrean para entrenar: buscan en el momento porque un usuario les ha hecho una pregunta. En los tres días del laberinto aparecen, entre otros, PerplexityBot (43 peticiones), CCBot de Common Crawl (42), YouBot (41), ChatGPT-User (38), OAI-SearchBot (39 con una de sus variantes), Claude-User (35), DuckAssistBot (34), Amazonbot (31) y DeepSeekBot (29). No los sumamos a los grandes porque su comportamiento es otro: llegan, leen una página y se van.
Cuánto: un ritmo de fábrica, día y noche
El registro de nginx dio unas 30.000 peticiones por hora, muy estables: entre 29.056 y 32.943 en cada hora completa de la ventana. No es un pico puntual, es la velocidad de crucero.
En el laberinto, con tres días de datos, se ve mejor el ritmo de cada uno. La tabla da la media por hora y la peor hora observada:
| GPTBot · media peor hora: 17.833 | 9584peticiones/hora |
| Meta · media peor hora: 7.251 | 3964peticiones/hora |
| ClaudeBot · media peor hora: 6.957 | 3673peticiones/hora |
| Bytespider · media peor hora: 119 | 42peticiones/hora |
Peticiones por hora dentro del laberinto, del 2 al 5 de noviembre de 2026. La media excluye la primera y la última hora, que están incompletas.
| Día (UTC) | GPTBot | Meta | ClaudeBot | Bytespider |
|---|---|---|---|---|
| 3 de noviembre | 273.706 | 113.405 | 108.087 | 1.120 |
| 4 de noviembre | 215.410 | 84.111 | 74.550 | 881 |
| 5 de noviembre | 191.602 | 84.035 | 78.239 | 921 |
Dejamos fuera el día 2, porque el índice empieza a las 23:14 y solo tiene 46 minutos de ese día. En los tres días completos, GPTBot hizo más peticiones que Meta y ClaudeBot juntos. Para tener una referencia: en septiembre, el pico de Meta era de 2.279 peticiones por hora. Ahora su peor hora llega a 7.251.
Lo que esto cuesta a una web normal. Para nosotros apenas cuesta nada, porque el laberinto genera cada página en menos de un milisegundo y nginx limita la velocidad de entrega. Una web dinámica normal, con su base de datos detrás, tendría que generar cada una de esas 30.000 páginas por hora de verdad. Si notas que tu servidor va más lento sin que te hayan llegado más clientes, empieza por aquí.
Qué piden: fichas, gestores y, sobre todo, sitemaps
Cada rastreador tiene su manera de comer. Clasificamos las rutas que pidieron dentro del laberinto:
| Rastreador | Fichas de fondos | Gestores | Sitemaps | Volumen descargado |
|---|---|---|---|---|
| GPTBot | 660.299 (95,1 %) | 31.442 | — | 3,25 GB |
| Meta | 170.646 (59,5 %) | 11.474 | 100.965 (35,2 %) | 6,38 GB |
| ClaudeBot | 233.186 (87,7 %) | 14.787 | — | 1,2 GB |
| Bytespider | 2.142 (73,3 %) | 449 | — | 0,01 GB |
El caso de Meta es el más llamativo. Más de un tercio de sus peticiones son índices de sitemap, que pesan unos 46 KB cada uno y anuncian 400 direcciones nuevas. Por eso Meta, con menos de la mitad de peticiones que GPTBot, se descarga casi el doble de datos: 6,38 GB en tres días. El árbol completo de sitemaps del laberinto anuncia 2,56 × 10¹⁰ direcciones. No tiene fondo, y Meta sigue bajando por él.
Otra pregunta interesante es hasta dónde llegan. La mediana de profundidad de las páginas pedidas es 3 y el percentil 99 es 7. La página más profunda que llegó a pedir alguien estaba a 9 niveles, y la pidió GPTBot. Los rastreadores no caen por el pozo sin fin: parecen tener un límite de profundidad. Lo que sí hacen es ensanchar la búsqueda. Para eso sirven los sitemaps.
Lo que no hacen los rastreadores de IA: buscar puertas
En el laberinto también hay señuelos: rutas como /.env, /.git/config o /wp-admin, que solo pide quien está buscando una puerta trasera. Quien las pide encuentra lo que buscaba, unas credenciales de mentira que apuntan a dominios que no existen. En tres días hubo 2.728 peticiones a señuelos:
| Ficheros de entorno (/.env y variantes) 129 direcciones distintas | 2285peticiones |
| Repositorios git expuestos 89 direcciones distintas | 231peticiones |
| Paneles de administración 95 direcciones distintas | 212peticiones |
Peticiones a señuelos del laberinto, del 2 al 5 de noviembre de 2026.
Lo importante es quién las hace. De las 2.285 peticiones a ficheros de entorno, la puerta solo clasificó como IA 167, y de las 231 a repositorios git, 2. El resto procede de escáneres y de visitantes que se presentan como un navegador. Los rastreadores de IA no buscan contraseñas. Lo que quieren es texto, y mucho.
El laberinto también detecta disfraces. 4.105 peticiones decían venir de un navegador, pero no enviaban las cabeceras que un navegador moderno manda siempre (Sec-Fetch y Sec-CH-UA). 3.025 de ellas procedían de direcciones que la puerta ya había marcado antes por su comportamiento.
¿Se saltan el robots.txt? Lo que dice la trampa, y por qué calla
Esta era la pregunta estrella, y la respuesta honesta tiene dos partes.
La prueba de septiembre
El 7 de septiembre de 2026 medimos diez horas del registro de nginx, con 32.383 peticiones. En aquel momento, el robots.txt de uno de nuestros sitios decía «User-Agent: * / Disallow: /». Es decir, nadie podía rastrear nada. El resultado:
- 14.776
- peticiones de meta-externalagent (45,6 % de todo el tráfico, 14.628 respondidas con un 200)
- 0
- peticiones de Googlebot (obedecía el Disallow)
El robots.txt solo frenaba a quien iba a portarse bien.— Notas del diseño del laberinto, septiembre de 2026
El fichero apagaba el posicionamiento en buscadores que sí queríamos y no rozaba al rastreador que no queríamos. Esa medición es la razón de todo lo que viene después: cambiamos el corte del robots.txt, que es un fichero de cortesía, al transporte, que es donde de verdad se decide.
La trampa: cero, y por qué no puede ser otra cosa
Después montamos un detector que no depende de la IP ni del User-Agent: la ruta /trampa/. Está prohibida en el robots.txt real del sitio y enlazada solo de forma oculta en su pie de página. Quien respeta el robots.txt no la pide nunca, así que pedirla es una prueba de haberlo ignorado, aunque el visitante cambie de IP y se disfrace de navegador. En el laberinto, cada visita así queda marcada como «robots_violado».
En los 1.264.477 eventos de los tres días, «robots_violado» aparece cero veces. En el registro de nginx, nadie pidió /trampa/ ni una sola vez. Sería tentador titular «los bots ya respetan el robots.txt», pero sería falso, y la explicación está en nuestro propio diseño.
- Comprobado el 6-nov Lo que recibe una persona
- El robots.txt del sitio dice «Disallow: /». El enlace a /trampa/ está en el pie del sitio de verdad.
- Comprobado el 6-nov Lo que recibe GPTBot
- El mismo fichero, pedido con su User-Agent, devuelve «Allow: /» y «Crawl-delay: 1». Es el robots.txt del laberinto, que es permisivo a propósito para que caven más.
- Diseño La consecuencia
- A un rastreador de IA nunca se le prohíbe nada, porque nunca ve el sitio real. La trampa solo puede saltar con quien recibe el sitio real: personas y buscadores, que no tienen motivo para pedirla.
Dicho de otro modo: desde que los mandamos al laberinto, ya no podemos medir si se saltan el robots.txt, porque les damos uno que lo permite todo. La prueba que tenemos es la de septiembre, con Meta ignorando un Disallow total durante diez horas. Para volver a medirlo habría que servir el robots.txt real a una muestra de rastreadores. Tampoco podemos afirmar si alguno hace caso del «Crawl-delay: 1» del laberinto: lo pide un segundo por cliente y no por empresa, y no hemos medido el ritmo de cada dirección.
Un dato más, que tampoco es concluyente: en las casi siete horas del registro de nginx, GPTBot y Meta no pidieron el robots.txt ni una vez, y ClaudeBot lo pidió 14. Es normal que un rastreador lo guarde en caché durante horas, así que esa cifra no demuestra que lo ignoren.
Qué se llevan: los canarios de contenido
El laberinto contiene 24 fondos con marcas inventadas y cifras concretas. Funcionan como las calles trampa que los cartógrafos ponían en sus mapas para descubrir copias. Si un modelo, preguntado solo por el nombre, responde con el gestor y la rentabilidad exactos que nos inventamos, es que se entrenó con nuestras páginas. Esto no sirve para robarles información, porque el tráfico va en un solo sentido. Lo que da es atribución: la posibilidad de demostrar qué se llevaron.
Para que sea una medición y no una impresión, cada ronda pregunta también por seis marcas de control. Tienen la misma forma pero nunca se han publicado. Si un modelo «reconoce» un control, no está recordando, se lo está inventando, y la ronda no vale.
Lo que no hemos podido medir. Solo se ha hecho una ronda de interrogatorio, el 1 de octubre de 2026, contra dos modelos comerciales. Los dos dieron «sin respuesta» en las 30 preguntas: 24 canarios y 6 controles. Es decir, no se llegó a preguntar nada. El registro marca esa ronda como válida, pero nosotros no la contamos como medición, y hemos abierto la revisión de ese criterio. Hoy no sabemos si algún modelo se ha entrenado con el laberinto. Cuando lo sepamos, lo publicaremos, salga lo que salga. Y aunque salga «sin rastro», eso no los exonera: puede que no nos rastrearan, o que lo hicieran después de la fecha de corte de su entrenamiento.
Septiembre frente a noviembre
La comparación entre las dos mediciones es tentadora, pero hay que hacerla con cuidado. No son la misma ventana (diez horas frente a siete) y en noviembre hay más dominios detrás del proxy. Lo que sí se puede decir:
| 7 de septiembre de 2026 | 5 de noviembre de 2026 | |
|---|---|---|
| Peticiones en la ventana | 32.383 en 10 h | 207.027 en 6 h 49 min |
| Primer rastreador | Meta, 45,6 % | OpenAI GPTBot, 46,2 % |
| Meta | 14.776 (45,6 %) | 48.982 (23,7 %) |
| Googlebot | 0 en el sitio medido | 26 en total |
| Peor hora de Meta | 2.279 | 7.200 (nginx) / 7.251 (laberinto) |
Meta no ha bajado: ha triplicado su peor hora. Lo que ha pasado es que OpenAI y Anthropic han llegado con una fuerza parecida o mayor. En noviembre, tres empresas se reparten nueve de cada diez peticiones de nuestros servidores.
Cómo saber qué bots visitan tu web
No hace falta un laberinto para empezar. Basta con el registro de acceso de tu servidor web. Si usas nginx o Apache con el formato de log combinado, el User-Agent es el último campo entre comillas. Esta línea agrupa las peticiones por familia de rastreador:
# Peticiones por rastreador conocido en el access.log (formato combinado)
awk -F'"' '{print $6}' /var/log/nginx/access.log \
| grep -oiE 'GPTBot|ClaudeBot|meta-externalagent|Bytespider|CCBot|PerplexityBot|Amazonbot|Googlebot|bingbot' \
| sort | uniq -c | sort -rnY esta otra te dice cuántas peticiones hace cada uno por hora, para ver si el patrón es el mismo que el nuestro:
# Peticiones de GPTBot por hora
grep 'GPTBot' /var/log/nginx/access.log \
| awk '{print substr($4, 2, 14)}' | sort | uniq -c- Paso 1 — Mide antes de bloquear
Una semana de log te dice quién viene, cuánto y a qué páginas. Sin esa base no sabrás si el bloqueo ha funcionado ni qué rompe. - Paso 2 — No te fíes del User-Agent
Cualquiera puede decir que es Googlebot. Contrasta el rango de origen: algunos operadores, como Google y OpenAI, publican sus direcciones, y para el resto puedes consultar el AS de origen con whois. Un «Googlebot» que no sale de Google es un impostor. - Paso 3 — Decide qué quieres de cada uno
No es lo mismo un buscador que te trae visitas, una vista previa de WhatsApp que muestra tu enlace o un rastreador que entrena un modelo. La política correcta casi nunca es «todo o nada». - Paso 4 — Corta en el transporte, no en un fichero
El robots.txt es una petición de cortesía. Para frenar de verdad, la decisión se toma en el proxy o en el CDN, cruzando lo que dicen ser con de dónde vienen.
Cómo frenarlos: lo que hace y lo que no hace cada herramienta
El robots.txt: útil, pero solo para los educados
El robots.txt no impide nada. Es un aviso que un rastreador puede leer y obedecer, o no. Sirve para decirles a los que cumplen qué no quieres que rastreen, y muchos operadores de IA documentan su nombre para que puedas excluirlos. Ponerlo no hace daño y deja constancia de tu voluntad:
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: meta-externalagent
Disallow: /
User-agent: Bytespider
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: *
Allow: /Lo que no hace, y lo midió septiembre: no frena a quien decide no leerlo. Y un «Disallow: /» general, como el que teníamos, castiga sobre todo a los buscadores que sí obedecen, que son precisamente los que te traen visitas.
User-agent frente a rango de red
Filtrar por User-Agent es sencillo y frena a los rastreadores que se identifican honestamente, que son la mayoría del volumen. Filtrar por rango de red es más robusto, porque la dirección de origen no se cambia escribiendo una cabecera. Lo que funciona es combinar las dos cosas: clasificar por lo que dicen ser, confirmar por de dónde vienen y tratar como impostor al que no cuadra. En nginx, un esquema mínimo con map y geo sería así:
# Lo que dice ser
map $http_user_agent $ua_ia {
default 0;
~*GPTBot 1;
~*ClaudeBot 1;
~*meta-externalagent 1;
~*Bytespider 1;
~*CCBot 1;
}
# De dónde viene (rangos observados en vuestros propios logs)
geo $red_ia {
default 0;
57.141.0.0/16 1; # ejemplo: el bloque desde el que nos llegaba Meta
}
# Dentro del server {}: rechaza si lo dice o si sale de ese rango
if ($ua_ia) { return 403; }
if ($red_ia) { return 403; }Hay una precaución que no es negociable: no bloquees por rango sin mirar antes quién más sale de él. Un /16 son 65.536 direcciones, y un rango de un proveedor de nube puede incluir a clientes legítimos. Nosotros lo aprendimos al revés: en septiembre, la dirección con más errores de toda la plataforma era el portátil de una persona del equipo con la sesión caducada. Un bloqueo automático se habría llevado por delante a uno de los nuestros.
El 444, el 403 o el laberinto
- Recomendado para la mayoría 403 o 444 (cerrar sin responder)
- Barato y efectivo con quien se identifica. El inconveniente es que avisa: quien recibe un corte sabe que hay algo que le bloquea y puede volver mañana con otra IP y otro nombre. Nosotros lo reservamos para dominios internos.
- Término medio Limitar la velocidad
- Con limit_req en nginx o una regla del CDN, el rastreador sigue entrando, pero sin tumbar el servidor. Útil cuando no quieres desaparecer de los asistentes de IA, pero tampoco pagar su factura.
- Solo si sabes lo que haces El laberinto
- No avisa: el rastreador cree que sigue en tu web. Le cuesta a él y no a ti, y te deja un registro de cómo trabaja. Pero exige diseño: tiene que ser determinista, no apuntar a nada real, no atacar a nadie y estar aislado de todo lo demás.
Lo que un laberinto nunca debe hacer. Nada de bombas de descompresión, redirecciones a terceros o cargas que se ejecuten en la máquina del otro. Nuestros señuelos apuntan solo a dominios que por norma no existen en Internet (.invalid y .local), y las credenciales de mentira codifican la clase de visitante y el día, nunca su IP. Pasar de defenderse a agredir te convierte en el problema de otra persona.
Lo que nos llevamos de todo esto
- En nuestros servidores, tres empresas de IA hacen nueve de cada diez peticiones, y el buscador de toda la vida apenas aparece.
- El ritmo es constante, del orden de 30.000 peticiones por hora, y con picos de casi 18.000 por hora solo de GPTBot.
- Los rastreadores de IA quieren texto en volumen, sobre todo a través de sitemaps. Los que buscan contraseñas son otros.
- Que se saltaban el robots.txt lo demostró la medición de septiembre. La trampa de hoy no puede volver a demostrarlo, porque a los que mandamos al laberinto les damos un robots.txt que lo permite todo.
- Saber si se han llevado nuestro contenido a sus modelos sigue pendiente: la única ronda de canarios no llegó a obtener respuestas.
- Para frenarlos, el robots.txt es necesario pero no suficiente. El corte de verdad está en el transporte y combina User-Agent y rango de red, siempre después de medir.
Si quieres que miremos quién se está llevando el contenido de tu web, cuánto te cuesta y qué conviene frenar sin perder visibilidad, en QuantumSec hacemos ese análisis con tus propios registros.
Fuentes y método
- Registro de acceso de nginx del proxy de QuantumSec: 207.027 peticiones del 5 de noviembre de 2026, de 17:00:52 a 23:50:00 UTC. Clasificación por familias de User-Agent con expresiones regulares.
- Índice de eventos del laberinto (vigilancia_trampa-2026-11): 1.264.477 eventos del 2 de noviembre a las 23:14 UTC al 5 de noviembre a las 23:01 UTC. Agregaciones por User-Agent, rango /16 de origen, ruta, señuelo y profundidad. No hay meses anteriores en el clúster actual.
- Robots.txt de uno de nuestros sitios pedido el 6 de noviembre de 2026 con el User-Agent de un navegador y con el de GPTBot.
- Veredictos de canarios de contenido: una ronda, el 1 de octubre de 2026, con dos modelos, 24 canarios y 6 controles.
- Medición del 7 de septiembre de 2026: 32.383 peticiones en 10 horas del mismo registro, documentada en el diseño del laberinto.
- No se publica ninguna dirección IP individual. Los rangos de red que aparecen corresponden a bloques de empresas.
Servicio relacionado
ciberinteligencia y vigilancia de vuestra exposición
Temas de este artículo
#rastreadores-de-IA #GPTBot #robots-txt #nginx #bots #contravigilancia #Meta #ClaudeBot
Seguir leyendo
- Congresos de hacking en España: a cuáles ir y cómo sacarles partido
- NIS2 en España, dos años sin ley: en qué punto está la transposición y qué hacer este trimestre
- Calendario de compliance europeo 2026-2030: CRA, AI Act, Data Act y todo lo que viene
- Cloudflare vs. LaLiga: El choque de titanes que amenaza la Internet en España
- Evolución del Offshore: Vacíos Legales, Filtraciones y el Auge del ‘Paraíso On-shore’ en EE.UU.