Podcast · Negocios
Círculo de PoderUn podcast de emprendimiento convertido en un archivo escrito y buscable
Sitio del podcast de negocios Círculo de Poder: 78 entrevistas convertidas en artículos, fichas de conductores y videos del canal que se actualizan solos.
Tecnologías
- Astro 6
- React 19
- TypeScript
- MDX
- Tailwind CSS v4
- Directus
- YouTube Data API v3
- lite-youtube
- Zod
- Node.js
- Docker
- Railway
- Google Analytics 4

78
artículos de episodio
3
fichas de conductor
5
pilares temáticos
3
fuentes de contenido
Mi rol
Diseño y desarrollo del sitio en Azirgo SAS: arquitectura de contenido, migración de Next.js a Astro, integración con YouTube y Directus, y SEO técnico.
El problema
Cada sábado sale una entrevista larga con alguien que construyó una empresa en Ecuador, pero todo lo que se dice en ella queda encerrado en un video. El sitio tenía que convertir esas conversaciones en texto que un buscador pudiera leer y un visitante recorrer por tema, mantener al día lo último del canal sin publicar nada a mano y darles a auspiciantes e invitados una vía directa de contacto. Además arrastraba deuda: la misma página respondía con y sin www y con y sin barra final, y los artículos no tenían datos estructurados.
Qué construí
- Archivo de 78 episodios en /episodios: cada entrevista tiene su artículo con el video, cinco secciones numeradas, tabla de contenidos y tres episodios relacionados.
- Búsqueda por texto y por fecha, paginación de 12 en 12 y páginas de tema que solo se indexan cuando reúnen tres artículos o más.
- Home que se actualiza solo: los últimos artículos, los videos largos más recientes y los Shorts del canal aparecen sin publicar nada a mano.
- Cinco pilares temáticos en el home - construir y escalar, liderazgo y equipo, marca y ventas, criterio financiero, mentalidad -, con tres episodios cada uno.
- Fichas de los tres conductores en /host, con su biografía, sus proyectos fuera del programa y, cuando existe, el episodio en el que fueron los entrevistados.
- Postulación de invitados y burbuja de auspicios que abren WhatsApp con el mensaje ya escrito, más una página de contacto con el mapa del estudio y preguntas frecuentes.
- Bandas de auspicio con la identidad propia de cada marca y un carrusel con las marcas que pasaron por el programa.
Cómo está estructurado
Astro con salida en servidor y el adaptador de Node en modo standalone, empaquetado en Docker y desplegado en Railway. Las fichas de episodio y de conductor se prerenderizan en el build; el home, el listado con búsqueda, las páginas de tema y los endpoints se resuelven por request.
- Rutas: inicio, /episodios con búsqueda y paginación, 78 fichas en /episodios/<slug>, índice y páginas de tema en /episodios/tags, /host con tres fichas de conductor, /contacto y una 404 propia.
- Contenido: dos colecciones MDX validadas con Zod - episodios y conductores -, con topes de longitud para título, descripción y snippet.
- Del canal al sitio: el servidor pide a la API de YouTube los últimos 50 videos, consulta su duración y separa los episodios largos de los Shorts; el resultado queda en caché.
- Directus aporta los textos editables del home y los enlaces a Spotify, Apple Podcasts y YouTube, con una corrección que reemplaza el enlace roto de Apple que venía del CMS.
- Datos estructurados: WebSite, Organization y PodcastSeries en el home; BlogPosting con VideoObject en cada episodio; ProfilePage y Person en los conductores; ContactPage, LocalBusiness y FAQPage en contacto; BreadcrumbList en todas las fichas.
- sitemap.xml, rss.xml y llms.txt salen de la misma colección de artículos, y robots.txt nombra uno por uno a los bots de búsqueda con IA.
- Cabeceras de seguridad - HSTS, nosniff, X-Frame-Options - y una Content-Security-Policy en modo reporte antes de aplicarla; Google Analytics 4 para la medición.
Identidad visual
El nombre dio el motivo: anillos concéntricos detrás del logo, sobre un mosaico de fotos reales del set. La paleta es café oscuro y dorado, con Anton para los titulares y Montserrat para el texto.
- El hero pone el logo sobre fotos del estudio, oscurecidas para que no le quiten contraste, con el día y la hora de estreno como única etiqueta.
- Una franja a todo el ancho con la frase «El conocimiento es poder» sobre un segundo mosaico del set.
- Reglas escritas en el repositorio que prohíben el letter-spacing exagerado, las cursivas y los numerales decorativos «01 / 02 / 03», para que el sitio no se vea como una plantilla.
Por dentro del sitio

Archivo de episodios con buscador y temas destacados. 
Artículo escrito de un episodio, con índice y etiquetas por tema.
Decisiones técnicas
- Cada tipo de contenido vive donde mejor se mantiene: los artículos en MDX dentro del repositorio, versionados y validados en el build; los textos editables del home y los enlaces a las plataformas de audio en Directus; y los videos recientes en la API de YouTube, que el sitio consulta por su cuenta.
- La API de YouTube se llama desde el servidor, con caché en memoria de una hora - un día para los Shorts - y un filtro por duración: solo los videos de más de 20 minutos cuentan como episodio, el resto son clips.
- El blog pasó a /episodios con redirecciones 301 una a una y no con un 410: cada URL vieja tenía un equivalente exacto, y así conserva el historial que había acumulado. El mismo middleware resuelve www y barra final en un solo salto.
- En los datos estructurados, los conductores se vinculan al programa con `actor` desde el PodcastSeries y no con `worksFor`: conducir el podcast no es el empleo de ninguno de los tres, y cada uno conserva su trabajo real como dato propio.
- Los videos dentro de los artículos usan lite-youtube, que muestra la miniatura y monta el reproductor recién al hacer clic: un iframe directo carga más de 500 KB de JavaScript del reproductor aunque nadie le dé play.
Retos
- Migrar de Next.js a Astro con islas de React sin perder ninguna URL ni el historial de los artículos que ya estaban indexados.
- Sostener una regla editorial en 78 artículos - título de hasta 60 caracteres y sin emojis, descripción de 200 a 320, cinco secciones - con un schema que hace fallar el build si un post nuevo no la cumple.
- Relacionar episodios cuando todos llevan la etiqueta de entrevista: la afinidad se pondera por lo poco frecuente que es cada tema en común, para que, por ejemplo, las entrevistas de gastronomía se enlacen entre sí.
Resultado
El sitio está en producción y se alimenta cada semana: publicar una entrevista es sumar un archivo MDX, y los videos nuevos del canal aparecen en el home sin tocar código. El archivo, las fichas de conductores y sus datos estructurados quedan rastreables para buscadores y motores de respuesta.