Para crear un blog existen varias plataformas y herramientas, quizá la más común sea el CMS (Sistema de Gestión de Contenidos) WordPress el cual estaba usando hasta hace muy poco. Tenía mi propia instalación de WordPress alojada en el hosting que ofrece TresDe y funcionaba muy bien, no tengo quejas sobre él. WordPress es software libre, posee mucha documentación, temas y plugins, y puede adaptarse a necesidades muy variadas; para funcionar solamente necesita un servidor web con PHP y una base de datos MySQL o MariaDB, que para mi blog no necesita ser demasiado grande.
Pero también existen los generadores de contenidos estáticos, son una excelente alternativa a los CMS, permiten disponer de sitios web más simples, rápidos y seguros. Si bien pienso que no son aptos para todos los sitios cada vez más se posicionan como herramientas a tener en cuenta al momento de crear y mantener un blog. La diferencia principal de cualquier generador de contenido estático respecto a un CMS como Worpdress es evidente, las páginas son estáticas: HTML + CSS + JS.
¿Por qué?
Primeramente, mi decisión fue motivada por aprender, inicialmente pensé usar Hugo para aprender algo de Go, luego terminé migrando a Pelican que está escrito en Python. Usar un generador como Pelican es una experiencia muy distinta a WordPress, el ambiente para generar el sitio lo tengo preparado en mis PCs y sincronizado vía Nextcloud, escribo las publicaciones en archivos con lenguaje Markdown, una vez escrita una nueva publicación vuelvo a generar el sitio y hago un commit al repositorio de GitHub para que se actualice este sitio (que está montado sobre GitHub Pages). Muy distinto a abrir la interfaz de administración de WordPress, instalar actualizaciones de sistema, temas y plugins o escribir publicaciones con el editor web integrado, ¿verdad?
Ventajas
Más allá de la posibilidad de aprender, jugar con Python y git, hay algunas ventajas destacables en usar un generador de sitios estáticos:
- Las páginas se generan una sola vez, se suben al servidor y están listas para servirse. No es necesario generarlas en cada acceso, por lo que el sitio carga más rápido.
- Puedo prescindir de funciones innecesarias, el core de Pelican (y en general de cualquier generador) es muy simple, luego añado los plugins que necesito.
- Ahorro en alojamiento web / hosting, el sistema en general es más liviano, no requiere PHP o base de datos y el consumo de ancho de banda es menor.
- Existen sitios como GitHub, GitLab o Netlify que nos permiten alojar un sitio de forma gratuita y con soporte SSL.
- Es más seguro. No hay código o bases de datos en el lado del servidor, solamente páginas estáticas.
- Requiere menos mantenimiento, las actualizaciones se realizan en el ambiente local, y no actualizar periódicamente implica menos riesgos de seguridad que con un CMS.
- Versionado mediante git, el control de versiones se realiza automáticamente con cada commit.
- En caso de error es más simple volver atrás, se vuelve a generar y/o cargar el contenido estático en el servidor.
- Puedo escribir en Markdown con mi editor preferido, que en WordPress también podía pero no directamente.
- La estructura del generador y los temas suele ser simple, si se conoce el lenguaje es fácil realizar modificaciones.
- Tengo la carpeta del proyecto sincronizada y respaldada de forma automática, no necesito exportar bases de datos ni nada similar.
Por supuesto no todos son ventajas, es difícil realizar sitios complejos o con funcionalidades avanzadas debido a las limitaciones del contenido estático, además de necesitar algunos conocimientos de programación, manejo de git o línea de comandos. Pero aunque no tengas estos conocimientos, te invito a tomar contacto con el tema y probar alguno de los muchos generadores de contenidos estáticos, verás que son herramientas geniales.