Alle functionaliteiten van headless CMS’en in één overzicht
Business28 september 2021

Alle functionaliteiten van headless CMS’en in één overzicht

Het aanbod van headless contentmanagementsystemen is enorm en iedere oplossing heeft zo z’n eigen plus- en minpunten. Overweeg je een headless CMS? Dit artikel geeft een overzicht van alle mogelijke functionaliteiten van headless en helpt je een weloverwogen keuze te maken.

Wat is een headless CMS?

In tegenstelling tot een traditioneel CMS is een headless CMS een contentmanagementsysteem zonder frontend. Er is wel een backend-userinterface (UI) om de content te beheren, maar de content wordt alleen getoond met behulp van een API (Application Programming Interface). De developer bouwt een aparte frontend en gebruikt deze API om de data aan de eindgebruiker te tonen.

De weergave loskoppelen van het contentmanagementsysteem maakt het makkelijker om content op verschillende kanalen te gebruiken, zoals mobiele apps en smartwatches. Ook kunnen developers zelf kiezen welke frontend-technologie ze gebruiken, waardoor de afhankelijkheid van het CMS-platform aanzienlijk afneemt.

In tegenstelling tot een traditioneel CMS is een headless CMS een contentmanagementsysteem zonder frontend.

In dit artikel beschrijven we de beschikbare functionaliteiten, die in de volgende vier categorieën zijn onderverdeeld: Content bewerken, Content structureren, Techniek en Ecosysteem.

Geen tijd om het volledige artikel te lezen? Download de checklist hieronder.

Download checklist

Gebruik onze gratis headless content management checklist om bij te houden welke features belangrijk voor je zijn.
Download

Content bewerken

Functionaliteiten die contenteditors ondersteunen in hun dagelijkse werkzaamheden.

What You See Is What You Get (WYSIWYG)

De termen WYSIWYG en headless zijn zo tegenstrijdig als maar zijn kan. Ironisch genoeg lijkt dit ook de grootste onderscheidende factor tussen de headless CMS’en die op de markt zijn. Met een WYSIWYG-editor kunnen contenteditors de content op de pagina zelf bewerken, zonder de preview-modus te hoeven gebruiken.

De WYSIWYG-functionaliteit van Builder.IODe WYSIWYG-functionaliteit van Builder.IO

In zijn puurste vorm heeft een headless CMS geen WYSIWYG-functionaliteit. De contenteditor bewerkt de content in een basisweergave, zonder website-specifieke opmaak. Om te voorkomen dat je bij het publiceren van de content voor verrassingen komt te staan, is er vaak wel een manier om een preview van de content op de website te bekijken (daarover later meer).

Content bewerken zonder opmaak in ContentfulContent bewerken zonder opmaak in Contentful

Stel, je wil een nieuwsbericht toevoegen aan de nieuwspagina van je website. Het nieuwsbericht heeft een titel en een rich-text-veld. Voor dit soort pure content heb je meer dan genoeg aan een preview-modus, het is niet nodig de velden te bewerken in een WYSIWYG-editor. Maar voor andere soorten content is het beheren van de visuele aspecten vaak wél wenselijk.

Denk bijvoorbeeld aan de homepage van een webshop, onderverdeeld in verschillende secties met hero-images en promotieblokken. Eén optie is om altijd een frontend-developer in te schakelen wanneer je iets op de homepage aanpast. Dan weet je zeker dat de wijzigingen de lay-out of web-vitals (zoals de prestaties) van de pagina niet verstoren. Maar aan de andere kant biedt deze werkwijze de contenteditors en marketeers in je team niet veel flexibiliteit.

De andere optie is om een model te bouwen in een headless CMS door aparte templates te maken voor je homepage, hero-image en promotieblok. Dit biedt contenteditors de mogelijkheid om de afbeeldingen en blokken zelf toe te voegen aan sectievelden in het homepage-item.

Vereenvoudigd contentmodel waarmee contenteditors de homepage kunnen aanpassenVereenvoudigd contentmodel waarmee contenteditors de homepage kunnen aanpassen

