Gran parte del tráfico web es automatizado, y solo una pequeña parte es hostil en el sentido de denegación de servicio. Confundir las categorías lleva a dos errores caros: tratar un scraper como un ataque, lo que bloquea a socios y buscadores, y tratar un ataque como un scraper, lo que deja el sitio caído mientras alguien ajusta una política de bots.
En qué se diferencian
- Intención: una avalancha quiere tu capacidad; un scraper quiere tu contenido y preferiría que siguieras online para servirlo.
- Volumen: las avalanchas son ruidosas por diseño. Los buenos scrapers son deliberadamente silenciosos, a menudo más lentos que una sesión de navegación humana.
- Forma: un ataque se concentra en uno o dos caminos. Un scraper recorre el sitio de forma sistemática, siguiendo enlaces como un rastreador.
- Tolerancia: un scraper suele respetar un 429 y retirarse, porque ser bloqueado termina su tarea. Una avalancha no lo tiene en cuenta.
El solapamiento
El scraping agresivo se convierte en una condición de denegación de servicio sin que nadie lo pretenda — un rastreador mal escrito golpeando un endpoint caro en paralelo puede ser indistinguible de un ataque desde el punto de vista del servidor.
Identificar la automatización
La identidad declarada es el caso fácil: los rastreadores legítimos se anuncian y pueden verificarse comprobando que la dirección pertenece de verdad al operador, no confiando en la cadena de user-agent. La automatización no declarada es más difícil, y las señales útiles son de comportamiento — un timing de peticiones demasiado regular, una navegación que ignora la estructura de página que seguiría un humano, y características de conexión que no coinciden con el navegador que dice ser.
Respuestas distintas
- Rastreadores de búsqueda verificados: exentos de desafíos, con límite de tasa generoso. Los quieres.
- Socios conocidos y monitorización: permítelos explícitamente, para que un cambio de protección nunca rompa una integración en silencio.
- Automatización no deseada pero educada: limita la tasa y devuelve 429. La mayoría cumplirá.
- Automatización abusiva: desafíala. Una comprobación JavaScript termina la mayoría de las sesiones de scraping sin afectar a un solo visitante real.
- Avalanchas reales: fíltralas antes de la aplicación, porque a volumen nada de lo anterior importa.
Mídelos por separado
Si el tráfico de bots y el de ataque caen en el mismo contador, ninguno puede entenderse. Mantenlos separados en tus paneles: rastreadores verificados, automatización no verificada, peticiones desafiadas y avalanchas filtradas son cuatro poblaciones distintas con cuatro respuestas distintas. Esa separación suele ser lo que convierte un gráfico de tráfico confuso en una decisión.