Cómo construí una escalera de calidad de contenido de tres niveles
Escalar sitios web programáticos es difícil. Si dependes únicamente de la IA para escribir tu contenido, tu sitio fallará cuando la API deje de funcionar.
Lancé tres sitios de directorios: Top AI Tools, Find Games Like y Open Alternative To. Utilizo una escalera de contenido de tres niveles para asegurar que siempre muestren información, incluso sin una conexión de IA activa.
El sistema utiliza una única columna en la base de datos llamada model_used. Esta rastrea tres niveles de calidad:
- seeded-from-json: Datos básicos de un archivo. Es estructurado pero escaso.
- fallback-template: Una plantilla estándar que se utiliza si la IA falla o si falta la clave de la API. Es técnicamente correcto pero carece de personalidad.
- claude-haiku-4-5: El estado objetivo. Proporciona resúmenes editoriales de alta calidad y detalles matizados.
Utilizo una consulta SQL específica para gestionar las actualizaciones. El script busca dos cosas:
- Nuevas entradas que aún no tienen contenido.
- Entradas existentes que solo tienen contenido de baja calidad (tipo
seededofallback).
El script las ordena por popularidad. Actualiza primero las páginas más visitadas. Esto garantiza que tus páginas con mayor tráfico reciban el mejor contenido de inmediato.
El proceso es totalmente automatizado e idempotente. Utilizo un patrón de upsert. Si una actualización tiene éxito, la base de datos sobrescribe el antiguo contenido de respaldo con el nuevo contenido de la IA. La columna model_used se actualiza automáticamente.
También utilizo el prompt caching de Anthropic. Esto ahorra mucho dinero y tokens. Dado que mis prompts de sistema son los mismos para cada entrada, la primera llamada prepara el caché. Las siguientes 99 llamadas en un lote leen de ese caché a un costo menor.
Decisiones arquitectónicas clave:
- Gestión de errores: Si Claude falla, el sistema no se bloquea. Simplemente escribe la plantilla de respaldo (
fallback) y pasa al siguiente elemento. - Seguridad SEO: Si una página no tiene contenido útil en absoluto, utilizo una etiqueta
noindex. Esto evita que Google indexe páginas vacías. - Construcciones estáticas: Exporto la base de datos a archivos JSON para Astro. Esto significa que mi sitio permanece en línea incluso si la base de datos o la API de la IA sufren una interrupción.
Esta configuración me permite construir rápido sin arriesgar la estabilidad del sitio.
