Headless CMS WordPress

Headless CMS: Alleen WordPress gebruiken als backend

Met een content management systeem (CMS) als WordPress kun je gemakkelijk en snel websites maken – zelfs zonder programmeerkennis. Backend en frontend zijn direct met elkaar verbonden. Dit is praktisch zolang de inhoud alleen via dit ene kanaal moet worden afgespeeld. Websites zijn nu echter slechts één medium onder vele. Als verschillende kanalen en eindapparaten (bijv. mobiele apps) tegelijkertijd met inhoud moeten worden gevuld, kan een zogenaamd headless CMS nuttig zijn.

In dit artikel leggen we uit wat een headless CMS eigenlijk is en of WordPress gebruikt kan worden als headless CMS. Ook geven we je een overzicht van de belangrijkste voor- en nadelen van een headless CMS of headless WordPress.

Wat is een headless CMS?

In een klassiek CMS wordt inhoud ingevoerd via een interface in de backend en georganiseerd in databases (meestal MySQL). Van daaruit koppelt het systeem de inhoud direct aan thema's of ontwerpsjablonen en presenteert die aan bezoekers in de frontend van de website.

Een headless CMS is een content management systeem waarbij de backend en frontend niet gekoppeld zijn. De term "headless" komt van het ontbreken van een frontend. Het is dus een aangepaste vorm van een klassiek content management systeem waarbij alleen de backend wordt gebruikt en de directe visuele weergave (de frontend) achterwege blijft.

In plaats daarvan wordt de inhoud vanuit de database uitgevoerd via een zogenaamde API (kort voor "Application Programming Interface"). Hierdoor kan de inhoud volledig dynamisch worden gepubliceerd op verschillende apparaten en kanalen, centraal vanuit een database. Websites en applicaties hebben via de interface toegang tot de inhoud, maar regelen de weergave afzonderlijk. Een headless CMS dient dus alleen om de inhoud te beheren en is losgekoppeld van de presentatie.

Headless vs. Decoupled CMS

Veel klassieke content management systemen zijn de laatste jaren zo geëvolueerd dat ze zowel regelmatig "met kop" als ook headless CMS gebruikt kunnen worden. Dit wordt een "decoupled CMS" genoemd, dat nog steeds een frontend heeft voor de website, maar ook via API toegankelijk is voor diverse andere kanalen.

WordPress als een headless CMS gebruiken

WordPress kan nu ook een headless CMS worden. Strikt genomen is het zogenaamde "Headless WordPress" dan ook een Decoupled CMS: vanaf versie 4.7 is een REST API een integraal onderdeel van het populaire content management systeem.

Dit betekent: je kunt WordPress gewoon blijven gebruiken "met alles erop en eraan", inclusief de template engine voor je website. Daarnaast kun je echter ook via de geïntegreerde interface je content uitspelen, bijvoorbeeld in een app of op andere kanalen. In het volgende deel leggen we grofweg uit hoe dit technisch werkt en welke componenten nodig zijn.

De WordPress REST API

In het algemeen is een API een programmeerinterface waarmee ontwikkelaars gegevens kunnen opvragen en doorgeven. Een REST API is een bepaald type interface dat een relatief eenvoudige structuur heeft en zeer flexibel gebruikt kan worden. De afkorting "REST" staat voor "Representational State Transfer".

De WordPress REST API is nu in feite een stuk code waarmee andere systemen kunnen communiceren met WordPress. Deze communicatie verloopt via HTTP-verzoeken (zoals PUT, GET, POST of DELETE).

Relevant in de context van headless CMS zijn vooral de GET requests, d.w.z. requests waarmee bepaalde inhoud uit het CMS wordt gelezen. Wat er precies uitgelezen moet worden wordt gedefinieerd via URL's.

Als de REST API bijvoorbeeld alle blogbijdragen (posts) moet uitvoeren, zou dit het commando zijn:

GET http://domain.com/wp-json/wp/v2/posts/

De verzoeken worden bijvoorbeeld ingevoerd via de opdrachtregel, in WordPress heet dit WP-CLI. Afhankelijk van de op te vragen gegevens wordt de URL eenvoudigweg aangevuld met de bijbehorende parameters.

WP-CLI bij Raidboxes

Bij Raidboxes is WP-CLI al voorgeïnstalleerd als je via Raidboxes Dashboard een nieuwe Box (dus een WordPress website) aanmaakt. Je kunt echter ook via een SSH-terminal verbinding maken met Raidboxes en WP-CLI gebruiken. Je kunt hier meer over lezen in ons artikel De perfecte WordPress ontwikkelingsworkflow met Git & SSH.

Ruwe, gestructureerde gegevens als basis

