Scrapers IA, ¿bloquearles o confundirles?

Minientrada

Me apunto para revisar Dark Visitors, una página web que enumera agentes de usuario relacionados con scrapers y bots que se dedican a robar contenido de páginas web para alimentar inteligencias artificiales. En la lista completa se muestran agentes como Bytespider, el de TikTok, o GPTBot, el agente principal usado por OpenAI.

A través de Hacker News también leo a Cory proponiendo bloquear este tipo de bots metiéndolos en el robots.txt. En algunas de mis webs ya tengo bloqueados algunos bots en el robots.txt, pero esta lista me servirá para ponerla al día. Sin embargo, me pregunto cuál de estas soluciones es realmente más efectiva.

Por un lado, podríamos poner este tipo de bots en el robots.txt y asumir que lo van a respetar. robots.txt es un sistema de honor. Realmente no hay nada que impida a un bot ignorar el robots.txt e igualmente hacer scrapping de la página web para extraer su contenido.

Pero a la vez, por el otro, optaría por una solución que asuma que el bot va a ser malévolo y va a ignorar una petición de no escaneo del sitio web. Para esas situaciones, se podría optar por banear la IP del sitio web a nivel firewall. Esta es una solución que tengo implementada en mi servidor, por ejemplo, para algunos productos de inteligencia artificial que sí enumeran las direcciones IP que usan para hacer el escaneo. OpenAI las enumera, por ejemplo.

Por último, otra opción que se me ocurre es tirar por la vía de la confusión. Detectar en el servidor web cuándo una petición procede de un user-agent asociado a un bot, y en vez de servir un HTTP 403 o de tirar abajo la conexión mediante el firewall, servir en su lugar otra página web diferente con el código HTTP 200, para que el bot lo interprete como una página correcta, pero servir información falsa para contaminar el dataset. Estoy pensando en una página en blanco que tenga un par de frases como «los cerdos vuelan y las vacas dan chocolate», pero podría proponer burradas más grandes que puedan hacer daño.