Alternativas a WordPress: CMS «sin» bases de datos
Actualmente, cuando hablamos de CMS (gestores de contenido web), WordPress es el líder indiscutible, sin ninguna duda. Con una amplia ventaja sobre otros, como Joomla o Drupal, sus rivales más cercanos, es la principal opción para la mayoría de usuarios que quieren publicar sus contenidos en Internet.
Y el motivo es lógico. WordPress es veterano, cada vez más cómodo, tiene una comunidad gigante de usuarios y una extensa colección de plugins para hacer prácticamente cualquier cosa.
Parte I: Alternativas a Wordpress: CMS sin bases de datos
Parte II: Alternativas a Wordpress: CMS con soporte SQLite
Parte III: Alternativas a Wordpress: Los mejores CMS dinámicos
Parte IV: Alternativas a Wordpress: Generadores estáticos
Parte V: Alternativas a Wordpress: CMS con soporte NoSQL
Sin embargo (y sólo en algunos casos), tras llevar un tiempo utilizando un CMS, es posible que comiences a ser cada vez más exigente: sientes pereza al escribir una nueva entrada porque es un proceso poco atómico (requiere varios clics y/o cansinos y repetitivos pasos), o al aumentar tus visitas comienzas a detectar que la velocidad y rendimiento de WordPress empeora o, simplemente deja de funcionar, ya que se trata de un CMS dinámico (construye páginas en cada petición), etc.
Existen muchas formas de mejorar el rendimiento de WordPress para evitar que se caiga tu web (instalar plugins de caché, cambiar a un servidor más potente, utilizar un CDN, etc...), pero en ciertos casos, lo más sencillo puede ser volver a las soluciones más simples.
Modelo basado en ficheros de texto (flat-based)
A pesar de que muchos gurús del marketing venden los CMS de texto plano (en inglés, databaseless o flat-file based) como una revolución, no es (en absoluto) la panacea. Utilizar un modelo de ficheros de texto como base de datos no es una revolución, sino una involución, puesto que es el modelo que se usaba antes de las bases de datos actuales.
Si conoces (o eres) uno de estos personajes que defienden a ultranza las bases de datos en texto plano sin saber a ciencia cierta sus características, ten en cuenta que las bases de datos actuales evolucionaron de dichas estructuras simples de ficheros, buscando una mayor eficiencia y versatilidad. Y lo han conseguido.
No obstante, opino que estos CMS pueden ser interesantes en ciertos escenarios muy concretos. De hecho, la filosofía de bases de datos alternativas como SQLite se basan en utilizar ficheros independientes como base de datos (y son usadas en aplicaciones como Firefox o Skype).
Pero volviendo a nuestro tema, dichos CMS simples (sin bases de datos) tienen algunas particularidades que cabe destacar:
- Suelen estar orientados a usuarios con un perfil medio-avanzado.
- Son ideales para sitios/blogs sencillos, que no requieren alta complejidad.
- Reduce recursos/costes de alojamiento al omitir la base de datos (VPS o superiores).
- Se pierden características deseables: búsquedas, ordenación, filtros, etc...
- Se tiende a externalizar los comentarios, con sistemas como Disqus o FBC.
- Es fácil de mantener: reduce complejidad de instalación, migración o actualización.
- Suele aumentar la productividad en usuarios avanzados al ser más simple.
No voy a extenderme demasiado en estos puntos. Hay dos artículos que resumen bastante bien mi opinión al respecto: Why use a Database with a small CMS?, de All in The Head, y Will flat-file dethrone WordPress? Unlikely, de Mor10.
En esta primera parte del artículo veremos varios CMS simples, que no requieren base de datos y podrían ser útiles en casos concretos que cumplan uno o varios de los requisitos anteriores. En las siguientes partes abordaremos otro tipo de CMS como los generadores estáticos o CMS dinámicos alternativos.
1. TextPress
TextPress es uno de los CMS simples más interesantes y sencillos, orientado para programadores iniciados en PHP. Está construido con el microframework SlimFramework y está preparado para editar su archivo de configuración y establecer los parámetros apropiados para poner a funcionar Google Analytics o Disqus, así como atributos o secciones del blog.
Para crear entradas, basta con crear archivos de texto en formato Markdown en la carpeta articles y automáticamente gestionará y creará la estructura de la web. Es muy útil, puesto que puedes crear artículos rápidamente con un editor de texto o mediante herramientas como Markable o Dillinger.
Además, por defecto, TextPress (al igual que la mayoría de estos CMS) genera su propio caché estático particular, de modo que al acceder por primera vez a un artículo, los siguientes accesos serán instantáneos, reduciendo la carga del servidor de sitios con alto tráfico. También permite publicar artículos directamente a través de Git.
URL | TextPress
2. Gp|Easy CMS
No por nada este CMS tiene la palabra «fácil» en el título. Gp|Easy CMS es un gestor de contenidos muy cuidado y completo, con la característica estrella de disponer de una interfaz visual por completo. Todo se puede hacer a través de menús.
Tras un pequeño y breve proceso de instalación, puedes comenzar a personalizar tu sitio mediante su agradable y cómodo panel: subir archivos, arrastrar y soltar temas para activarlos, múltiples usuarios, etc... Respecto al creador de entradas, puedes utilizar un panel flotante al más puro estilo de un procesador de textos, dónde encontrarás todo lo necesario, desde funciones de copiar y pegar hasta emoticonos, código fuente o plantillas predefinidas.
El sistema también ofrece la plataforma gpEasy para crear tu propio blog en dicha web, del estilo tunombre.gpeasy.com. Es software libre y puedes encontrar más detalles en gpEasyCMS en GitHub.
URL | gpEasy CMS | Demo
3. Monstra
Monstra es un sencillo y flexible CMS multiusuario. Está especialmente desarrollado para ser sencillo de utilizar y con una interfaz agradable. Sorprende por la agradable accesibilidad de la que dispone, pudiendo configurar cosas como el idioma o la instalación en cuestión de segundos. Eso sí, por defecto, la edición de entradas es en formato HTML, aunque dispone de editores alternativos en los plugins.
Para los desarrolladores, Monstra utiliza Twitter Bootstrap y posee una interesante API con la que se pueden desarrollar plugins, temas y algunas otras cosillas. El código es software libre y puedes encontrar MonstraCMS en GitHub.
4. PicoCMS
Estúpidamente simple. Así se define PicoCMS, un gestor de contenidos ultra-simple, orientado a usuarios avanzados, ya que no dispone de panel de control. Todo se gestiona a través de un explorador de archivos. Cada entrada del CMS es un archivo independiente en formato Markdown, permitiendo también especificar ciertos detalles como el título, metadescripción u otros.
Utiliza Twig para gestionar los temas, además de incorporar varios plugins para extender funcionalidades. Tienes el código fuente en la página de PicoCMS en GitHub.
URL | PicoCMS
5. HTMLy
HTMLy es uno de los CMS con aspecto más tradicional. Su instalación se reduce a descargar y extraer el contenido y editar el archivo config.ini, situado en la carpeta config. Tras esto, sólo queda crear nuestro usuario de la misma forma, esta vez en la carpeta config/users y... ¡listo!.
Permite crear entradas utilizando formato Markdown así como crear backups. Como inconvenientes, el editor es muy básico y no da facilidades para subir tus propias imágenes al servidor, permitiendo sólo incorporar la dirección de imágenes externas. No obstante, es un excelente sistema para publicar contenido de una forma rápida y sencilla. Tienes más información en la página de HTMLy en GitHub.
6. FlatPress
FlatPress es un gestor de contenidos que tiene como objetivo ser un clon lo más fiel posible de WordPress, y captar así a los usuarios que acostumbran a utilizar este popular CMS. Entre sus características, a parte de no necesitar base de datos, FlatPress permite crear widgets, activar o desactivar plugins, crear secciones estáticas, subir archivos, etc...
Su sistema de edición de entradas utiliza BBCode. Puedes encontrar múltiples plugins, así como temas que utilizan Smarty como motor de plantillas.
7. Dropplets
Al igual que PicoCMS, este gestor de contenidos carece de panel de control de administración, utilizando el mismo sistema de buscar los archivos con formato Markdown y creando la estructura automáticamente, por lo que es ideal para escribir los artículos offline (y subirlos posteriormente) o con nuestro editor de código preferido.
Es aún más sencillo y minimalista que PicoCMS, si cabe, por lo que en menos de 30 segundos tienes el CMS funcionando. En la página de Dropplets en GitHub tienes más información.
URL | Dropplets
8. BlazeBlogger
BlazeBlogger se define como un CMS «sin límites», y está especialmente indicado para desarrolladores, administradores de sistemas y programadores, ya que no entra dentro de las categorías anteriores. Se trata de un gestor de contenidos que funciona por línea de comandos y es muy similar a git.
Mediante una serie de comandos puedes realizar varias acciones, como crear un sitio web, listar/añadir/editar o eliminar entradas, entre otras funciones. Su principal característica es que funciona como generador de contenido estático desde nuestro propio equipo (está hecho en Perl) y el código resultante no requiere bases de datos ni lenguaje de programación del lado del servidor, como PHP u otros.
URL | BlazeBlogger
9. StaceyApp
StaceyApp es un CMS extremadamente ligero diseñado para «colocar-y-listo». No requiere instalación ni tiene panel de control. Por defecto, incorpora un diseño «pelado» sin tema, indicado especialmente para ser ligero y aplicarle la apariencia que consideremos adecuado o diseñarla desde cero partiendo de un esqueleto básico.
El sistema de creación de entradas es el más rudimentario de la lista, puesto que se basa en la creación de carpetas y archivos de texto plano (documentos .txt). También se pueden incorporar archivos adjuntos en la misma carpeta. Tienes más información, junto al código fuente en Stacey en GitHub.
URL | StaceyApp
10. PivotX
PivotX es un CMS basado en PHP que permite tanto utilizar bases de datos tradicionales MySQL, así como archivos independientes. Utiliza TinyMCE como editor de entradas y tiene soporte para múltiples usuarios y múltiples sitios web en el mismo CMS. Utiliza Smarty como motor de plantillas y soporta comentarios de forma nativa. Tiene una amplio catálogo de temasy extensiones para personalizarlo.
URL | PivotX
11. OctoberCMS
Un CMS que apunta alto es October, el cuál permite crear entradas mediante ficheros en formato HTML (.htm), texto plano (.txt) o Markdown (.md). Está a medio camino entre un CMS y un framework orientado a la creación de páginas, ofreciendo especial importancia a la actualización dinámica mediante AJAX.
Desgraciadamente, en el momento de escribir este artículo, el CMS aún permanece en fase de desarrollo mientras finalizan detalles, pero aseguran dar noticias muy pronto.
URL | OctoberCMS
12. PyBlosxom
PyBlosxom es un CMS basado en Python que evoluciona del CMS Blosxom, modernizándolo por completo. Se basa en un sistema de archivos de texto sin bases de datos y es altamente personalizable y extensible. Ideal para aquellos que se sienten más cómodos con Python que con PHP.
URL | PyBlosxom
13. Get Simple CMS
Por último, Get Simple CMS ofrece un entorno agradable para crear nuestras páginas y artículos de un modo tradicional y sencillo, apto para todos los públicos. El editor permite crear contenido de forma visual o directamente a través de HTML, así como subir archivos, añadir temas o plugins y hacer backups en apenas un par de clics. El contenido es guardado en archivos con formato XML, al igual que lo hacen otros CMS como Drukkar.
URL | Get Simple CMS | Demo