LLM Proxy Worker: diseñar un sitio legible para crawlers IA, motores de búsqueda y navegadores
9 may 20265 min lectura

LLM Proxy Worker: diseñar un sitio legible para crawlers IA, motores de búsqueda y navegadores

Un case study sobre edge proxy, markdown para LLM, metadatos SEO generados con IA, prerender selectivo y fallbacks pensados para tráfico real.

Mekki Ouertani

Full-Stack Developer with a focus on backend and system design

Una página web ya no la leen solo las personas. También la recorren motores de búsqueda, crawlers IA, sistemas de previsualización, herramientas SEO y automatizaciones que a menudo necesitan respuestas distintas de las pensadas para un navegador humano.

La web ya no tiene un solo lector

Durante años diseñamos sitios imaginando a un usuario delante de una pantalla. Hoy eso es solo una parte de la historia. La misma página puede ser solicitada por Googlebot, un crawler IA, una herramienta de previsualización o un navegador tradicional.

El problema es que todos estos clientes no leen el sitio de la misma forma. Un navegador puede gestionar JavaScript, animaciones e interacciones. Un crawler IA puede preferir contenido compacto y legible. Un motor de búsqueda necesita metadatos claros, canonicals coherentes y datos estructurados.

LLM Proxy Worker nace de esta idea: no cambiar el sitio de origen, sino añadir delante una capa capaz de adaptar la respuesta según quién está leyendo.

Un proxy edge como capa inteligente

El Worker corre sobre Cloudflare Workers y se comporta como un middleware en el edge. Recibe la solicitud, observa URL, query params, User-Agent y headers, y decide qué recorrido aplicar.

Si llega un navegador humano, el sitio sigue respondiendo de forma normal, con posible enriquecimiento SEO. Si llega un crawler IA o una ruta de debug LLM, el Worker puede transformar el HTML en markdown. Si llega un crawler que tiene problemas con JavaScript, puede servir HTML prerenderizado.

Esta arquitectura es interesante porque añade capacidades transversales sin reescribir el CMS, el frontend ni el backend principal.

  • navegador: página original o enriquecida con metadatos
  • crawler IA: versión markdown más limpia y legible
  • crawler de búsqueda: HTML prerenderizado cuando hace falta
  • ruta de debug: respuestas diagnósticas para entender el comportamiento

Markdown para LLM: menos ruido, más contenido

Una página HTML completa contiene mucho más de lo que un modelo lingüístico necesita leer realmente: scripts, estilos, footer, navegación, banners, SVG, formularios y otros elementos técnicos.

Para un crawler IA, ese ruido consume tokens y puede alejar la atención del contenido real. La conversión a markdown sirve para devolver una versión más compacta, ordenada y cercana al texto útil de la página.

No es un atajo mágico. Es una decisión de interfaz entre el sitio y los sistemas automáticos: si el lector no es humano, la respuesta puede adaptarse a su forma de procesar información.

SEO generada con IA, pero con límites

La parte delicada no es llamar a un modelo. Es evitar que el modelo se convierta en una caja negra. En el proyecto, la generación SEO parte de datos reales: HTML de la página, keyword, datos SERP, intención de búsqueda, competidores y reglas calculadas por el código.

OpenAI es el proveedor principal, Claude es el fallback, pero el output no se acepta a ciegas. El resultado debe ser JSON válido y superar controles sobre title, description, Open Graph, canonical y JSON-LD.

Esto cambia el papel de la IA: no decide sola qué es importante, sino que trabaja dentro de un perímetro definido por el sistema.

Prerender solo cuando realmente sirve

Muchas páginas modernas dependen de JavaScript. Un navegador humano las ve correctamente, pero algunos crawlers pueden quedarse en el HTML inicial y perder parte del contenido.

Para estos casos el Worker puede usar Cloudflare Browser Rendering con Puppeteer: abre la página, deja ejecutar JavaScript y devuelve el HTML final. Es potente, pero también costoso comparado con una solicitud normal.

Por eso el prerender no se aplica a todos. Se activa solo para crawlers, reglas específicas o debug explícito. Los usuarios humanos se mantienen en el recorrido más ligero.

Cache, fallback y sostenibilidad

Una solución basada en LLM y Chromium puede volverse frágil si cada solicitud genera trabajo costoso. Por eso el proyecto usa Cloudflare KV para guardar metadatos SEO y HTML prerenderizado.

La primera solicitud puede generar el resultado. Las siguientes pueden reutilizarlo. Esto reduce tokens, llamadas externas, latencia y variabilidad del output.

La parte más importante es el comportamiento ante errores. Si DataForSEO no responde, si OpenAI falla, si Claude no está disponible o si Chromium entra en timeout, el sitio no debe romperse. El Worker vuelve a fallbacks razonables o a la página original.

La parte senior: decidir qué no hacer

Lo interesante de un proyecto así no es usar el mayor número posible de servicios. Es decidir cuándo no usarlos. Un LLM en cada solicitud sería llamativo, pero costoso, lento y poco predecible. Un navegador headless para cada visita sería potente, pero desproporcionado. Una cache usada como base de datos se convertiría pronto en un problema de coherencia.

El trabajo arquitectónico consiste en definir límites claros: qué solicitudes merecen IA, cuáles merecen prerender, cuáles pueden seguir el recorrido estándar y qué ocurre cuando un proveedor externo no responde.

Esa es la diferencia entre una demo que funciona en el caso ideal y un sistema capaz de vivir delante de tráfico real. No basta con añadir inteligencia: hay que contenerla, medirla y hacerla sustituible.

Una web legible también para las máquinas

LLM Proxy Worker no intenta sustituir el sitio. Intenta hacerlo más legible para los distintos lectores de la web moderna: personas, motores de búsqueda, crawlers IA y herramientas automáticas. Es un pequeño ejemplo de arquitectura adaptativa: mismo origen, respuestas distintas, costes controlados y fallbacks siempre presentes.

Sigamos en contacto.

Descubre mas sobre arquitectura, desarrollo web y sistemas digitales. Siguenos en LinkedIn e Instagram.

Despues de leer

Si este tema refleja un problema real de tu proyecto, podemos trabajarlo de forma concreta.

Desde la estructura de flujos hasta las integraciones, el objetivo no es sumar funcionalidades sin criterio, sino construir un sistema mas claro, solido y preparado para evolucionar.

Temas relacionados

Puntos que aparecen una y otra vez en proyectos digitales estructurados.

  • UX ligada a flujos, estados y gestion de errores
  • Arquitecturas modulares y separacion de responsabilidades
  • Integraciones entre sistemas, webhooks y sincronizaciones
  • Performance, fiabilidad y mantenimiento evolutivo
Volver al blog