Een headless CMS scheidt de opslagplaats voor content van de front-end presentatielaag. Content wordt opgeslagen als gestructureerde data en via een API geleverd, onafhankelijk van hoe of waar het wordt weergegeven.
In een traditioneel contentmanagementsysteem bevinden content en presentatie zich in hetzelfde systeem. Als je de content wijzigt, verandert het template mee. Een headless contentmanagementsysteem maakt een einde aan die afhankelijkheid.
De term 'headless' verwijst naar het verwijderen van de 'head', oftewel de front-end weergavelaag, uit de body van het CMS. Wat overblijft, is een gestructureerde opslagplaats voor content waarin items als data worden opgeslagen, onafhankelijk van hoe of waar ze worden weergegeven. Een front-endapplicatie van een developer vraagt deze content op via REST API’s, GraphQL API’s (of beide) en geeft deze weer volgens de eigen ontwerpregels.
Centraal in elk headless CMS staat het contentmodel: een verzameling gestructureerde contenttypen die de velden, relaties en indelingen voor elk item definiëren. Omdat aan deze typen geen visuele aannames zijn gekoppeld, kan hetzelfde contentitem er anders uitzien, afhankelijk van het kanaal waarin het wordt weergegeven.