Cómo arreglé los errores 4xx de Bing cuando Cloudflare bloqueaba mi sitio

Bing reportaba errores 400-499. Bot Fight Mode, Block AI bots y Browser Integrity Check bloqueaban el crawler. Proceso completo de diagnóstico y solución.

Dos smartphones mostrando logos de Bing y Cloudflare representando el conflicto de indexación entre el buscador y el CDN

El problema

Bing Webmaster Tools no mostraba datos acerca de clicks, impresiones y CTR.

Bing Webmaster Tools mostrando 0 clics, 0 impresiones y 0% CTR medio en el dashboard de rendimiento de búsqueda
Estado inicial: sin datos de indexación en Bing

Tampoco indexaba páginas.

Bing Webmaster Tools Inspección de URL mostrando estado "Detectada, pero no rastreada" con mensaje de error de indexación
Bing detectaba el sitio pero no podía rastrearlo

Realicé un examen al sitio y reportó errores HTTP 400-499.

Bing Webmaster Tools Examen de sitios mostrando 1 página examinada con 1 error HTTP 400-499 destacado en rojo
Primer indicio del problema: error HTTP 400-499
Bing Webmaster Tools mostrando error HTTP 400-499 en la URL https://cesarbeassuarez.dev/ con profundidad de páginas 0
El error afectaba a la homepage del sitio

Estado:

  • 1 página examinada
  • 1 error HTTP 400-499
  • 0 páginas indexadas
  • 0 impresiones
  • 0 clics

Google funcionaba perfecto. Bing no podía acceder.

El error específico: "Estas páginas tienen un código de estado http 400-499. Asegura el estado http 200 para mejorar el rendimiento de las páginas de resultados de los motores de búsqueda y ganar tráfico de usuarios."

Panel de Bing Webmaster Tools explicando qué son los errores HTTP 400-499 y cómo corregirlos actualizando el sitio
Bing explica que los errores 4xx impiden la indexación

Diagnóstico: Cloudflare bloqueaba a Bingbot

Revisé los logs de seguridad en Cloudflare (Security → Analytics → Events).

Cloudflare Security Analytics mostrando lista de eventos de bloqueo: Managed Challenge, Block, Bot Fight Mode y Managed rules
Logs de Cloudflare confirmando bloqueos automáticos a bots

Vi eventos de tipo:

Cloudflare Analytics detalle de evento mostrando Service Bot Fight Mode y Managed rules bloqueando requests
Bot Fight Mode aparecía en los eventos de bloqueo
  • Managed Challenge
  • Block
  • Service: Bot Fight Mode
  • Service: Managed rules

El problema: Cloudflare estaba bloqueando automáticamente a crawlers, incluido Bingbot.

Qué estaba bloqueando

  1. Bot Fight Mode (Security → Settings → Bot traffic)
    • Desafía automáticamente bots conocidos
    • No distingue entre bots buenos (Bingbot, Googlebot) y malos
    • Resultado: Bingbot recibía challenges que no podía resolver
  2. Block AI bots (Security → Settings → Bot traffic)
    • Bloquea bots categorizados como "AI training crawlers"
    • Bingbot puede estar en esta categoría (Microsoft usa datos de Bing para IA)
    • Configuración: "Block on all pages"
  3. Browser Integrity Check (Security → Settings)
    • Verifica headers HTTP para detectar bots maliciosos
    • Puede causar problemas con crawlers legítimos
    • Capa adicional de verificación que interfería

Qué NO estaba mal

Revisé todo lo demás:

robots.txt — No bloqueaba a Bingbot

User-agent: *
Sitemap: https://cesarbeassuarez.dev/sitemap.xml
Disallow: /ghost/
Disallow: /email/
Disallow: /members/api/comments/counts/
Disallow: /r/
Disallow: /webmentions/receive/
Disallow: /.ghost.analytics/api/

WAF (Web Application Firewall) — Sin reglas custom bloqueando bots

  • Custom rules: 0 activas
  • Rate limiting rules: 0 activas
  • Managed rules: Solo DDoS protection (no afecta crawlers legítimos)

Security Level — Medium (no "I'm Under Attack")

Challenge Passage — 30 minutes (razonable)

IP Access Rules — Sin bloqueos de rangos de IPs de Microsoft

Manage robots.txt — OFF (Cloudflare no sobrescribe mi robots.txt)

El único problema eran las 3 configuraciones de bot blocking.

Solución

Desactivé las 3 configuraciones que bloqueaban a Bingbot.

1. Desactivar Bot Fight Mode

Ubicación: Cloudflare → Security → Settings → Bot traffic

Pasos:

  1. Ir a Security → Settings
  2. Buscar "Bot Fight Mode"
  3. Toggle OFF
Cloudflare Security Settings mostrando Bot Fight Mode con toggle desactivado (OFF) y configuración JS Detections On
Configuración final: Bot Fight Mode desactivado

Antes: Detect and challenges bot traffic on your domain Después: Desactivado

2. Desactivar Block AI bots

