Me molestan los bots de las IA, así que los he bloqueado

Publicado el 18 de junio de 2024

En los últimos tiempos vengo encontrando muchos sitios web y servidores donde la transferencia mensual de datos o el consumo de CPU se disparaba mucho en algunos días. Al comienzo era poca diferencia, pero hace poco empezó a ocurrir de forma cada vez más frecuente y revisando logs detecté que los causantes eran bots de diferentes IAs “escaneando” dichos sitios. Por nombrar algunos ejemplos, los user-agent de ClaudeBot, GPTBot y Bytespider eran de los que siempre aparecían en los listados afectando al funcionamiento de esas webs. Encontré casos donde la transferencia pasaba de 3 gigas mensuales a 50 gigas en sólo dos semanas o, un CPU que nunca superaba un 10% de carga, de golpe, no bajaba del 90% afectando al funcionamiento. Y, siempre que eso ocurría, estaban estos user-agent presentes en los logs con miles apariciones.

Simultáneamente a esta situación, me encontré los artículos de Manuel Moreale y de Matthew Graybosch que dan cuenta de situaciones similares y mencionan como lo están trabajando ellos. Así que aproveché sus ideas para tomar una acción parecida. Compilé un robots.txt para disuadir esas búsquedas y una re-dirección para impedirles el acceso a los bots. Se que con la re-dirección, el otro archivo sería innecesario pero por las dudas preferí mantenerlo. Lo vengo implementando hace una semana en algunos sitios y noto la diferencia.

Así que les comparto lo que aprendí: “Si de golpe notan que su sitio consume más sin motivo aparente podría ser una IA”.

A quien le interese, la re-dirección para un .htaccess sería:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} (Amazonbot|anthropic-ai|Applebot|Applebot-Extended|AwarioRssBot|AwarioSmartBot|Bytespider|CCBot|ChatGPT|ChatGPT-User|Claude-Web|ClaudeBot|cohere-ai|DataForSeoBot|Diffbot|FacebookBot|Google-Extended|GPTBot|ImagesiftBot|magpie-crawler|omgili|Omgilibot|PerplexityBot|YouBot)
RewriteRule ^.* - [F,L]

Pueden agregar o quitar user-agents según su deseo. Está basada en la que publicó M. Graybosch, solo que le acomodé el RewriteRule porque su versión generaba un error 500 en mis servidores.

y el robots.txt cuya lista obtuve desde Dark Visitors:

User-agent: GPTBot
Disallow: /
User-agent: ChatGPT-User
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: PerplexityBot
Disallow: /
User-agent: Amazonbot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: Omgilibot
Disallow: /
User-Agent: FacebookBot
Disallow: /
User-Agent: Applebot
Disallow: /
User-agent: anthropic-ai
Disallow: /
User-agent: Bytespider
Disallow: /
User-agent: Claude-Web
Disallow: /
User-agent: Diffbot
Disallow: /
User-agent: ImagesiftBot
Disallow: /
User-agent: Omgilibot
Disallow: /
User-agent: Omgili
Disallow: /
User-agent: YouBot
Disallow: /
User-agent: Applebot-Extended
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: ChatGPT-User
Disallow: /
User-agent: Claude-Web
Disallow: /
User-agent: cohere-ai
Disallow: /
User-agent: Diffbot
Disallow: /
User-agent: omgili
Disallow: /
User-agent: PerplexityBot
Disallow: /

Puedes escribirme en mastodon a @[email protected] o mandarme un correo si deseas comentarme algo