Hoewel contenteditors op deze manier in ieder geval een deel van de pagina kunnen beheren, is dit niet per se de meest gebruiksvriendelijke werkwijze. Sommige headless CMS’en voegen daarom functionaliteiten toe om dit te faciliteren. Kentico Kontent biedt bijvoorbeeld Web Spotlight, waarmee contenteditors deze componenten visueel kunnen toevoegen in de preview-modus. Andere headless CMS’en, zoals builder.io, gaan nog een stap verder met een gekoppeld frontend-framework van alle componenten. Deze optie biedt in feite alle functionaliteiten van WYSIWYG, en hoewel de gebruiker hierbij nog steeds profiteert van bepaalde voordelen van een headless CMS, kun je je afvragen of het nog wel zo genoemd mag worden.

Kentico Kontent maakt het bewerken van content in context mogelijk met Web SpotlightKentico Kontent maakt het bewerken van content in context mogelijk met Web Spotlight

Preview-functionaliteit

De meeste headless CMS’en beschikken over een vorm van preview-functionaliteit. In principe bewerk je de content in conceptmodus en zie je de wijzigingen pas in de lay-out wanneer je het item publiceert. Met de preview-modus kunnen contenteditors de conceptversie in de lay-out van de website bekijken zonder het item eerst te publiceren.

Vaak is hier wel wat programmeerwerk voor nodig. De code die toegang geeft tot de content moet de conceptversie vanuit de preview-modus kunnen opvragen, en de preview-URL’s moeten worden geconfigureerd in het CMS. Het is meestal nodig om dit voor ieder content-item afzonderlijk te doen. Daarom is het aan te raden om in de ontwikkelfase expliciete eisen te stellen aan het configureren en testen van de preview-modus.

Het is aan te raden om in de ontwikkelfase expliciete eisen te stellen aan het configureren en testen van de preview-modus.

Workflow

De meeste systemen hebben een basisworkflow met minimaal de statussen Concept en Gepubliceerd. In bepaalde systemen kun je de workflow volledig aanpassen aan je eigen bedrijfsprocessen. Moeten contentwijzigingen eerst worden gecontroleerd door een andere contenteditor? Mag iedereen content publiceren of is toestemming nodig van iemand met specifieke rechten? Dit soort stappen kun je opnemen in een aangepaste workflow.

Planning

Met deze functionaliteit kun je bepaalde wijzigingen automatisch publiceren op een vooraf vastgestelde datum. Dit kan bijvoorbeeld heel handig zijn bij een marketingcampagne met veel content die op een specifiek moment zichtbaar moet zijn. De meeste headless CMS’en bieden deze functionaliteit wel in een of andere vorm aan. In sommige gevallen kun je alleen afzonderlijke items inplannen, terwijl het in andere gevallen mogelijk is om items te groeperen in een release die je op de gewenste datum live zet. Items groeperen in een release die je in één keer kunt publiceren is een handige functionaliteit als campagnes op een specifiek moment live moeten gaan.

Items groeperen in een release die je in één keer kunt publiceren is een handige functionaliteit als campagnes op een specifiek moment live moeten gaan.

Versiebeheer

Met versiebeheer hou je bij wanneer een item is gewijzigd. In sommige systemen beslaat dit niet meer dan een lijst met de datum en auteur van de wijziging, maar andere gaan zo ver dat je precies kunt zien wat er in welke versie is gewijzigd. Een terugzetfunctie (rollback) is superhandig als je oudere versies van contentitems wilt kunnen herstellen.

Kentico Kontent laat precies zien welke wijzigingen er in welke versie zijn gemaaktKentico Kontent laat precies zien welke wijzigingen er in welke versie zijn gemaakt

Lokalisatie

Wanneer een CMS ondersteuning biedt voor lokalisatie, heb je de mogelijkheid om contentitems in verschillende talen te bewerken. Sommige systemen gaan nog een stapje verder met functionaliteit om een vertaaldienst te integreren. Opvallend is dat de meeste headless CMS’en hun algemene userinterface alleen in het Engels aanbieden. Als er gebruikers met het systeem gaan werken die de Engelse taal niet voldoende beheersen, is het dus verstandig om een meertalige UI als eis op te voeren in de ontwikkelfase.

Opvallend is dat de meeste headless CMS’en hun algemene userinterface alleen in het Engels aanbieden.

Rollen en rechten

