Generadores de sitios estáticos: Jekyll, Hugo, Eleventy
Diseño Web
23

¿Qué es un generador de sitios estáticos?

Un generador de sitios estáticos (SSG, por sus siglas en inglés) es una herramienta que, partiendo de archivos de contenido (normalmente Markdown) y plantillas, produce HTML, CSS y JavaScript listos para servirse. No hay PHP ejecutándose en cada solicitud, no hay base de datos consultándose: el servidor solo entrega archivos ya compilados. Es el enfoque contrario al de WordPress y, para muchos casos, el más eficiente.

Ventajas frente a un CMS dinámico

Los sitios estáticos ofrecen beneficios que explican su resurgimiento:

  • Velocidad extrema: servir HTML ya generado es lo más rápido que puede hacer un servidor. Las páginas cargan en milisegundos.
  • Seguridad: sin lógica dinámica ni base de datos, desaparecen la mayoría de vectores de ataque habituales.
  • Hosting barato o gratis: puedes alojar el sitio en servicios como Cloudflare Pages, Netlify, Vercel o GitHub Pages por cero o muy poco dinero.
  • Escalabilidad automática: al tratarse de archivos estáticos, cualquier CDN los distribuye globalmente sin esfuerzo.
  • Versionado con Git: todo el sitio vive en un repositorio, con su historial completo.

¿Cuándo usarlos?

Un SSG brilla en blogs personales y profesionales, documentación técnica de productos, portafolios, sitios corporativos informativos, landing pages y cualquier web donde el contenido no cambie constantemente. No es la elección correcta si necesitas comentarios en tiempo real, paneles de usuario complejos, tiendas grandes con stock dinámico o contenido generado por usuarios. Para esos casos, un CMS tradicional o headless sigue siendo mejor idea.

Jekyll

Jekyll es el decano de los SSG modernos. Escrito en Ruby, es la base histórica de GitHub Pages y sigue siendo una opción sólida para blogs. Usa Liquid como motor de plantillas y Markdown para el contenido. Su ecosistema de plugins es maduro y la documentación, extensa. Su principal desventaja es la velocidad de compilación: con varios miles de posts se nota la diferencia frente a alternativas más nuevas.

Hugo

Hugo está escrito en Go y presume de ser uno de los generadores más rápidos que existen. Puede compilar miles de páginas en uno o dos segundos. Es un único binario sin dependencias, lo que facilita instalarlo en cualquier sistema operativo. Usa su propio motor de plantillas basado en Go templates, un poco más abrupto de aprender que Liquid, pero muy potente. Es ideal para proyectos grandes o equipos que valoran la rapidez en cada build.

Eleventy (11ty)

Eleventy es un SSG escrito en JavaScript que destaca por su flexibilidad. Soporta múltiples motores de plantillas (Nunjucks, Liquid, Handlebars, Markdown, JSX) y no te obliga a escribir JavaScript en el frontend si no quieres. Genera HTML limpio por defecto y se integra naturalmente con el ecosistema npm. Es popular entre desarrolladores web que prefieren Node.js y quieren algo más liviano que Next.js o Gatsby.

Flujo de trabajo típico

Sea cual sea el generador que elijas, el flujo es similar:

  1. Escribes tu contenido en archivos Markdown dentro del repositorio.
  2. Ejecutas el comando de build localmente para previsualizar (jekyll serve, hugo server o npx @11ty/eleventy --serve).
  3. Haces commit de los cambios y los subes a Git.
  4. El servicio de hosting (Cloudflare Pages, Netlify, Vercel o similar) detecta el push, ejecuta el build y despliega el sitio automáticamente.

Hosting económico

Lo mejor de un sitio estático es que puedes servirlo gratis o casi gratis. Cloudflare Pages y Netlify ofrecen planes gratuitos generosos con despliegue continuo desde Git, HTTPS incluido y CDN global. GitHub Pages es otra opción popular para proyectos pequeños. Si tu sitio crece, el salto a planes de pago sigue siendo barato porque no consumes CPU ni base de datos: solo ancho de banda.

En resumen, los generadores estáticos son una alternativa madura, rápida y económica cuando tu sitio no necesita lógica dinámica compleja. Vale la pena probarlos antes de asumir que "todo sitio necesita un CMS con base de datos".