Qué es un CMS
CMS - Sistema de gestión de contenido, básicamente un sistema para gestionar un sitio web; WordPress es el más conocido.
Por qué no WordPress
No quiero usar WordPress porque no me gusta la experiencia de desarrollo de la interfaz. Prefiero hacerlo mediante código. Sin embargo, me gusta la simplicidad de escribir entradas de blog con él y lo potente que puede llegar a ser con todos sus plugins. Pero si no necesitas muchas cosas, un sitio estático simple y gratuito es todo lo que necesitas: 9 USD al año sin necesidad de un servidor.
Ahora añade un CMS de código abierto y listo.
Encontrar el CMS
He estado probando varios CMS diferentes como Tina, Netlify y Sanity en los últimos meses.
El CMS que uso ahora mismo es Tina, creo que está bien. Pero la plantilla que usé con Astro tiene algunos problemas por aquí y por allá. No ha sido precisamente una travesía tranquila, pero al menos funciona.
En esencia, solo quería un blog simple de sitio estático. Estaba usando Netlify (Decap) con mi sitio de 11ty, pero quería probar algo nuevo, así que ahora uso Astro con Tina para experimentarlo.
Lo que ojalá hubiera sabido
Mientras investigaba TODOS los CMS que la gente recomendaba en Reddit, me topé con Sanity y Payload.
Ojalá hubiera sabido la diferencia entre un CMS headless y uno no headless.
CMS headless vs CMS no headless
Lo que Sanity y Payload hacen de forma diferente es que son headless.
Un CMS headless significa que el contenido (por ejemplo, entradas de blog, páginas) está separado de tu front-end. Los datos se almacenan en un servidor, ya sea autoalojado o alojado en su nube. Y tu front-end simplemente llama a la API para recuperar esos datos en formato JSON.
Con un CMS no headless como el que he usado —Netlify o Tina CMS— funcionan sin un servidor. El sistema de «administración» simplemente te muestra los datos de tu sitio web y hace cambios en ellos directamente, y luego reconstruye todo el proyecto para producción. Además, las entradas de blog se escriben en Markdown, así que cada vez que escribes una nueva entrada, hay un nuevo archivo .md en tu carpeta de origen.
Así que uno con servidor, otro sin él. Uno podría decirse que usa JSON, y el otro usa Markdown.
Y, por supuesto, el que no tiene servidor es más fácil de configurar y tiene un menor coste de funcionamiento en la mayoría de los casos.
Lo que no entiendo
Hay tantísimos CMS por ahí que ya he omitido un montón. Cada uno funciona un poco diferente, pero en su mayor parte son iguales.
Entiendo por qué la gente simplemente recurre a WordPress. Tiene una larga historia, todo el mundo sabe usarlo, y es potente y escalable, te guste o no.
En cuanto a alternativas, Sanity está bien porque tiene un generoso plan gratuito sin necesidad de alojar tu propio backend. Para facilidad de uso, quizá Netlify y Tina sirvan. Pero cuando quieres escalar, Sanity parece una mejor opción. O puedes volver a WordPress.
Sin embargo, lo que no entiendo es si es headless o no, si es Markdown o no, ¿cómo importa eso a largo plazo?
Supuestamente, un backend de CMS headless autoalojado puede funcionar durante mucho tiempo, sin dependencia de proveedor. Pero aun así tienes que adaptarte a usar el sistema de CMS headless de alguien para almacenar y recuperar los datos.
Mientras que Markdown, por otro lado, básicamente funciona en todos los CMS no headless. Solo que quizá necesites almacenar miles de archivos Markdown en tu sitio, si no más, y eso no parece una solución a largo plazo.
Conclusión
Así que ya no me importa.
Simplemente usa lo que te guste y espera hasta que la entrada de blog llegue a decenas de miles. Para entonces ya debería estar ganando algo de dinero para contratar a un desarrollador que haga la migración a un CMS nuevo y sofisticado en ese momento. La verdad es que no quiero agobiarme por eso.