Gegevens die via de WordPress REST API worden opgevraagd worden altijd geleverd in JSON formaat. De afkorting "JSON" staat voor "JavaScript Object Notation". Dit is een gestandaardiseerd, op tekst gebaseerd formaat voor het weergeven van gestructureerde gegevens, gebaseerd op de JavaScript syntaxis. Het wordt vaak gebruikt om gegevens in webapplicaties over te brengen (bijvoorbeeld om gegevens van een server naar de client te sturen zodat ze op een website kunnen worden weergegeven).

In principe structureert de REST API de inhoud die je in je CMS hebt ingevoerd en maakt die leesbaar als ruwe informatie in JSON formaat voor andere websites en toepassingen. Die kunnen de informatie dan ook verwerken of weergeven.

Een aangepaste frontend

In het Headless CMS is de frontend (de presentatie) duidelijk gescheiden van de backend (de WordPress interface, die gebruikt wordt om de inhoud gestructureerd in te voeren). In de frontend wordt de inhoud van het CMS gerenderd, d.w.z. samengesteld en weergegeven. WordPress wordt alleen gebruikt als database waaruit de benodigde informatie wordt opgehaald via de REST API.

De ontwerpen voor de frontend (of meerdere frontends) worden apart ontwikkeld, onafhankelijk van het CMS. Ze kunnen worden geschreven in elke programmeertaal en elke technologie gebruiken. Vooral JavaScript-frameworks als React, Angular of Vue.js komen veel voor.

Opmerking:

WordPress gebruiken als een headless CMS en het gebruiken om een website (of zelfs meerdere applicaties) te bespelen met inhoud vergt geavanceerd programmeer- en ontwikkelingswerk. Er zijn daarom geen directe instructies over hoe je headless WordPress het beste kunt gebruiken. De concrete implementatie is uiteindelijk aan jou (of je ontwikkelaars).

Waarom zou je Headless WordPress moeten gebruiken? De voordelen

Nu vraag je je waarschijnlijk af waarom je WordPress Headless zou moeten gebruiken als het net zo goed werkt "met een hoofd". We hebben de belangrijkste voordelen hier samengevat:

  • Meerdere kanalen tegelijk: Je kunt een headless CMS vrijwel onbeperkt schalen. Via het op API gebaseerde systeem kan een willekeurig aantal frontends toegang krijgen tot de informatie in de backend en kun je in principe overal en op elk platform je inhoud weergeven – of dat nu op een website is of in mobiele apps. Ook augmented reality, virtual reality en het Internet of Things (IoT) zijn denkbaar.
  • Tijdbesparend: Je beheert je inhoud in een headless CMS centraal vanaf één plek. Aanpassingen, toevoegingen of correcties hoef je maar één keer te doen en zijn dan automatisch zichtbaar op alle kanalen. Dit bespaart tijd die je kunt investeren in creatieve projecten.
  • Flexibeler design: Met een headless WordPress kun je je frontend nog vrijer ontwerpen en structureren. Je bent niet meer gebonden aan de mogelijkheden van het klassieke CMS en de programmeertaal is niet vooraf gedefinieerd. Dit geeft je veel meer speelruimte in het ontwerp en je kunt ook complexe websites implementeren.
  • Snellere prestaties: Omdat je headless WordPress alleen bestaat uit een database en REST API-oproepen, wordt je systeem slanker en sneller. Bovendien kun je je frontend ontwikkelen met moderne frameworks voor een verbeterde gebruikerservaring.
  • Hogere beveiliging: Omdat je inhoud in de database los staat van de frontend, is die minder gevoelig voor problemen en is er minder doelwit voor bijvoorbeeld kwaadwillende toegang en DDoS-aanvallen.

Deze voordelen zijn vooral relevant voor ontwikkelaars die anders worstelen met een statisch CMS en beperkte ontwerpmogelijkheden.

Wat zijn de nadelen van headless CMS?

Tegelijkertijd zijn aan een headless CMS of headless WordPress ook enkele nadelen verbonden die op dit punt niet onvermeld mogen blijven:

  • De presentatie is niet direct te beïnvloeden: wat voor ontwikkelaars een groot voordeel is, wordt een beperking bij het invoeren van de inhoud – tenminste als je niet alleen tekstuele maar ook visuele aanpassingen wilt doen. Voor niet-ontwikkelaars is er meestal nauwelijks ruimte voor artistieke vrijheid.
  • Inconsistente gebruikerservaring: Als je meerdere platforms gebruikt om je inhoud te verspreiden en de presentatie is niet consistent over alle kanalen, kan dat voor gebruikers inconsistent overkomen en de gebruikerservaring verslechteren.
  • Dubbel onderhoud: Een headless WordPress draait altijd apart van de frontend. Dit betekent dat je in principe twee instanties moet onderhouden. Dit kan gepaard gaan met extra tijdsbesteding.
  • Hogere kosten: Het is duurder om een headless WordPress op te zetten. Het onderhoud is ook duurder, omdat je misschien meerdere ontwikkelaars nodig hebt om twee verschillende instanties te onderhouden.
  • Niet alle functies: Headless WordPress ondersteunt niet één op één dezelfde functies als WordPress in de klassieke vorm. Bijvoorbeeld, de WYSIWYG editor of de live preview werken niet als de frontend gescheiden is. In het algemeen is elke plugin die de frontend beïnvloedt niet bruikbaar.

