¿Qué es Statamic? El CMS flat file para desarrolladores Laravel
Statamic es un CMS construido sobre el framework Laravel que guarda el contenido en archivos planos (lo que se conoce como flat file), normalmente en formato Markdown y YAML, en lugar de meterlo todo en una base de datos como hacen WordPress, Joomla o Drupal.
Dicho de otra forma: el contenido de tu web vive en ficheros dentro del propio proyecto, no en una tabla de MySQL. Y eso cambia bastantes reglas del juego.
Lo que pasa es que Statamic no es un CMS aislado. Es un paquete que funciona con Laravel, así que si ya vives en ese mundo (Blade, Composer, Artisan, Eloquent) no tienes que salir de tu stack para montar una web con gestión de contenido.
Aquí está la clave de por qué tanta gente del ecosistema PHP moderno lo elige y por qué está creciendo tanto en cuota de mercado: lo notas como una extensión natural de Laravel, no como una herramienta de fuera que te toca encajar a martillazos.
El corazón de Statamic es su modelo flat file.
El contenido se guarda en archivos Markdown y YAML dentro del propio proyecto, organizado en lo que Statamic llama collections (colecciones) y entries (entradas).
Una colección sería, por ejemplo, tu blog, y cada artículo es una entry: un archivo de texto con el contenido en Markdown y los metadatos en YAML (título, fecha, autor, lo que necesites).
El símil más fácil es este: en un WordPress tradicional, tu contenido está dentro de una base de datos MySQL, una caja negra que abres con phpMyAdmin o con consultas SQL; en Statamic tu contenido es una carpeta de archivos de texto que puedes abrir, leer y editar con cualquier editor.
Y aquí viene lo interesante: como el contenido son archivos dentro del proyecto, puedes versionarlo con Git igual que versionas el código.
Cada cambio en un artículo queda registrado en un commit, puedes hacer rollback, branches, pull requests sobre contenido… cosas que en un CMS con base de datos son directamente impensables sin montar un circo de exportaciones y migraciones.
La relación con Laravel es lo que de verdad diferencia a Statamic del resto.
No estamos hablando de un CMS que "se parece" a Laravel: es Laravel es la base.
Instalas Statamic como un paquete más vía Composer y tienes a tu disposición todo el ecosistema: Artisan para los comandos de consola, Eloquent si quieres tirar de base de datos en algún punto, el sistema de rutas, los middleware, los service providers… todo lo que ya conoces si trabajas con el framework.
Además, Statamic trae su propio motor de plantillas llamado Antlers, una sintaxis pensada para que la gente de contenido pueda tocar plantillas sin pelearse con PHP puro.
Pero si vienes de Laravel y Antlers no te convence, Statamic también soporta Blade, el motor de plantillas nativo de Laravel.
Así que puedes maquetar tus vistas con la sintaxis que ya dominas, reutilizar componentes Blade y no aprender nada nuevo si no quieres.
La clave de Statamic es que no es un CMS que vive aislado: funciona sobre Laravel, así que tienes Blade, Composer y Artisan a tu disposición desde el primer minuto.
Entonces... ¿de verdad funciona Statamic sin base de datos?
Sí, pero con un matiz importante: El flat file es el modo por defecto: instalas, escribes y todo tu contenido son archivos. Para una web corporativa, un blog o un portfolio con unas decenas o pocos cientos de entradas, esto va de maravilla y no necesitas ni levantar un MySQL.
Lo que pasa es que cuando el volumen de contenido crece de verdad (estamos hablando de miles o decenas de miles de entradas, o de listados con filtros y búsquedas muy pesadas), leer y recorrer archivos planos empieza a notarse y a penalizar el rendimiento.
Para esos casos, Statamic permite usar base de datos a través de su Eloquent driver, moviendo las entries a tablas y aprovechando la potencia de las consultas SQL.
Las ventajas de Statamic se entienden mejor en lista, porque son varias y bastante concretas:
Control de versiones del contenido con Git: Puedes usar Git para cada cambio en un artículo. Eso quiere decir que puedes revertir, comparar versiones y hacer despliegues de contenido junto al código.
Sin capa de base de datos que mantener en proyectos pequeños y medianos: menos piezas que se pueden romper, menos backups que cuadrar, menos mantenimiento.
Menor superficie de ataque: Si no hay base de datos expuesta, te quitas de encima toda una familia de ataques típicos como la inyección SQL contra la capa de contenido.
Panel de control moderno: El panel de administración de Statamic es limpio y agradable de usar, pensado tanto para desarrolladores como para los editores que van a meter el contenido.
Tienes Laravel debajo: Acceso completo a Composer, Artisan, Blade y todo el ecosistema, así que puedes extender la web con lógica propia sin las limitaciones de un CMS cerrado.
Ahora bien, no es oro todo lo que reluce, y Statamic tiene contras que conviene tener claras antes de empezar a utilizarlo:
Licencia de pago para uso comercial: A diferencia de WordPress, que es gratis y opensource, Statamic requiere comprar una licencia para proyectos comerciales. Es un coste que tienes que meter en la ecuación desde el principio.
Comunidad y ecosistema mucho más pequeños: Olvídate de los miles de plugins y themes que hay para WordPress. En Statamic encuentras menos extensiones, menos tutoriales y menos gente a quien preguntar cuando te atascas.
Curva de aprendizaje si no vienes de Laravel: Si no manejas Laravel, Blade ni Composer, Statamic se te va a hacer cuesta arriba. Aquí está pensado para developers, no para quien quiere montar una web sin tocar código.
El flat file no escala infinitamente: con mucho contenido tendrás que pasar a base de datos, y eso añade complejidad que en proyectos pequeños no tenías.
Puestos a comparar Statamic y WordPress, la respuesta corta es que juegan en ligas distintas y para públicos distintos.
WordPress es el CMS más usado del mundo: gratis, con una comunidad gigantesca, miles de plugins, filosofía no-code y base de datos MySQL o MariaDB. Cualquiera puede montar una web sin programar usando WordPress como CMS.
Statamic apunta a otro perfil: el desarrollador que ya trabaja en Laravel, que quiere flat file, control de versiones del contenido con Git y un CMS que viva dentro de su stack, y que no tiene problema en pagar una licencia comercial a cambio.
Ninguno es "mejor" en abstracto. Cada opción tiene su sitio y su público.
¿Para qué proyectos encaja entonces Statamic?
Pues sobre todo para webs corporativas, blogs, portfolios y sitios de desarrolladores que ya construyen sobre Laravel y quieren una capa de contenido cómoda sin salir del framework.
Si tienes un proyecto en Laravel + Statamic funcionando o en desarrollo y no acabas de ver qué recursos necesitas, puedes contactar con nuestro departamento comercial.
Te ayudamos a dimensionar el servidor VPS o el plan de hosting para desarrolladores que de verdad encaja con tu proyecto antes de que pagues por algo que se te quede corto o demasiado grande.
Álvaro Fontela
Consultor WordPress, además de CEO y cofundador de Raiola Networks. Autor del libro "Curso Práctico de WordPress" y speaker en congresos de marketing digital.
Autor
¿Te gusta nuestro contenido?
Si quieres ser el primero en leer nuestro contenido y enterarte de nuestras noticias.
HOSTING SSD desde 8,95€
Haz clic aquí¿Te ayudamos?
Escríbenos si tienes dudas o necesitas una solución específica
Categorías
Destacados