Ubicación: Cloudflare → Security → Settings → Bot traffic

Pasos:

  1. En la misma sección de Bot traffic
  2. Buscar "Block AI bots"
  3. Click en "Configurations"
  4. Cambiar de "Block on all pages" a "Do not block (allow crawlers)"
Cloudflare Settings mostrando Block AI bots configurado en Do not block (allow crawlers) con panel de configuración abierto
Block AI bots configurado para permitir crawlers

Antes: Blocks AI Bots scope: Block on all pages Después: Do not block (off)

3. Desactivar Browser Integrity Check

Ubicación: Cloudflare → Security → Settings

Pasos:

  1. Scroll hacia abajo en Settings
  2. Buscar "Browser Integrity Check"
  3. Toggle OFF
Cloudflare Security Settings mostrando Browser Integrity Check con toggle desactivado (OFF)
Browser Integrity Check desactivado para permitir bots legítimos

Antes: Evaluate HTTP headers from your visitor's browser for threats Después: Desactivado

Configuración final de Cloudflare

Después de los cambios, esta es la configuración óptima para permitir indexación:

Bot Fight Mode: OFF
Block AI bots: Do not block (off)
Browser Integrity Check: OFF
AI Labyrinth: OFF
Security Level: Medium
Challenge Passage: 30 minutes
WAF Custom rules: 0 (sin bloqueos de bots)
Rate limiting: 0 (sin límites agresivos)

Protecciones que siguen activas (y está bien)

DDoS protection (Network-layer, SSL/TLS, HTTP)
Cloudflare Managed Ruleset
SSL/TLS encryption

Estas protecciones NO afectan a crawlers legítimos. Solo bloquean ataques DDoS reales.

Qué esperar después

Próximas 24-48 horas

  • Bingbot volverá a intentar crawlear el sitio
  • No encontrará errores 4xx
  • Empezará a leer el contenido

Próximos 3-7 días

En Bing Webmaster Tools → Examen de sitios:

  • Errores 400-499 bajarán a 0
  • Páginas indexadas empezarán a aparecer
  • Estado cambiará de "Completado con errores" a "Completado"

Próximos 7-14 días

En Rendimiento de búsqueda:

  • Aparecerán primeras impresiones
  • Puede haber clics (aunque sean pocos)
  • El sitio estará completamente indexado

Resultados update: Error residual de /cdn-cgi/ (normal, no crítico)

Después de desactivar las configuraciones, Bing volvió a crawlear el sitio.

Resultado:

Bing Webmaster Tools Examen de sitios mostrando progreso de 1 a 23 páginas examinadas después de desactivar configuraciones de Cloudflare
Progreso confirmado: de 1 a 23 páginas examinadas tras los cambios
Bing Webmaster Tools mostrando examen completado con 23 páginas examinadas y 1 error HTTP 400-499 destacados con flechas
Resultado: 23 páginas accesibles, 1 error restante
  • Antes: 1 página examinada, 1 error
  • Después: 23 páginas examinadas, 1 error

El error que queda:

Bing Webmaster Tools mostrando detalle del error en URL https://cesarbeassuarez.dev/cdn-cgi/l/email-protection de tipo HTTP 400-499
El único error restante: URL interna de Cloudflare para protección de emails
URL: https://cesarbeassuarez.dev/cdn-cgi/l/email-protection
Tipo: HTTP 400-499

¿Qué es /cdn-cgi/?

Es una URL interna de Cloudflare, NO contenido de mi sitio.

Cómo funciona:

  1. Cloudflare detecta emails en HTML (ej: [email protected])
  2. Los ofusca automáticamente para protegerlos de spam bots
  3. Crea links a /cdn-cgi/l/email-protection
  4. Cuando un usuario real hace clic, desofusca el email

El problema:

  • Bingbot encontró este link en el HTML
  • Intentó crawlearlo (porque es un link)
  • Cloudflare respondió con 4xx porque NO es una página real

¿Es un problema?

No. Es cosmético.

Por qué:

  • Solo afecta a 1 URL interna de Cloudflare
  • Las 22 páginas de contenido real se crawlean correctamente
  • No impide indexación
  • Google probablemente también lo intenta (pero no muestra el error)

No afecta tráfico, recomendación: ignorarlo.

Solución (opcional)

Bloquear /cdn-cgi/ en robots.txt para que bots no lo intenten crawlear.

Opción 1: En Ghost

Settings → Advanced → robots.txt
Agregar: Disallow: /cdn-cgi/

Opción 2: En Cloudflare

Security → Settings → Manage your robots.txt
Agregar: Disallow: /cdn-cgi/

Mi decisión: No hacer nada por ahora.

No es obligatorio. No afecta ranking ni indexación.

Probablemente desaparezca solo cuando Bing re-crawlee y actualice su índice.

Progreso real

El problema principal está resuelto:

Antes:

  • ❌ Sitio bloqueado por Cloudflare
  • ❌ 0 páginas indexables

