Spring til indhold

CMS i praksis — fra plugin til eget tema

Content management-systemer, temaer, plugins og headless CMS

Et content management-system, forkortet CMS, er et system, der adskiller indholdet på en side — tekster, billeder, produkter, blogindlæg — fra selve koden, der viser det. Formålet er, at en redaktør uden programmeringserfaring kan opdatere siden gennem en administrationsflade, mens udvikleren står for skabelonerne og funktionaliteten omkring. Bekendtgørelsen for webudvikleruddannelsen nævner det som et selvstændigt fagområde: at kunne implementere egne frontend-løsninger i et givet CMS, opsætte, administrere og videreudvikle det.

§Hvorfor overhovedet bruge et CMS?

At bygge en hjemmeside helt fra bunden — med eget login, redigeringsflade, billeddatabase og rettighedsstyring — er et stort stykke arbejde, som allerede er løst tusindvis af gange i eksisterende systemer. Et CMS sparer den tid og giver samtidig kunden mulighed for selv at rette tekster og tilføje indhold uden at skulle bede en udvikler om hjælp til hver eneste ændring. Prisen er, at man arbejder inden for systemets rammer og datamodel, og at man overtager ansvaret for at holde det opdateret.

§Temaer og plugins — udvidelse uden at bygge forfra

De fleste CMS'er lader dig style siden med et tema (udseendet) og udvide funktionaliteten med plugins eller moduler (fx en formular, en webshop-funktion eller søgemaskineoptimering). Det er en hurtig vej til meget funktionalitet, men hver eneste tilføjelse er også kode skrevet af andre, som kører på din side — med den tillid og risiko, det medfører.

  • 01Vælg temaer og plugins fra kilder med et spor af vedligeholdelse og opdateringer
  • 02Installer kun det, siden reelt har brug for — hver tilføjelse er en ny mulig fejlkilde
  • 03Læs, hvilke rettigheder et plugin beder om, før du installerer det
  • 04Test opdateringer på et testmiljø, før de rammer den rigtige side

§Headless CMS — indhold uden en fast forside

Et traditionelt CMS leverer både indholdet og den færdige HTML-side. Et headless CMS gør kun det første: det gemmer og strukturerer indholdet og stiller det til rådighed gennem et API, typisk som JSON. Frontend — bygget helt selvstændigt, fx som en app eller en moderne webløsning — henter så indholdet derfra og bestemmer selv, hvordan det vises. Det giver frihed til at genbruge samme indhold flere steder (web, app, digitale skilte), men kræver, at man selv bygger hele visningen, som et traditionelt CMS ellers havde leveret.

EgenskabTraditionelt CMSHeadless CMS
LevererIndhold + færdig HTML-sideKun indhold, via et API
FrontendOfte bundet til CMS'ets egne skabelonerBygges helt frit, uafhængigt af CMS'et
Genbrug af indholdTypisk kun til én sideNemt at genbruge på tværs af flader
OpstartstidHurtigere op at ståKræver mere frontend-arbejde selv

§Drift og vedligeholdelse er en del af opgaven

At sætte et CMS op er kun begyndelsen. Løbende drift indebærer opdateringer, jævnlige sikkerhedskopier (backups), oprydning i brugere og rettigheder, og overvågning af, at siden stadig performer, som den skal. Sæt rettigheder efter mindste-privilegie-princippet: en redaktør, der kun skal skrive nyheder, har ikke brug for adgang til systemindstillinger eller andre brugeres konti.

§Kend flere systemer — ikke kun ét

Der findes mange CMS'er med hver deres styrker: nogle er brede og alment udbredte med et stort udvalg af plugins, andre er specialiserede til webshops, og andre igen er bygget som headless løsninger fra bunden. En del af faget er at kunne sætte sig ind i det system, en given arbejdsplads eller kunde allerede bruger, frem for kun at kunne ét bestemt system udenad.

Et CMS løser ikke problemet med at vedligeholde en hjemmeside — det flytter opgaven fra at skrive HTML til at holde et helt system opdateret og sikkert.

Erfaringsregel fra CMS-drift