Cada panel de control de scraping tiene una tasa de éxito, y casi todos cuentan lo mismo: respuestas con un HTTP 200. Es un número fácil de recopilar y reconfortante de presentar. También es el número más engañoso en la recopilación de datos web, porque un 200 solo significa que un servidor devolvió algo. No dice nada sobre si eso era la página que solicitaste.
La brecha entre esas dos cosas es la tasa de fallo silencioso: la proporción de solicitudes “exitosas” que devolvieron contenido incorrecto. Es el fallo que no puedes ver en tus registros, y aterriza en tu conjunto de datos con el aspecto exacto de datos buenos.
Entonces, ¿de qué tamaño es? La respuesta honesta es que nadie lo ha publicado. Esa ausencia resulta ser el hallazgo más interesante, y el resto de este artículo explica por qué existe, qué muestran las mediciones cercanas y cómo medir la tuya propia.
Conclusiones clave
- Ningún estudio publicado mide qué proporción de respuestas HTTP 200 lleva contenido incorrecto en toda la web. El estudio a gran escala más reciente sobre bloqueo de bots afirma por escrito que la degradación de contenido dentro de respuestas 200 quedaba fuera de su alcance.
- El bloqueo es común y está mal etiquetado. Un estudio de Common Crawl encontró que al menos el 1,68% de los sitios rechazaba explícitamente al rastreador, con un uso inconsistente e incluso incorrecto de los códigos de estado.
- Las páginas de bloqueo sí llegan como 200. En una medición de 2023 sobre Cuba, 32 de los 395 dominios que servían una página de bloqueo lo hacían con un estado 200.
- Los principales estudios sobre enlaces caducados (link-rot) cuentan las páginas soft 404 como activas, porque comprobar el contenido es mucho más difícil que comprobar los códigos de estado.
- Tu propia tasa de fallo silencioso es medible, pero solo validando el contenido, no el estado.
Qué cuenta como fallo silencioso
Un fallo silencioso es cualquier respuesta que informa éxito y no contiene lo que un visitante real habría recibido. Las formas comunes:
| Forma | Qué recibes | Por qué pasa como éxito |
|---|---|---|
| Página de bloqueo servida como 200 | Un mensaje de rechazo donde debería estar la página | El estado dice OK |
| Desafío o interstitial | Un CAPTCHA o una página de “comprobando tu navegador” | A menudo un 200, a veces un código de error |
| Soft 404 | Una página genérica o la página de inicio para contenido que ya no existe | El servidor devuelve 200 en lugar de 404 |
| Cáscara vacía | HTML sin contenido, porque la página se construye a sí misma en JavaScript | Un documento completo y válido |
| Muro de consentimiento o de pago | Una pantalla de consentimiento delante del contenido | La página cargó; el contenido no |
| Variante equivocada | La página, el precio o el idioma de otro país | Una página perfectamente real, solo que no la que querías |
Cada una de ellas se analiza, se almacena y se agrega como si fueran datos buenos. Ninguna activa una alerta de error.
El número que nadie ha medido
Los investigadores que estudian el bloqueo de bots y el deterioro web han evitado repetidamente esta pregunta, y varios lo dicen de forma explícita.
El estudio a gran escala más reciente, “Detecting Bot Detection” de Gundelach, Mühlhauser y Herrmann (Universidad de Bamberg, junio de 2026), escaneó los 10.000 principales sitios de Tranco entre el 27 de febrero y el 2 de marzo de 2026 bajo varias configuraciones de navegador. Su sección de limitaciones es directa: “la degradación de contenido dentro de las respuestas HTTP 200 queda fuera de nuestro alcance observacional”. Los autores también encuestaron 81 artículos de medición web y encontraron que “solo el 5% de los artículos cuantifica explícitamente las tasas de detección o bloqueo de bots, y el 83% omite cualquier discusión” al respecto.
No están solos. El estudio de PAM 2025 sobre los rechazos de Common Crawl trabajó a partir de respuestas no 200. El estudio global de geobloqueo de 2018 señaló que un sitio podía cargar mientras que “el botón de inicio de sesión ha desaparecido, o que parte del contenido no está disponible”, y dejó esos “cambios de contenido más matizados” para trabajo futuro. El estudio de link-rot de 2024 del Pew Research Center trató como accesibles “situaciones ambiguas en las que no podíamos garantizar que el contenido existiera, como las páginas soft 404”. El estudio de abril de 2026 del Internet Archive sobre la web muerta “se basó en códigos de estado HTTP y no examinó el contenido de las páginas para comprobar si había soft 404”.
Nada de esto es descuido. Clasificar códigos de estado se escala a millones de páginas; juzgar si el contenido es correcto requiere saber cómo es lo correcto para cada página. Es precisamente por eso que la tasa de fallo silencioso no está medida a escala web, y precisamente por eso es medible para tus propios objetivos, donde sí sabes cómo es lo correcto.
Qué muestran las mediciones cercanas
Ninguna cifra única responde la pregunta, pero varias mediciones la acotan.
| Hallazgo | Fuente | Medido |
|---|---|---|
| Chromium sin interfaz gráfica fue bloqueado de forma suave en el 15,2% de los principales sitios, frente al 6,8% al 7,2% de otras configuraciones de navegador; el 81,9% de los sitios con bloqueo suave se atribuyó a la detección de bots | Gundelach, Mühlhauser y Herrmann, arXiv, junio de 2026 | Feb a mar de 2026 |
| Al menos el 1,68% de los sitios rechazó explícitamente a Common Crawl, con códigos de estado inconsistentes e incluso incorrectos; el 80% de los dominios que rechazaban bloqueaba todas las solicitudes | Ansar, Sperotto y Holz, PAM 2025 | Instantánea de Common Crawl, finales de 2023 |
| 32 de 395 dominios que servían páginas de bloqueo a usuarios cubanos usaban un estado 200 | Ablove et al., USENIX Security 2024 | Mayo de 2023 |
| Los rastreos automatizados no detectaron el 45% de los sitios web de fingerprinting que encontraron usuarios reales, en parte por no lograr superar la detección de bots | Annamalai, Bilogrevic y De Cristofaro, WWW 2025 | 30 usuarios durante 10 semanas |
| Muros de cookies en el 0,6% de 45.000 sitios, y en el 8,5% de los 1.000 principales sitios de Alemania | Rasaii, Gosain y Gasser, IMC 2023 | 2023 |
| El 7,35% de los servidores web devolvió 200 para un documento desconocido en lugar de 404 | Prieto Álvarez, Álvarez Díaz y Cacheda Seijo, 2014 | Antes de 2014 |
| Las soft 404 representaron más del 15% de los enlaces muertos | Bar-Yossef, Broder, Kumar y Tomkins, WWW 2004 | Antes de 2004 |
Las dos primeras filas describen bloqueos visibles a través de códigos de error, que es la parte fácil de ver. La tercera muestra que la otra parte existe: aproximadamente una de cada doce páginas de bloqueo en ese estudio llegaba disfrazada de éxito. Las cifras de soft 404 son antiguas, y son las más recientes que se han publicado.
Qué cuesta río abajo
La imagen más clara del fallo silencioso en un conjunto de datos real proviene de estadísticas oficiales. Cuando la Oficina de Estadísticas Nacionales del Reino Unido (Office for National Statistics) puso a prueba índices de precios a partir de datos extraídos por scraping de supermercados, su actualización de mayo de 2016 informó que “el porcentaje total de productos clasificados como anómalos o mal clasificados tras este paso de validación fue del 25%”, eliminando precios “de 3,4 millones a 2,5 millones”. Los datos faltantes, añadió, “se debieron principalmente a que los minoristas hacían cambios estructurales en sus sitios web”.
Ese 25% no es una tasa de fallo a nivel de HTTP. La mayor parte eran productos extraídos hacia la categoría equivocada y precios atípicos. Ese es precisamente el punto: cada uno de esos registros provenía de una solicitud que tuvo éxito, y una cuarta parte de ellos era inutilizable. Hizo falta un paso de validación, construido por una oficina de estadísticas, para encontrarlos.
Por qué los códigos de estado no pueden transmitir esta señal
Sería conveniente que los servidores informaran los rechazos con honestidad. La evidencia dice que no lo hacen de forma consistente. El estudio de Common Crawl encontró rechazos señalados mediante un uso inconsistente e incluso incorrecto de los códigos de estado HTTP. El estudio de Cuba encontró bloqueos repartidos entre fallos de DNS, tiempos de espera agotados, 403, un puñado del código dedicado 451, y 200.
Parte de la infraestructura sí ayuda. Cloudflare establece una cabecera de respuesta cf-mitigated: challenge para todos sus tipos de páginas de desafío, lo cual es una señal mucho más fiable que el código de estado. Compruébala. Pero una cabecera de un proveedor no es un estándar web, y la mayoría de los fallos silenciosos no llevan ningún marcador en absoluto.
Cómo medir tu propia tasa de fallo silencioso
La definición es simple: de las respuestas que tu sistema contó como exitosas, la proporción que no pasó la validación de contenido. El trabajo está en la validación.
- Valida registros, no respuestas. Decide qué campos debe contener cada registro de un tipo de página, y marca como fallo cualquier 200 que no los produzca.
- Compara el tamaño con lo normal para ese tipo de página. Una página de producto que de repente tiene una quinta parte de su tamaño habitual rara vez es una página de producto.
- Busca marcadores de bloqueo y desafío, incluidas cabeceras como
cf-mitigated, y frases que realmente usan tus objetivos. - Ejecuta canarios. Obtén páginas cuyo contenido correcto conozcas de forma independiente, a través de la misma ruta que producción, y compara.
- Registra desde dónde obtuviste los datos. Una variante del país equivocado solo es detectable si registraste el punto de observación, que es el argumento que se plantea en el estándar de punto de observación.
- Muestrea para revisión humana. Unas pocas docenas de respuestas por semana, leídas por una persona, detecta modos de fallo que ninguna regla anticipó.
Un primer clasificador puede ser muy pequeño:
BLOCK_MARKERS = ("captcha", "access denied", "unusual traffic", "verify you are human")
REQUIRED_FIELDS = ("title", "price")
def classify(resp, record, baseline_bytes):
"""Label one response. Anything but "ok" on a 200 is a silent failure."""
if resp.headers.get("cf-mitigated") == "challenge":
return "challenge"
if resp.status_code != 200:
return "http_error"
if not record and any(m in resp.text.lower() for m in BLOCK_MARKERS):
return "block_page"
if len(resp.content) < 0.2 * baseline_bytes:
return "too_small"
if not record or any(record.get(f) in (None, "") for f in REQUIRED_FIELDS):
return "missing_fields"
return "ok"
Informa el resultado por objetivo y por tipo de página, junto a la tasa de éxito que ya tienes. Cuando las dos divergen, la tasa de éxito te está mintiendo. Un aumento de bloqueos suaves en un sitio es también una de las primeras señales de que se está volviendo en contra de tu rastreador, que es lo que una puntuación de salud del objetivo está diseñada para detectar. Las métricas más amplias se encuentran en cómo monitorizar una pipeline de web scraping.
Dónde ayudan las herramientas, y dónde no pueden
La recopilación gestionada elimina algunos fallos silenciosos antes de que lleguen a ti. La Web Scraping API de Shifter reintenta automáticamente las obtenciones fallidas, los CAPTCHA y los errores transitorios del objetivo, hasta tres veces con proxies distintos, y solo cobra por las solicitudes exitosas. El renderizado de JavaScript elimina el problema de la cáscara vacía para páginas que se construyen a sí mismas en el navegador, y extract_rules devuelve campos con nombre, lo que hace que un campo faltante sea fácil de detectar.
Lo que ninguna capa de recopilación puede hacer es saber que una página perfectamente bien formada contiene el precio equivocado o el catálogo del país equivocado. Solo tú sabes cómo es lo correcto para tus datos. La validación de contenido pertenece a tu pipeline sin importar cómo se obtuvieron las páginas.
La conclusión
Un 200 es una afirmación hecha por un servidor, no una garantía sobre el contenido. Las páginas de bloqueo, los desafíos, las soft 404, las cáscaras vacías, los muros de consentimiento y las variantes equivocadas llegan todos disfrazados de éxito, y la investigación publicada, por razones prácticas sólidas, ha medido casi todo sobre el bloqueo web excepto esto.
La consecuencia es que la única tasa de fallo silencioso que jamás tendrás es la que midas tú mismo. Valida cada registro, mantén canarios cuyas respuestas conozcas, y coloca el resultado en el mismo panel que tu tasa de éxito. La diferencia entre esos dos números es la parte de tu conjunto de datos en la que actualmente no puedes confiar.
Fuentes y referencias
- Gundelach, Mühlhauser y Herrmann, Detecting Bot Detection: Prevalence, Techniques, and Implications for Web Measurement Research, arXiv, 12 de junio de 2026. Escaneos del 27 de febrero al 2 de marzo de 2026.
- Ansar, Sperotto y Holz, Web Crawl Refusals: Insights From Common Crawl, PAM 2025, 7 de marzo de 2025.
- Ablove et al., Digital Discrimination of Users in Sanctioned States: The Case of the Cuba Embargo, USENIX Security 2024. Medido en mayo de 2023.
- McDonald et al., 403 Forbidden: A Global View of CDN Geoblocking, ACM IMC 2018.
- Annamalai, Bilogrevic y De Cristofaro, Beyond the Crawl: Unmasking Browser Fingerprinting in Real User Interactions, WWW 2025.
- Rasaii, Gosain y Gasser, Thou Shalt Not Reject: Analyzing Accept-Or-Pay Cookie Banners on the Web, ACM IMC 2023.
- Prieto Álvarez, Álvarez Díaz y Cacheda Seijo, Soft-404 Pages, a Crawling Problem, Journal of Digital Information Management, 2014.
- Bar-Yossef, Broder, Kumar y Tomkins, Sic Transit Gloria Telae: Towards an Understanding of the Web’s Decay, WWW 2004.
- Pew Research Center, When Online Content Disappears: methodology, 17 de mayo de 2024.
- Sawood Alam, Internet Archive, Gone but Not Forgotten: Recovering the Dead Web, 23 de abril de 2026.
- Office for National Statistics, Research indices using web scraped data: May 2016 update, 23 de mayo de 2016.
- Cloudflare, Detect a Challenge Page response.
- Shifter, Web Scraping API errors and limits.