Cualquiera que haga funcionar un crawler durante suficiente tiempo lo nota: el mismo trabajo, contra los mismos sitios, con el mismo código, falla más unos días que otros. El martes va bien. El sábado va peor. La última semana de noviembre es un mundo distinto. Resulta tentador llamarlo ruido. Normalmente no lo es.
El punto de partida honesto es que ningún conjunto de datos público mide las tasas de bloqueo de scrapers por día de la semana o por festivo. El estudio a gran escala más reciente sobre bloqueo de bots, de la Universidad de Bamberg en 2026, fue un único escaneo durante cuatro días a principios de 2026, sin ninguna visión de cómo cambia el bloqueo con el tiempo. Lo que sí existe es una buena cantidad de datos sobre los factores que impulsan las tasas de bloqueo: cómo se mueve la proporción de tráfico de bots cuando se mueve el tráfico humano, qué ocurre con las defensas en eventos de máxima actividad, y cuándo las personas que modifican esas defensas dejan de hacerlo. Juntas, explican la mayor parte de lo que ven los operadores de crawlers.
Conclusiones clave
- No existe ninguna medición publicada de las tasas de bloqueo de scrapers por día de la semana o festivo. A quien cite una debería pedírsele el método.
- La proporción de bots aumenta cuando el tráfico humano disminuye. Cloudflare midió una caída de aproximadamente el 4% en el tráfico total los fines de semana, pero solo alrededor del 1% en el caso de bots verificados.
- Los eventos de compras de máxima actividad traen más bots y defensas más pesadas. Imperva midió que los bots maliciosos suponían el 26,3% del tráfico minorista en temporada de vacaciones, frente a una media anual del 22,7%.
- El peor día para los bots no siempre es el día famoso. La muestra minorista de Queue-it registró que el tráfico no humano alcanzó el 83% de las visitas el 11 de diciembre de 2024, no en Black Friday.
- Las congelaciones de cambios son una práctica documentada en torno a la temporada alta y el final de año, por lo que las defensas tienden a cambiar antes y después, no durante.
Por qué el calendario debería mover las tasas de bloqueo
Un sitio que decide si desafiar o bloquear una solicitud está, en la mayoría de las configuraciones modernas, haciendo un juicio en función de su tráfico actual. Tres cosas del calendario alteran ese juicio:
- La mezcla de tráfico. Cuando los humanos se marchan, el tráfico automatizado que queda representa una proporción mayor del total, y esa proporción es a menudo lo que alarma a los defensores y a los modelos.
- Lo que está en juego. En un día de rebajas o de lanzamiento de entradas, a un sitio le importan mucho más los reventas, el credential stuffing y el acaparamiento de inventario, y tolera más friction para detenerlos.
- Las personas. Las reglas las escriben y las ajustan equipos que se van de vacaciones y congelan los cambios precisamente en los momentos más críticos.
Cada uno de estos puntos tiene evidencia detrás.
Fines de semana: los humanos se marchan, los bots en su mayoría no
El tráfico humano de internet tiene un fuerte ritmo semanal. Un análisis del Data Science Campus de la Oficina Nacional de Estadística del Reino Unido (ONS) sobre el tráfico en el London Internet Exchange encontró que “los fines de semana tienden a tener menos tráfico, mientras que los días de mitad de semana muestran las cantidades más altas”, con un tráfico en torno a los festivos bancarios aproximadamente un 7,8% más bajo en promedio, y el periodo navideño todavía más bajo.
El tráfico automatizado es más constante. El análisis de Cloudflare de enero a julio de 2020 encontró que, aunque un día laborable típico se sitúa ligeramente por encima de la media, los fines de semana muestran “una caída de aproximadamente el 4% en el tráfico total”, un patrón que “no se aplica del todo a los bots verificados, que solo experimentan una pequeña caída del 1%”. El mismo análisis encontró que el tráfico humano era aproximadamente un 15% más bajo entre la medianoche y las 05:00 UTC y hasta un 25% más alto entre las 14:00 y las 17:00 UTC.
Si el tráfico automatizado de un sitio se mantiene estable mientras su tráfico humano cae, la proporción automatizada aumenta, y también aumenta la probabilidad de que cualquier solicitud automatizada dada parezca inusual. Ese es el mecanismo más plausible detrás de peores tasas de bloqueo los fines de semana y de madrugada, y por eso un crawling constante y sin horario puede destacar más un domingo que un martes.
Existe un contraejemplo importante. Integral Ad Science, midiendo el tráfico de bots en impresiones publicitarias durante 391 días, encontró el patrón contrario para los bots que rastrea: un tráfico de bots en días laborables aproximadamente un 21,2% más alto que en fines de semana, frente a solo un 6,9% en el caso de los humanos. No toda la automatización es constante. Las operaciones fraudulentas que imitan horarios humanos se comportan de forma distinta a los crawlers, y las defensas de un sitio ven todo eso a la vez. El efecto semanal sobre tu propia tasa de bloqueo es una cuestión empírica, específica de cada objetivo.
Eventos de máxima actividad: más bots, más friction
El calendario de compras concentra ambos lados del problema.
| Hallazgo | Fuente |
|---|---|
| Los bots maliciosos fueron el 26,3% del tráfico minorista en temporada de vacaciones en 2023, frente a una media anual del 22,7%; los ataques de apropiación de cuentas aumentaron un 85% en Black Friday | Imperva, noviembre de 2023 |
| En Black Friday de 2024, los bots llegaron a suponer hasta el 19% del tráfico de comercio electrónico y los humanos el 81%; los bots representaron el 63% de los intentos de inicio de sesión, ligeramente por debajo respecto a un mes antes, a medida que aumentaban los inicios de sesión humanos | Cloudflare, diciembre de 2024 |
| A lo largo del Cyber Five de 2025, el 28% de las solicitudes procedían de un bot o de un centro de datos, por debajo del 36% de 2024; el 97% de los visitantes sospechosos a los que se mostró un desafío no lo superaron | Queue-it, 138 minoristas, diciembre de 2025 |
| Durante la temporada de 2024, el 46% de las visitas se marcaron como tráfico de bot o de centro de datos; el peor día fue el 11 de diciembre, con un 83% | Queue-it, diciembre de 2024 |
| Los minoristas de la muestra de 2025 desplegaron 787 salas de espera, activadas más de 2000 veces a lo largo de la temporada | Queue-it, diciembre de 2025 |
Vale la pena resaltar dos detalles. Primero, las cifras de Cloudflare muestran que en el día de mayor actividad, el crecimiento humano puede en realidad diluir la proporción de bots, porque los humanos llegan en números mucho mayores. Un día de máxima actividad no es necesariamente el día en que tu proporción automatizada parece peor. Segundo, las cifras de Queue-it muestran que el peor día para el tráfico no humano cae a mediados de diciembre, no en Black Friday. Los sitios que endurecen las defensas para un evento conocido pueden mantenerlas endurecidas durante semanas.
La consecuencia práctica es que cualquier crawler dirigido a retail, venta de entradas o viajes debería esperar más desafíos, más salas de espera y menos tolerancia desde mediados de noviembre hasta diciembre, sea cual sea su propio comportamiento.
Festivos: más tranquilos, y a veces más calmados
Los festivos tienen dos caras. El tráfico humano cae: Cloudflare midió que el tráfico de EE. UU. en Acción de Gracias de 2023 fue aproximadamente un 10% más bajo que la semana anterior. Aparentemente, también lo hace parte del tráfico de ataque. El mismo análisis encontró que Acción de Gracias tuvo “el porcentaje más bajo de tráfico clasificado como ataques DDoS dirigidos a EE. UU.” ese mes.
Para un crawler, un festivo público en el país de un objetivo combina un menor tráfico humano, que eleva la proporción automatizada, con una plantilla más reducida en el lado defensor. El efecto neto sobre tu tasa de bloqueo depende del objetivo. Lo que sí es consistente es que los festivos son locales. Un martes en un país es festivo en otro, lo que es una razón más para medir por objetivo y por mercado en lugar de globalmente.
Congelaciones de cambios: cuando las defensas dejan de moverse
Las reglas cambian cuando las personas las cambian, y las personas congelan los cambios en momentos predecibles. Esto es una práctica documentada, no un mito.
- Shopify Engineering describió una congelación de funcionalidades que “empieza varias semanas antes del BFCM”, y una congelación de código unos días antes y durante el evento en la que “solo se pueden desplegar correcciones críticas”.
- GitLab define un bloqueo de cambios en producción como “una pausa completa en todos los cambios de producción durante periodos de disponibilidad reducida del equipo, como festivos importantes”.
- Las reglas gestionadas del WAF de Cloudflare siguen “un ciclo de lanzamiento de siete días, normalmente el lunes o martes (ajustado según los festivos públicos)”.
Las congelaciones hacen que la temporada alta sea, curiosamente, estable una vez que empieza: las defensas se endurecen en las semanas previas y luego se dejan en gran medida sin tocar. También convierten enero en una temporada de cambios. Las reglas aplazadas durante los festivos se despliegan cuando los equipos vuelven, que es precisamente cuando un crawler que funcionaba bien todo diciembre puede romperse sin que haya cambiado nada de su lado.
Mide tu propio calendario
Como ningún conjunto de datos público responde a esta pregunta para tus objetivos, la única respuesta fiable son tus propios registros. El método es sencillo: calcula la tasa de bloqueo por objetivo, por día de la semana y por hora, en la zona horaria local del objetivo, y compara cada franja con la tasa general de ese objetivo.
from collections import defaultdict
from datetime import datetime
def block_rate_by_slot(rows, tz=None, min_requests=50):
"""rows: (target, iso_timestamp, blocked). Block rate per target, weekday and hour."""
counts = defaultdict(lambda: [0, 0])
for target, ts, blocked in rows:
t = datetime.fromisoformat(ts)
if tz is not None:
t = t.astimezone(tz)
slot = (target, t.strftime("%a"), t.hour)
counts[slot][0] += 1
counts[slot][1] += int(blocked)
return {
slot: round(b / n, 3)
for slot, (n, b) in counts.items()
if n >= min_requests
}
Cuenta los bloqueos suaves como bloqueos, no solo los códigos de error, ya que una página de desafío servida con un estado de éxito sigue siendo una negativa; la tasa de fallo silencioso explica cómo detectarlos. Conserva al menos unas semanas de historial antes de sacar conclusiones, y marca los eventos conocidos y los festivos locales para que un mal Black Friday no se convierta en tu modelo de todos los viernes.
Programar en función de esto
Una vez que conoces los calendarios de tus objetivos, algunos ajustes surgen de forma natural.
- Establece la referencia por día de la semana, no por día. Una puntuación de salud que compare el sábado con una media de días laborables va a dar falsas alarmas todos los fines de semana. Compara cosas comparables, como se describe en construir una puntuación de salud del objetivo.
- Traslada el trabajo flexible a buenos horarios. Las actualizaciones que no necesitan ejecutarse en un día concreto pueden desplazarse a las horas y días en que un objetivo es más tolerante. La programación de crawling consciente del coste ya pondera cada visita por coste; una tasa de bloqueo esperada más alta es un coste mayor.
- Reduce la intensidad en el pico de un objetivo. Un minorista en su mayor día de rebajas está protegiendo a clientes reales bajo carga real. Reducir la concurrencia y alargar los intervalos durante eventos conocidos es buena educación y buen criterio, y la contrapresión debería hacer esto automáticamente cuando aumentan las tasas de bloqueo.
- Vigila enero. Espera que las defensas cambien a medida que se levantan las congelaciones, y mantén canarios en funcionamiento para notarlo en horas, no en semanas.
- Recolecta desde la propia zona horaria y punto de vista del mercado. Los festivos y los ritmos diarios son locales, y también lo es lo que un sitio sirve. Una salida residencial dirigida a un país, como
country-deen la puerta de enlace de Shifter, permite a un crawler ver un sitio alemán como lo vería un visitante alemán en un festivo alemán.
Conclusión final
Las tasas de bloqueo se mueven con el calendario por razones comprensibles: el tráfico automatizado es más constante que el tráfico humano, así que su proporción aumenta cuando la gente se desconecta; los eventos de máxima actividad traen más bots y defensas más pesadas durante semanas alrededor de ellos; y los equipos detrás de esas defensas congelan los cambios durante los periodos de mayor actividad y los reanudan después. Nada de esto se ha medido directamente para scrapers en ningún conjunto de datos público, y la evidencia no es uniforme: parte del tráfico de bots sigue de cerca los horarios humanos.
Eso convierte el calendario en una pregunta que cada equipo tiene que responder con sus propios datos. Desglosa tu tasa de bloqueo por objetivo, día de la semana y hora, marca los festivos y los eventos de rebajas, y programa en consecuencia. El patrón que encuentres será específico de tus objetivos, y mucho más útil que cualquier media global.
Fuentes y referencias
- Gundelach, Mühlhauser y Herrmann, Detecting Bot Detection, arXiv, 12 de junio de 2026. Escaneos del 27 de febrero al 2 de marzo de 2026.
- Cloudflare, Bot Attack trends for Jan-Jul 2020, 20 de octubre de 2020.
- Phil Stubbings, ONS Data Science Campus, Detecting collective human behaviour in internet traffic volume data, 18 de julio de 2019.
- Integral Ad Science, How Does Bot Traffic Vary Over Time?, 18 de diciembre de 2023.
- Imperva, Five Observations from 2023 Black Friday and Cyber Monday, noviembre de 2023.
- Adam Martinetti, Cloudflare, Grinch Bots strike again, 23 de diciembre de 2024.
- Queue-it, 2025 Holiday Shopping Stats, 24 de diciembre de 2025, y 2024 Holiday Shopping Stats, 24 de diciembre de 2024.
- João Tomé, Cloudflare, Do hackers eat turkey?, 24 de noviembre de 2023.
- Camilo Lopez, Shopify Engineering, Preparing Shopify for Black Friday and Cyber Monday, 21 de diciembre de 2018.
- GitLab, Dedicated maintenance. Bloqueos de cambios en producción.
- Cloudflare, WAF changelog. Ciclo de lanzamiento de reglas gestionadas.