Welke mogelijkheden zijn er om de toegang tot bepaalde content te beperken? Is het bijvoorbeeld mogelijk dat een bepaalde gebruiker alleen content voor specifieke contenttypes kan beheren? Of alleen content kan toevoegen in een specifieke taal? Of misschien wel content kan zien, maar niet kan bewerken? Normaal gesproken zou je dit opvangen met specifieke rechten, maar niet elk CMS biedt deze mogelijkheid. Het gevolg is dat iedere gebruiker met toegang tot het project alles kan aanpassen. In sommige systemen is het wel mogelijk om rechten te specificeren voor bepaalde contenttypes, en bij een aantal kan dit zelfs voor individuele contentitems.

Samenwerking

Toen werknemers tijdens de coronapandemie ineens vanuit huis moesten werken, zagen bedrijven zich genoodzaakt om hun bedrijfsprocessen en middelen tegen het licht te houden. Wat voor invloed heeft dit gehad op headless CMS’en en welke mogelijkheden voor online samenwerken bieden ze? Voorheen werkte het team misschien nog met een fysieke contentkalender op kantoor, maar toen COVID-19 de kop opstak, was de behoefte aan een online alternatief ineens groot. Dat kan bijvoorbeeld met een geïntegreerde contentkalender in het CMS. Bij verschillende systemen kwamen we onder meer de volgende samenwerkingsfunctionaliteiten tegen:

  1. Taakbeheer - taken toevoegen en toewijzen aan teamleden, en je toegewezen taken bekijken
  2. Opmerkingen - content bespreken met collega’s door opmerkingen toe te voegen (ook te gebruiken voor het controleren van content)
  3. Contentkalender - content plannen

Agility CMS biedt de mogelijkheid om taken toe te voegen en aan teamleden toe te wijzenAgility CMS biedt de mogelijkheid om taken toe te voegen en aan teamleden toe te wijzen

Meerdere sites beheren

Heb je meer dan één website in beheer? En hebben deze sites gedeelde content? Verschillende CMS’en bieden functionaliteiten voor het beheren van meerdere sites. Wanneer de websites geen gedeelde content hebben en verschillende teams verantwoordelijk zijn voor de content, is werken met afzonderlijke projecten vaak het eenvoudigst. Wel gedeelde content? Sommige CMS’en bieden zelfs de mogelijkheid om content tussen projecten of omgevingen te delen. Bij andere systemen kan alleen content in hetzelfde project worden gedeeld. In de praktijk betekent dit vaak dat je ook dezelfde workflowconfiguratie moet delen.

Een belangrijk aandachtspunt bij gedeelde content: is het mogelijk om de toegangs- en bewerkingsrechten van het ene team te beperken voor de content van het andere team?

Afhankelijk van je specifieke CMS en welke ondersteuning het systeem biedt om meerdere websites te beheren, kan het werken met afzonderlijke projecten of omgevingen een grote invloed hebben op het kostenplaatje. Als je meerdere sites wilt beheren, is dit een van de meest cruciale factoren bij het kiezen van een headless CMS. Zet dit punt dus bovenaan je prioriteitenlijstje!

Als je meerdere sites wil beheren, is dit een van de meest cruciale factoren bij het kiezen van een headless CMS.

Digital Asset Management

Alle headless CMS’en bieden wel een basisfunctionaliteit om digitale assets te uploaden en hier vanuit content naar te linken. De verschillen tussen systemen zitten ‘m onder andere in het toevoegen van metadata en de mogelijkheid om assets te bewerken, bijvoorbeeld het bijsnijden en verkleinen van afbeeldingen. Sommige headless CMS’en bieden ook een CDN, een content delivery network, als host voor de assets. Afhankelijk van het CMS kunnen er extra kosten verbonden zijn aan het gebruik van een CDN. Het is daarom verstandig om te onderzoeken wat in financieel opzicht de slimmere keuze is: een extern CDN of hosting op maat.

Navigatie

De userinterfaces van de meeste headless CMS’en blinken uit in eenvoud. De content wordt doorgaans getoond in één lange lijst, die je kunt filteren op tekst, contenttype, auteur etc. Sommige systemen bieden de mogelijkheid om content te groeperen met tags of taxonomieën, terwijl je met andere systemen ook items in collecties of groepen kunt sorteren. Dat laatste is vaak een verademing voor contenteditors die gewend zijn aan de mappenstructuur van een meer traditioneel CMS. De verschillen tussen headless CMS’en zijn op dit vlak over het algemeen verwaarloosbaar.

Integraties