"*" geeft verplichte velden aan

Ik wil me abonneren op de nieuwsbrief om op de hoogte te blijven van nieuwe blogartikelen, ebooks, features en nieuws over WordPress. Ik kan mijn toestemming te allen tijde intrekken. Bekijk ons Privacybeleid.
Dit veld dient ter validatie en mag niet worden gewijzigd.

Conclusie: Voor wie is Headless WordPress geschikt?

WordPress is niet meer weg te denken uit de wereld van online inhoud. Dit zal in de toekomst waarschijnlijk niet veel veranderen. Wat wel kan veranderen is de manier waarop WordPress wordt gebruikt: klassiek of als headless CMS. Headless WordPress heeft veel voordelen, maar is niet voor alle doeleinden en gebruikers geschikt.

Of je project geschikt is voor een headless CMS hangt vooral af van wat je van plan bent. Headless WordPress zou geschikt kunnen zijn als:

  • je een heel individueel design op je website wilt implementeren dat niet gemakkelijk te realiseren is met WordPress thema's en page builders.
  • je een groot project plant en je inhoud op verschillende platforms en apparaten wilt presenteren (bijvoorbeeld op de website en in je eigen app).
  • je zelf programmeervaardigheden hebt of de mogelijkheid om met ontwikkelaars samen te werken om je eigen oplossing te bouwen.

Headless WordPress is minder geschikt als:

  • je wilt alleen je inhoud zichtbaar maken op een website (bijv. een blog) en hebt geen bijzonder bijzondere designelementen nodig.
  • je maar een klein budget hebt en je website vaak moet worden aangepast en onderhouden.
  • je een beginner bent, geen ervaring hebt met ontwikkelen en programmeren en je website zelf gaat maken en beheren.

Concluderend, als je gewoon een "normale" website wilt runnen en die wilt vullen met inhoud, ben je beter af met klassieke WordPress, eventueel gecombineerd met page builders voor meer ontwerpvrijheid. Als je echter op verschillende kanalen aanwezig wilt zijn en programmeervaardigheden hebt (of de middelen voor ontwikkelaars), kun je overwegen om WordPress Headless te gebruiken.

Begin gemakkelijk met WordPress

Gebruik je WordPress liever op een klassieke manier? Met Raidboxes maak je in een handomdraai jouw WordPress website – en je hoeft je geen zorgen te maken over je WordPress hosting. Wij zorgen voor back-ups, updates en meer voor je. Begin nu gratis of krijg advies van onze WordPress experts.

Veelgestelde vragen over Headless CMS WordPress

Wat is Headless WordPress?

Headless WordPress is een geavanceerde versie van het populaire content management systeem dat alleen de WordPress backend en database gebruikt. De presentatie op de website gebeurt dus niet rechtstreeks vanuit het CMS, maar via een aparte frontend.

Welke Headless CMS zijn er?

Er zijn verschillende aanbieders op de markt die gespecialiseerd zijn in headless CMS. De bekendste zijn Directus, Strapi, Cockpit, Contentful en Storyblok. Daarnaast volgen veel aanbieders van klassieke CMS'en nu hun voorbeeld en rusten hun systemen uit met een REST API. Ook WordPress kan nu headless gebruikt worden.

Hoe werkt een headless CMS?

Bij een headless CMS zijn de backend en frontend niet met elkaar verbonden. Dit betekent dat het systeem de in de backend ingevoerde inhoud niet direct visueel weergeeft op de website. In plaats daarvan wordt de inhoud uit de database beschikbaar gesteld via REST API. Elke website of app kan dan via de interface de centraal ingevoerde inhoud oproepen en weergeven.

Jouw vragen over WordPress als headless CMS

Welke vragen heb je over WordPress als headless CMS? Gebruik gerust de commentaarfunctie. Wil je op de hoogte blijven van verdere artikelen over het onderwerp WordPress en WooCommerce? Volg ons dan op LinkedIn, Facebook, Twitter of via onze nieuwsbrief.

Vond je het artikel leuk?

Met jouw beoordeling help je ons om onze inhoud nog verder te verbeteren.

Laat een reactie achter

Je e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *.