Un CMS headless separa el repositorio de contenido de la capa de presentación front-end. El contenido se almacena como datos estructurados y se distribuye a través de una API, con independencia de cómo o dónde se vaya a mostrar.
En un sistema de gestión de contenido tradicional, el contenido y la presentación conviven en el mismo sistema. Si se modifica el contenido, la plantilla cambia con él. Un sistema de gestión de contenido headless acaba con esa dependencia.
El término "headless" hace referencia a la eliminación de la "cabeza", es decir, la capa de visualización front-end, del cuerpo del CMS. Lo que queda es un repositorio de contenido estructurado que almacena las entradas como datos, con independencia de cómo o dónde se vayan a mostrar. La aplicación front-end del desarrollador solicita ese contenido a través de API de REST, API de GraphQL (o ambas) y lo renderiza según sus propias reglas de diseño.
En el centro de cualquier CMS headless se encuentra el modelo de contenido: un conjunto de tipos de contenido estructurado que define los campos, las relaciones y los formatos de cada entrada. Como estos tipos no llevan asociadas suposiciones visuales, la misma entrada de contenido puede renderizarse de forma diferente según el canal que la consuma.