Bij bepaalde headless CMS’en is het mogelijk om andere diensten of apps – veelal beschikbaar via een marktplaats – te integreren. Denk aan een integratie met Google Analytics om contentprestaties bij te houden, of een integratie met een e-commerceplatform om content aan producten en categorieën te linken. Als je een andere dienst wil integreren, kun je veel programmeertijd besparen door een CMS te kiezen dat deze integratie al in zich heeft.

Als je een andere dienst wil integreren, kun je veel programmeertijd besparen door een CMS te kiezen dat deze integratie al in zich heeft.

Content structureren

Om content te kunnen bewerken, heb je een contentstructuur nodig. De volgende functionaliteiten ondersteunen je hierbij.

Veldtypes

Bij het ontwikkelen van een nieuwe contentstructuur heb je minimaal de volgende veldtypes nodig:

  • Text
  • Rich text
  • Boolean (ja / nee)
  • Datetime
  • Number

Misschien nog wel belangrijker is de optie om validaties en helpteksten toe te voegen – een uitstekende manier om foutmeldingen op de website als gevolg van ongeldige content te voorkomen. Een andere belangrijke functionaliteit is de optie om een helptekst aan de velden toe te voegen. In deze helpteksten neem je bijvoorbeeld instructies voor de contenteditors op, zoals waar het veld gebruikt wordt. Validaties en helpteksten vergroten de gebruiksvriendelijkheid voor contenteditors aanzienlijk.

Validaties en helpteksten vergroten de gebruiksvriendelijkheid voor contenteditors aanzienlijk.

Secties

Met secties kun je velden groeperen, zodat contenteditors een meer gestructureerd overzicht van het contentitem te zien krijgen.

Contentstructuur met secties in PreprContentstructuur met secties in Prepr

Herbruikbare contenttypes

Het kan handig zijn om een mechanisme te hebben voor hergebruik van een bepaalde set velden. Dit zie je vaak bij SEO, waarbij SEO-zoekwoorden en SEO-omschrijvingen gekoppeld worden aan content. In plaats van deze velden voor ieder contenttype opnieuw te moeten definiëren, bieden sommige CMS’en de mogelijkheid een bepaald contenttype met die velden te definiëren, en dit vervolgens toe te voegen aan ieder contenttype waarop het van toepassing is.

Techniek

Misschien niet even zichtbaar, maar minstens zo belangrijk. Hieronder delen we enkele niet-functionele mogelijkheden die een CMS kan bieden.

API

Een API (Application Programming Interface) wordt door developers gebruikt om toegang te krijgen tot de content, zodat deze op de website kan worden getoond.

De meeste headless CMS’en werken met een REST-interface (Representational State Transfer), de standaard manier om een online API te ontsluiten. Andere systemen gebruiken een GraphQL-interface, de nieuwkomer op de markt. GraphQL is ontwikkeld door Facebook en gebouwd om API’s zowel beter vindbaar te maken als efficiënter in het verzenden van data. Wat ons betreft is de mogelijkheid om de API te verkennen met een online tool een van de grootste pluspunten van GraphQL. Dit maakt het voor developers namelijk veel eenvoudiger om met de API te werken.

De beschikbare tooling voor GraphQL maakt het makkelijk om API’s te vinden en te verkennenDe beschikbare tooling voor GraphQL maakt het makkelijk om API’s te vinden en te verkennen

SDK's

Een SDK (Software Development Kit) is niet per se noodzakelijk om een API in te voegen, maar maakt het de developer wel makkelijker. Meestal is er op z’n minst een JavaScript-SDK beschikbaar. Een tip: ga na of de beschikbare SDK’s compatibel zijn met de programmeertalen die je teams gebruiken. Vaak zijn SDK’s open source. Controleer in dat geval of ze wel actief worden onderhouden en of de documentatie up-to-date is.

Webhooks

Webhooks maken het mogelijk om op systeemevents in te spelen en publicatieprocessen te automatiseren. Op deze manier kun je bijvoorbeeld een contentitem via een externe zoekserver laten indexeren wanneer het item wordt gepubliceerd.

Contentmigratietools

Sommige systemen hebben tooling om content uit een bestaand CMS te migreren. Dit kunnen kant-en-klare tools zijn om data uit een CMS zoals WordPress te migreren, maar ook bibliotheken die het makkelijker maken om content te migreren die wat maatwerkcode nodig heeft.

