Hvad er et Headless CMS?

Mathias giver en introduktion til Headless CMS på vores lightboard

Skrevet af

Mathias Piletti
Udvikler

 

En hovedløs fremtid?

Udvalget af CMS systemer, som er “headless”, er over de seneste fem år vokset betragteligt. Det er der mange årsager til, men det kan til en vis grad tilskrives nye måder, frontend frameworks anvendes og nye brugsbehov i forhold til, hvordan ens data skal interagere med et flertal af services. Dette stiller nye krav til, hvordan indhold administreres (“body”), og hvordan indhold præsenteres (“head”).

Når man omtaler en CMS løsning som “head”-less, refereres der til, at CMS løsningen udelukkende har holdninger til “body” delen. Dette betyder, at CMS’et udstiller en grænseflade, hvor du kan oprette indholdstyper, indsætte indhold, fremsøge, filtrere og sortere indholdet, men det er fuldstændig agnostisk i forhold til, hvor og hvordan du ønsker at vise indholdet. 

Eksempel hvor indholdet lever i CMS’et, men præsenteres på en hjemmeside 

Da administration og præsentation af indhold er adskilt, har det den positive følgeeffekt, at man har friheden til at implementere de omkringliggende services præcis efter eget ønske og brugsbehov. 

For eksempel kan man gnidningsfrit indsætte en anden service foran CMS’et, hvis man pludselig finder ud af, at man har brug for at forberede svartiderne. Det kan også være, at man af sikkerhedsmæssige hensyn ikke ønsker, at websitet skal kunne kommunikere med CMS’et direkte. 

Måske skal de besøgende kun kunne tilgå noget bestemt indhold efter, at de er autentificerede, eller måske skal indholdet beriges og formateres, før det sendes videre til den næste service. I takt med at ens arkitektur vokser, er der ofte også en interesse i, at flere forskellige services kan konsumere det samme indhold, men vise det på forskellige måder (såsom en app, hjemmeside og andre interne systemer).

Da CMS’et er blot er en byggeklods på lige niveau med de andre services i din arkitektur, er denne slags udvidelser trivielle til sammenligning med klassiske monolitiske applikationer. Med andre ord opnås denne fleksibilitet ret smertefrit, fordi de forskellige services er isolerede og på mange måder uafhængige af de omkringliggende systemer. Dette er i trit med med microservice tankegangen.

Eksempel på hvor de enkelte services er adskilte og bliver afviklet uafhængigt af hinanden.

 
 

Hvad skal jeg overveje, når jeg skal vælge et nyt headless CMS?

I Reload har vi fulgt denne udvikling over de senere år og eksperimenteret med, hvilke nye muligheder og overvejelser som er vigtige at inddrage i ens betragtning, når man vurderer, hvilket headless CMS man ønsker at anvende til sin nye it-platform. Vi har undersøgt markedet for eksisterende headless CMS løsninger og vurderet dem på baggrund af en række forskellige faktorer. Vi anbefaler Strapi som headless CMS. 


Med udgangspunkt i en række kriterier vi beskriver nedenfor, har vi afprøvet mange forskellige headless CMS løsninger. Det dækker både over løsninger som open-source vs closed-source, managed vs self-hosted og gratis vs proprietære. Fælles for mange af systemerne er, at de på nogle kriterier klarer sig rigtig godt, mens der er andre kriterier, hvor de halter bagud. Hvilket CMS der er egnet til din løsning, afhænger derfor af dine brugsbehov. 


For nogle kunder vil det være helt centralt, at man kan styre brugerrettighederne på et meget granulært niveau, da der rigtig mange forskellige profiler involveret, som skal havde forskellige typer af rettigheder. 


For andre er det måske mere centralt, at CMS systemet er meget fleksibelt ift. at opbygge en kompliceret datamodel, og hvor tilhørende medieindhold kan serveres lynhurtigt for alle ens besøgende. 


Vi har forsøgt at evaluere på ret mange forskellige headless CMS systemer (bla. Strapi, ButterCMS, Contentful, DatoCMS), og vores favorit baseret på alle førnævnte kriterier er Strapi CMS. Det skyldes, at Strapi klarer sig godt all-around i størstedelen af kategorierne og fremragende i nogle enkelte kategorier såsom administration af indhold, muligheder for videreudvikling og open-source med en yderst fair pris-model.  


Strapi er det mest populære open source CMS udviklet i programmeringssproget JavaScript. 

 

“Kort” om Strapi 

Strapi kan fungere som en samlende platform til håndtering af alle CMS-relaterede behov, altså redaktørgrænsefladen og strukturering af indhold til digitale kanaler. Strapi understøtter komponentbaseret opbygning af indhold, hvilket giver redaktører stærke værktøjer til opbygning af engagerende artikler og avancerede landing pages på en let og overskuelig måde. Derudover kan Strapi håndtere en række af de funktionaliteter, de fleste ønsker sig af et fremtidigt CMS, eksempelvis automatisk nedskalering af billeder og håndtering af metatags. Det gør det både nemmere og hurtigere at arbejde med for redaktøren, men har også den fordel, at det øger hastigheden på sitet og dermed også sidens SEO ranking.

Strapi

Strapi er som beskrevet et headless CMS, hvilket betyder, at det er bygget til at opbevare indhold der bliver udstillet gennem et standardiseret API frem for gennem websider. Selve webgrænsefladen henter indholdet fra API’et og bliver bygget i en teknologi der giver os de bedste vilkår for at skabe en optimal oplevelse for slutbrugeren. Her tænker vi særligt på at skabe dynamiske oplevelser på et site, hvor dele af sidens indhold ændrer sig baseret på brugerens færden på sitet. I stedet for at hele siden skal genindlæses, så indlæses indhold dynamisk. Samtidig giver det også Strapi mulighed for at fokusere på at skabe en optimal redaktørgrænseflade og lade andre systemer i arkitekturen stå for selve præsentationen.

Strapi er fleksibelt og modulært.
Det vil sige, at det i fremtiden vil være muligt både at tilføje flere indholdstyper og ændre/udvide de eksisterende efterhånden, som forretningen udvikler sig.

 
 

Kriterier du skal vurdere, når du skal vælge et (headless) CMS

 

Det er et stort emne, men forhåbentligvis gav dette skriv dig en lille idé om, hvad Headless CMS ren faktisk er.

Tak fordi du læste med!

 
 
 
 

Vil du vide mere?

Så skriv til Kasper Garnæs, teknisk direktør i Reload!

 
Forrige
Forrige

Et unikt indblik i den digitale COVID-19 indsats

Næste
Næste

Hvilket CMS skal jeg vælge?