¿Qué es SSG?
También llamado: Static Site Generator, generador de sitios estáticos, sitio estático, Jamstack
Definición
Un SSG (Static Site Generator) es una herramienta que genera todas las páginas de una web como archivos HTML una sola vez, al publicar. El resultado es un sitio estático: rápido, barato de alojar y muy difícil de atacar.
En lugar de construir cada página cuando la pide un visitante, como hace un CMS tradicional, un generador como Jekyll, Hugo, Eleventy o Astro lee tus contenidos (normalmente en Markdown) y plantillas, y produce una carpeta de HTML, CSS e imágenes lista para subir a cualquier servidor o CDN.
Ejemplo
Un término de este diccionario es un archivo Markdown con datos en la cabecera:
---
title: DNS
categorias: [dns]
resumen: "El DNS traduce nombres de dominio en direcciones IP."
---
El DNS funciona como una agenda de contactos de Internet...
Al construir, Jekyll lo convierte en _site/termino/dns/index.html:
$ bundle exec jekyll build
$ ls _site/termino/dns/
index.html
Ventajas e inconvenientes
| A favor | En contra |
|---|---|
| Muy rápido: solo se sirven archivos | Cada cambio exige reconstruir |
| Sin base de datos ni código en el servidor: poca superficie de ataque | Lo dinámico (comentarios, búsqueda, formularios) requiere servicios externos o JavaScript |
| Hosting barato o gratuito | Editar suele requerir saber algo de Git y Markdown |
| El contenido se versiona con Git | Webs enormes pueden tardar en construirse |
Cosas que conviene saber
- Con CI/CD, cada cambio que subes a Git reconstruye y publica la web automáticamente.
- Los CMS «headless» permiten editar el contenido con un panel visual y alimentar con él un sitio estático.
¿Tienes un producto o servicio relacionado con SSG? Anúnciate en este término.
Términos relacionados
- SSRSSR (Server-Side Rendering) significa generar el HTML de cada página en el servidor en...
- SPAUna SPA (Single Page Application) es una web que carga una sola página HTML...
- CMSUn CMS (Content Management System) es una aplicación que permite crear y editar el...
- CDNUna CDN (Content Delivery Network) es una red de servidores repartidos por el mundo...
- CI/CDCI/CD (integración y despliegue continuos) es la práctica de automatizar las pruebas y la...
- GitGit es un sistema de control de versiones: guarda el historial completo de cambios...