Uitbreidbaarheid

Deze technische functionaliteit biedt de mogelijkheid om de UI van je CMS uit te breiden en wordt ook vaak gebruikt om integraties in te bouwen. Denk aan integraties met e-commerceplatforms waarbij vaak een nieuw veldtype wordt toegevoegd om daarmee een product of categorie van het e-commerceplatform te selecteren. Als je verwacht de UI te moeten uitbreiden, is het verstandig om vooraf te controleren of het CMS dat je overweegt de benodigde uitbreidbaarheid biedt. Bij sommige systemen kun je alleen aangepaste veldtypes en validaties toevoegen, terwijl dat bij andere systemen met hele schermen mogelijk is.

Nog iets om in het achterhoofd te houden: als je veel maatwerk nodig hebt, is het waarschijnlijk beter om een headless CMS te kiezen dat alleen op data focust. Als je bijvoorbeeld kiest voor sanity.io, heb je geen gehoste backend-UI, maar een backend-UI die je zelf host en volledig aan je wensen kunt aanpassen.

Hosting

Een headless CMS kan prima worden ingezet als Software as a Service (SaaS). De meeste headless CMS’en bieden SaaS ook aan. Dit heeft een hele berg voordelen: je hoeft bijvoorbeeld geen infrastructuur te onderhouden, de software wordt automatisch geüpdatet, en nog veel meer. Maar misschien biedt het CMS dat het beste bij je eisen past geen SaaS, of kun je SaaS om juridische of bedrijfstechnische redenen niet gebruiken. Als je een on-premise CMS nodig hebt, maak hiervan dan de eerste voorwaarde bij het selecteren van potentiële CMS’en.

Content Delivery Network (CDN)

Sommige CMS’en werken met een CDN, een netwerk dat de bezoekers van je website direct media toont. Daarnaast bieden bepaalde systemen zelfs mogelijkheden voor het optimaliseren, vergroten en verkleinen van afbeeldingen – onmisbaar voor goede prestaties. Als een CMS deze functionaliteit niet heeft, zul je een ander CDN moeten gebruiken en de afbeeldingen moeten synchroniseren. Een kant-en-klaar CDN in je CMS is de makkelijkste en snelste oplossing en reduceert de ontwikkeltijd. Er kan echter wel sprake zijn van extra kosten of een gebruikslimiet, dus zorg dat het CDN in je budget past.

Ecosystem

Geen functionaliteiten, wél belangrijk om over na te denken wanneer je een headless CMS kiest.

Community

Een actieve community kan een groot pluspunt zijn van een headless CMS. Actieve discussiefora waar veelvoorkomende problemen en uitdagingen worden besproken, maken het leven van developers en contenteditors stukken makkelijker. Deze discussies vinden soms plaats op een speciaal online forum, maar ook op Discord, Slack of Stack Overflow.

Support

Hoe ziet de support eruit? Hoe snel wordt er op tickets gereageerd? Is er een onboardingproces voor nieuwe klanten en partners? Op dit vlak kunnen de verschillen enorm zijn. Geef je de voorkeur aan persoonlijk contact of vind je online documentatie en een ticketsysteem toereikend? Sommige headless CMS’en bieden alleen online documentatie en hulpmiddelen, maar we hebben ook systemen gezien waar de klant zelfs met het ontwikkelen van de eerste contentstructuur wordt geholpen.

Documentatie

Hoe toegankelijk en compleet is de documentatie? Bestaan er instructies voor veelvoorkomende gebruikerstaken? Is de documentatie up-to-date? Het is goed om jezelf deze vragen te stellen over de documentatie van het CMS dat je overweegt.

Het juiste CMS kiezen

Hopelijk helpt dit overzicht van functionaliteiten je bij het kiezen van het juiste CMS. Bij Unplatform zijn we continu bezig met het (her)evalueren van headless CMS’en, dus als je van onze kennis gebruik wil maken, neem dan gerust contact op. Vul het contactformulier in of stuur een mail naar: info@unplatform.io.

Twijfel je of headless voor jou de juiste keuze is? Onze gratis DXP/Headless wizard geeft je binnen een paar minuten inzicht in wat voor jouw organisatie de beste keuze is.

Verder lezen

Jonne Kats
Geschreven door Jonne Kats
Op 28 september 2021