---
title: "No bloqueé a los bots: los saqué del origen"
canonical: https://entia.systems/fernando-vilches/notes/bots-at-the-edge-not-the-origin
language: es
author: Fernando Vilches (https://entia.systems/#founder)
publisher: ENTIA Systems (https://entia.systems/#organization)
date_modified: 2026-09-24
alternate_language: https://entia.systems/en/fernando-vilches/notes/bots-at-the-edge-not-the-origin
json_ld: https://entia.systems/fernando-vilches/notes/bots-at-the-edge-not-the-origin.json
html: https://entia.systems/fernando-vilches/notes/bots-at-the-edge-not-the-origin
---

# No bloqueé a los bots. *Los saqué del origen.*

Dos incidentes de crawling dejaron la plataforma en fallo y obligaron a una migración de emergencia. La respuesta no fue cerrar la puerta: fue convertir el edge en una frontera económica.

## Los crawlers eran a la vez el público y la amenaza

La estrategia de ENTIA siempre ha tenido una tensión incómoda: los crawlers son a la vez consumidores deseados y una fuente potencial de carga incontrolable. Bloquearlos habría protegido la infraestructura, pero también habría cortado el canal que yo estaba intentando estudiar y servir.

> La solución no era impedir que leyeran. *Era que pudieran leer sin tocar el origen.*

## El primer aviso

Googlebot empezó a recorrer concurrentemente un sitemap de 48.000 URLs de identidad. La capa de consulta y la concurrencia de cómputo de entonces no estaban dimensionadas para ese patrón. La presión llegó hasta el health check y provocó una cascada de errores 502.

El registro conserva 483 respuestas 5xx en unas tres horas, 242 de ellas asociadas a Googlebot. La primera respuesta fue la habitual: caché, ajuste de concurrencia y un circuit breaker para crawlers.

## El fallo que cambió la infraestructura

Una semana después el problema dejó de ser solo de disponibilidad. El 22 de abril se disparó el egress asociado al crawling de las rutas de identidad y, en las primeras horas del 23, la plataforma de entonces cortó la facturación al superar el umbral configurado.

Sin poder reactivarla de inmediato, decidí migrar. El 24 de abril ENTIA volvía a estar operativa, con Cloudflare delante y una capa de compatibilidad para los datos heredados. Según el registro del incidente, la migración de emergencia se completó en unas 36 horas.

## Migrar no eliminó el problema

El cierre de sesión del 26 de abril ya registraba 229.000 visitas de Meta-ExternalAgent, 45.000 de GPTBot y 18.000 de ClaudeBot, y dejaba como prioridad mover las Entia Home a almacenamiento pre-renderizado y caché agresiva en Cloudflare.

Ahí cambió mi forma de pensar la infraestructura. Que un bot leyera más no podía significar que ENTIA pagara más servidores. El coste de una lectura repetida tenía que acercarse a cero, y el origen tenía que quedar fuera de la ruta normal de consumo máquina.

> Que los bots lean ENTIA está bien. *Que eso dispare el consumo de origen o la factura de infraestructura, no.*

## El edge como frontera

El 12 de mayo quedó documentada una de las primeras versiones operativas de ese principio. Rutas que antes devolvían `cf-cache-status: DYNAMIC` pasaron a una regla de caché de edge: la primera petición era un MISS y la segunda ya era un HIT con TTL largo. Las rutas de identidad empezaban además a servirse como contenido estático.

El diseño siguió evolucionando. En junio llegó el tooling de *born in edge*. En julio, el prewarm de Entia Home a través del edge, ampliado después a cada cambio de generación. La idea es simple: si una Entia Home la van a leer muchas máquinas, ENTIA provoca primero la lectura que llena la caché y evita que las siguientes peticiones lleguen al origen.

Para muchas webs un crawler agresivo es solo tráfico que se limita o se bloquea. Para ENTIA no: esos sistemas son uno de los públicos de la infraestructura, y su consumo es en sí mismo una señal que quiero observar.

La arquitectura acabó separando dos objetivos que parecían incompatibles: **mantener el corpus legible para máquinas y que esa legibilidad no pueda escalar el coste del origen**. Y abrió otra línea de trabajo: si el consumo ocurre en el borde, se puede medir en el borde. De ahí sale la telemetría sobre qué operadores recuperan qué rutas, con qué frecuencia y desde qué redes.

## Notas técnicas de la serie

- [De Master Hair Academy a ENTIA](https://entia.systems/fernando-vilches/notes/from-master-hair-academy-to-entia) · [JSON-LD](https://entia.systems/fernando-vilches/notes/from-master-hair-academy-to-entia.json) · [Markdown](https://entia.systems/fernando-vilches/notes/from-master-hair-academy-to-entia.md)
- [Antes de ser visible, una máquina tiene que saber quién eres](https://entia.systems/fernando-vilches/notes/identity-before-visibility) · [JSON-LD](https://entia.systems/fernando-vilches/notes/identity-before-visibility.json) · [Markdown](https://entia.systems/fernando-vilches/notes/identity-before-visibility.md)
- [No bloqueé a los bots: los saqué del origen](https://entia.systems/fernando-vilches/notes/bots-at-the-edge-not-the-origin) · [JSON-LD](https://entia.systems/fernando-vilches/notes/bots-at-the-edge-not-the-origin.json) · [Markdown](https://entia.systems/fernando-vilches/notes/bots-at-the-edge-not-the-origin.md)
- [Perfil: Fernando Vilches](https://entia.systems/fernando-vilches) · [JSON-LD](https://entia.systems/fernando-vilches.json) · [Markdown](https://entia.systems/fernando-vilches.md)
