Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Nuevas plataformas para blogs, recuperando la esencia del blogging

Imago voragine.net
[actualizado el ]

La tendencia actual de las plataformas de blogging es la simplicidad, tanto funcional como estética: gestores de contenidos con las capacidades imprescindibles para escribir y gestionar posts; interfaces de usuario limpias y mínimas que priorizan la experiencia de lectura por encima de todo. Una especie de vuelta a los orígenes, en la que se recupera la idea de que lo importante de tener un blog es escribir. Así están proliferando las plataformas de blogging sencillas y limitadas, que tienden hacia lo mínimo.

Probablemente la que más ruido está haciendo es Ghost, que pertenece al grupo de los que buscan la sencillez para que el autor tenga una experiencia deliciosa escribiendo, y el lector leyendo. En la misma línea está Anchor, menos conocido. Luego están los sistemas que se distinguen por no usar base de datos: Kirby pero que siguen siendo dinámicos. Y luego están los que no tienen base de datos y además funcionan como un sitio web estático, generado tras compilar una fuente, los llamados static website generators. En este último grupo destacan Jekyll, su derivado Octopus, también conocido como Octopress, y Pelican.

Me parece un acierto crear gestores de contenidos adaptados para blogs y dejar los más versátiles, como Drupal o WordPress, para gestionar sitios más complejos. Actualmente este blog funciona con WordPress, pero claramente se le queda grande. Me estoy planteando la migración a otro sistema más ajustado a las necesidades de voragine.net, alguno de los que he enumerado arriba. Las razones son fundamentalmente tres:

1. Los recursos consumidos por la base de datos

Desde que en montera34 tenemos nuestros propios servidores, hemos podido experimentar la cantidad de recursos que consume el servidor de base de datos SQL. Cuando trabajaba en la Biblioteca CF+S teníamos como servidor una máquina con 512 MB de RAM para alojar la web, que funciona sin base de datos, con páginas estáticas que se generan automáticamente usando HyperLatex cada vez que hay alguna modificación. La Biblioteca CF+S tiene cerca de 30.000 páginas y ocho millones de páginas vistas al año. La máquina en la que está alojado voragine.net empezó teniendo 256 MB de RAM, que tuvimos que ampliar a 512 MB; voragine.net tiene 625 páginas y algo más de 78.000 páginas vistas anuales. Aunque voragine.net comparte servidor con otras cuatro páginas con base de datos, la diferencia de rendimiento entre ambos sistemas es notable.

2. La rapidez de carga de la página

Cualquier web que funciona con base de datos se genera dinámicamente cada vez que hay una petición. Es decir, cada vez que un usuario visita una página generada dinámicamente, el servidor la «compone» tras consultar todas las tablas necesarias de la base de datos. Por ejemplo, cada vez que alguien visita la portada de este blog se hacen 28 consultas diferentes a la base de datos. Aunque voragine.net está por encima de la media en rapidez de carga, podría ser más rápida. La página generada no se almacena en el servidor, así que a la siguiente petición hay que volver a generarla.

En cambio una web estática solo se genera cada vez que hay una modificación: unos archivos fuente son compilados siguiendo unas reglas previamente definidas, y se generan todos los archivos HTML de la página, que quedan alojados en el servidor. Cada vez que hay una petición a una web estática, el tiempo de espera es mucho menor porque lo único que ocurre es que la máquina cliente se descarga el archivo HTML correspondiente.

Por otro lado, esto permite a su vez una mayor optimización de los recursos ya que se puede destinar una máquina a compilar la página y otra a alojarla. Por ejemplo, se puede compilar en un ordenador doméstico, en el que tendremos instalado todo el software necesario para hacerlo. Así, la máquina donde se aloje el blog únicamente tiene que tener instalado un servidor web, que consume pocos recursos, para servir los archivos.

3. Sencillez de uso y mantenimiento

Aunque actualmente los gestores de contenidos son muy sencillos de usar y mantener (excluyendo Joomla), el tiempo que tenemos que dedicar a actualizar, hacer copias de seguridad y demás labores no es despreciable, sobre todo si tenemos más de un blog.

Jekyll

De todos las plataformas de blogging que enumero arriba, Jekyll es la que más se justa a lo que necesito:

  • No tiene base de datos. Funciona alojando el contenido en archivos de texto, compatibles con Markdown.
  • Genera un blog estático. Tras instalar y configurar Jekyll, y generar algo de contenido, se puede compilar el sitio entero mediante una única orden en la línea de comandos.
  • No es necesario mantenimiento alguno. Tras la inversión de tiempo inicial en la instalación y la configuración de Jekyll, todo nuestro tiempo irá a escribir el contenido. Si compilamos el blog en nuestro ordenador personal y luego subimos los archivos HTML al servidor web, no hace falta preocuparse tampoco por hacer copia de seguridad.

Además, Jekyll combinado con git permite manejar un blog como un repositorio de código, controlando versiones y sincronizando en distintos ordenadores clones del sitio.

Los inconvenientes

Los gestores de contenido tipo Jekyll tienen dos problemas que me hacen dudar antes de elegirlos:

  • No tienen sistema de comentarios nativo. La solución más extendida entre los blogs que usan Jekyll es implementar Disqus, que gestina los usuarios y los comentarios en sus propios servidores. Para mí no es una solución depender de un servicio externo por motivos de autonomía. Actualmente hay un plugin para Jekyll que implementa sistema de comentarios nativo y mediante archivos estáticos. Aún no lo he probado. Hay otras soluciones que no acaban de convencerme, como usar un sistema de comentarios basado en el correo electrónico.
  • No tienen un buscador integrado. De nuevo, la solución es recurrir a servicios externos. En este caso se suele optar por usar Google como buscador limitado a nuestro blog. La razón por las que no me convence esta solución vuelve a ser la autonomía de mi blog. Implementar un buscador propio no es difícil pero hay que dedicarle cierto tiempo.

Otras alternativas

¿Alguna otra sugerencia?

1 comentario

Dejar un comentario

*
*

 

Un trackback