Un headless CMS es un sistema de gestión de contenidos que solo se encarga del backend: almacenar, organizar y editar el contenido. No genera las páginas web; en su lugar, entrega el contenido a través de una API (REST o GraphQL) para que cualquier frontend —una web, una app móvil o una pantalla— lo muestre como quiera.
¿Qué es un headless CMS?
El nombre viene de la idea de “quitarle la cabeza” al CMS. En un CMS tradicional, la “cabeza” es la capa de presentación: las plantillas y temas que convierten el contenido en páginas HTML. Un headless CMS elimina esa capa y se queda con el “cuerpo”: el panel de administración, el modelo de contenidos, los usuarios y permisos, y una API para consultar los contenidos.
El equipo de contenidos sigue trabajando en un panel de administración como el de cualquier CMS. La diferencia está en cómo llega ese contenido al usuario final: lo pide el frontend a la API y lo presenta con la tecnología que elija el equipo de desarrollo.
CMS tradicional vs headless CMS
CMS tradicional (acoplado), como WordPress o Drupal en su uso clásico:
- El backend y el frontend forman una sola aplicación.
- El contenido se muestra con los temas y plantillas del propio CMS.
- Pensado sobre todo para publicar una web.
- Rápido de poner en marcha para proyectos sencillos.
Headless CMS, como Strapi, Contentful o Sanity:
- El backend (contenido) y el frontend (presentación) son aplicaciones separadas.
- El contenido se entrega por API y el frontend se desarrolla con la tecnología que se quiera (por ejemplo, Next.js).
- El mismo contenido sirve para web, apps móviles y otros canales.
- Requiere desarrollar el frontend, pero da libertad total de diseño y rendimiento.
Cómo funciona un headless CMS
- Modelado de contenidos: se definen los tipos de contenido (por ejemplo, artículo, proyecto o producto) y sus campos.
- Edición: el equipo de contenidos crea y publica desde el panel de administración, sin tocar código.
- API: el CMS expone el contenido a través de una API REST o GraphQL.
- Frontend: la web o la app consulta la API y pinta el contenido. Con frameworks como Next.js, las páginas pueden generarse en el servidor o de forma estática para que carguen muy rápido y sean fáciles de indexar.
Arquitectura headless
Cuando se habla de arquitectura headless se hace referencia precisamente a esta separación: el contenido vive en un servicio y la presentación en otro, comunicados por APIs. Es una pieza habitual de las arquitecturas modernas de tipo composable o Jamstack, en las que cada parte (contenidos, búsqueda, pagos, autenticación...) es un servicio independiente que se puede sustituir sin rehacer todo el sistema.
Ventajas de un headless CMS
- Libertad tecnológica en el frontend: el equipo de desarrollo elige el framework y no depende de los temas del CMS.
- Omnicanal: un mismo contenido se publica en la web, en apps móviles o en cualquier dispositivo que consuma una API.
- Rendimiento: al combinarse con generación estática o renderizado en servidor, las webs suelen ser más rápidas, algo que también ayuda al SEO.
- Seguridad: el panel de administración y la base de datos no están expuestos en la web pública, lo que reduce la superficie de ataque. Además, no dependes de plugins o temas de terceros en la capa visible.
- Escalabilidad: frontend y backend escalan por separado.
- Evolución más sencilla: puedes rediseñar el frontend sin migrar el contenido, o cambiar de CMS sin rehacer la web.
Inconvenientes de un headless CMS
- Hay que desarrollar el frontend: no hay plantillas listas para usar, así que la inversión inicial es mayor.
- Vista previa: ver cómo quedará un contenido antes de publicarlo requiere configurarlo expresamente.
- Funcionalidades “de serie”: cosas que un CMS tradicional resuelve con un plugin (formularios, buscador, SEO) se tienen que construir o integrar.
- Más piezas que mantener: dos aplicaciones en lugar de una, con sus despliegues.
Ejemplos de headless CMS
- Strapi: de código abierto y basado en Node.js. Puedes alojarlo en tu propia infraestructura y ofrece API REST y GraphQL.
- Contentful: headless CMS comercial en la nube (SaaS).
- Sanity: plataforma de contenidos en la nube con un editor muy personalizable.
- Directus: de código abierto, se monta sobre una base de datos SQL existente.
- Drupal: aunque es un CMS tradicional, puede funcionar en modo headless o desacoplado gracias a sus APIs (JSON:API, REST o GraphQL).
- WordPress: también puede usarse como headless a través de su API REST.
¿Cuándo conviene usar un headless CMS?
Un headless CMS tiene sentido cuando:
- Necesitas publicar el mismo contenido en varios canales (web, app, etc.).
- El rendimiento y la experiencia de usuario de la web son una prioridad.
- Quieres un diseño totalmente a medida o usar un framework moderno como Next.js.
- Prevés que el frontend cambiará más a menudo que el contenido.
En cambio, para una web sencilla, con poco presupuesto y sin equipo de desarrollo, un CMS tradicional suele ser más práctico.
Cómo lo usamos en Digrup
Nuestra propia web funciona así: el contenido se gestiona en Strapi y el frontend está desarrollado con Next.js. Cuando un proyecto lo pide, también usamos Drupal como backend desacoplado. Si estás valorando una arquitectura headless para tu proyecto, hablemos.
Preguntas frecuentes
¿Qué significa “headless”?
“Headless” significa “sin cabeza”: el CMS no tiene capa de presentación propia y entrega el contenido por API para que otro sistema lo muestre.
¿Es lo mismo headless que desacoplado?
No exactamente. Un CMS desacoplado separa backend y frontend pero sigue incluyendo una capa de presentación propia; un CMS headless no tiene ninguna y solo ofrece la API.
¿Strapi es un headless CMS?
Sí. Strapi es uno de los headless CMS de código abierto más utilizados. Lo explicamos en detalle en qué es Strapi.
¿Un headless CMS es bueno para el SEO?
Sí, siempre que el frontend genere el HTML en el servidor o de forma estática (como hace Next.js) y gestione bien los metadatos, las URLs y el sitemap. El SEO pasa a depender más del frontend que del CMS.