Ahora:

  • ✅ Bingbot accede sin problemas
  • ✅ 22/23 páginas crawleables correctamente
  • ⚠️ 1 error en URL interna de Cloudflare (no crítico)

Opcional: Acelerar el proceso

Podés pedirle a Bing que re-crawlee manualmente:

Bing Webmaster Tools panel de Envío de URL mostrando diálogo para enviar direcciones URL manualmente para acelerar indexación
Opción para acelerar indexación: envío manual de URLs en Bing Webmaster Tools

Esto le dice a Bing "intentá ahora" en vez de esperar al próximo ciclo automático.

Errores que cometí (y cómo evitarlos)

1. Asumir que Cloudflare solo bloquea bots maliciosos

Bot Fight Mode suena útil, pero bloquea TODO tipo de bots por defecto.

Si querés ser indexado, no podés tener Bot Fight Mode activo sin configuraciones adicionales.

2. No revisar los logs de seguridad antes

Los eventos de Cloudflare (Security → Analytics → Events) mostraban claramente que estaba bloqueando crawlers.

Debería haber revisado esto antes de buscar el problema en otro lado.

3. Tener múltiples capas de protección innecesarias

Bot Fight Mode + Block AI bots + Browser Integrity Check es overkill para un blog personal.

Una protección sola (como DDoS protection básico) es suficiente.

4. No verificar en Bing Webmaster Tools desde el principio

Google Search Console funcionaba bien, asumí que Bing también.

Error: siempre verificar ambos buscadores, sobre todo después de configurar CDN/seguridad.

Por qué Google funcionaba y Bing no

Google tiene mejor infraestructura para resolver challenges de Cloudflare.

Cloudflare reconoce mejor a Googlebot que a Bingbot.

Resultado: Googlebot pasaba, Bingbot quedaba bloqueado.

No significa que Bing sea peor. Significa que Cloudflare tiene configuraciones más agresivas con bots que no son Google.

Aprendizajes

  1. Cloudflare es potente, pero opaco
    • Las configuraciones por defecto son agresivas
    • No todas son necesarias para un blog personal
    • Menos es más
  2. Logs de seguridad son esenciales
    • Security → Analytics → Events muestra TODO
    • Ahí se ve qué está bloqueando realmente
    • No asumir, verificar
  3. Bot Fight Mode NO es para sitios que quieren indexación
    • Está diseñado para proteger apps, no blogs
    • Si lo usás, necesitás reglas custom para permitir crawlers
    • Mejor desactivarlo directamente
  4. Verificar Bing además de Google
    • Bing tiene ~3-5% del tráfico de búsqueda (pero es tráfico)
    • Si Bing no puede indexarte, perdés visitantes
    • Configurar Bing Webmaster Tools desde el día 1
  5. Browser Integrity Check es opcional
    • Agrega fricción sin mucho beneficio para blogs
    • DDoS protection básico es suficiente
    • Solo activarlo si hay ataques reales

Arquitectura actual

[ Usuario ]
    ↓
[ Navegador ]
    ↓
[ Cloudflare ] (CDN + Seguridad básica, SIN bot blocking)
    ↓
[ PikaPods ] (Hosting)
    ↓
[ Ghost ] (CMS)
    ↓
[ Contenido ]

Cloudflare ahora solo:

  • Acelera el sitio (CDN)
  • Protege contra DDoS
  • Maneja SSL/TLS
  • NO bloquea bots legítimos

Recursos útiles

  • Bing Webmaster Tools: https://www.bing.com/webmasters
  • Cloudflare Security Analytics: Dashboard → Security → Analytics
  • Cloudflare Logs: Security → Analytics → Events (tab)
  • Verificar indexación:
    • Google: site:cesarbeassuarez.dev en Google
    • Bing: site:cesarbeassuarez.dev en Bing

Conclusión

Bing no podía indexar mi sitio porque Cloudflare lo bloqueaba automáticamente.

Desactivé 3 configuraciones:

  1. Bot Fight Mode
  2. Block AI bots
  3. Browser Integrity Check

Resultado:

  • De 1 página examinada → 23 páginas examinadas
  • De sitio completamente bloqueado → 22/23 páginas accesibles
  • El único error restante es una URL interna de Cloudflare (no crítico)

En 3-7 días debería ver páginas indexadas y en 7-14 días primeras impresiones en búsquedas.

El sitio sigue protegido contra DDoS y ataques reales, pero ya no bloquea crawlers legítimos.

Si tu sitio funciona en Google pero no en Bing, revisá Cloudflare. Probablemente sea lo mismo.

Nota: este post documenta un caso real.
Las configuraciones de Cloudflare cambian con el tiempo.

Para explorar:

Si este post te resultó útil, estos pueden interesarte:

Cómo armé este sitio El proceso completo de construcción del blog: Ghost, PikaPods, Cloudflare, DNS, email. Arquitectura y decisiones técnicas.

Por qué construyo en público La filosofía detrás de este blog: aprender en público, documentar errores, construir sobre consumir.