Je eigen CMS bouwen, moet dat nog wel?

Is het nog wel een goed idee om je tijd te besteden aan het ontwikkelen van je eigen CMS? Kort antwoord: waarschijnlijk niet.

Toen ik net begon als webdeveloper, was ik 100% voor het bouwen van je eigen CMS. En dat gevoel heb ik lange tijd gehad. Dit kwam vooral omdat ik geen enkel bestaand CMS dat ik probeerde fijn vond werken (Typo3, Mambo, ik vond zelfs WordPress toen niet fijn).

Een paar jaar later, en halverwege het voor de derde keer bouwen van mijn eigen CMS (en ik had aan nog een paar intern ontwikkelde CMS-systemen gewerkt tijdens stages en banen), besloot het bedrijf waar ik werkte dat we te veel tijd verspilden aan het onderhouden van ons eigen CMS en te weinig tijd besteedden aan het werken voor onze klanten. Waarschijnlijk was dit ook een kwestie van niet-factureerbare uren versus factureerbare uren.

In het begin stond ik erg sceptisch tegenover het idee om een extern CMS te gebruiken. We doorliepen een heel selectieproces, met als een van de vereisten dat het CMS moest worden gebouwd op een framework dat ook apart kon worden gebruikt voor situaties waarin we een andere webapplicatie moesten bouwen die geen CMS nodig had.

We kwamen uit op ExpressionEngine 2 (op dat moment nog niet in een stabiele release, maar we waren geduldig). En een tijdje later begonnen we ook WordPress te gebruiken voor de kleinere websites.

Na een paar sites realiseerde ik me dat ik veel meer tijd besteedde aan het daadwerkelijk maken van toffe websites en het blij maken van klanten, en bijna geen tijd meer besteedde aan het bouwen van functionaliteit in een verouderd CMS die al in bijna elk ander CMS bestond. En dat vond ik erg fijn!

Ik kreeg ook veel meer voldoening van het creëren van een mooie, goed werkende website dan van het regelen van bestandsuploads, het bouwen van contentversies met previewfuncties en andere standaard CMS-functionaliteiten.

Je leert wel heel veel van het bouwen en onderhouden van je eigen CMS. En het maakt je waarschijnlijk een betere ontwikkelaar als je het eens gedaan hebt.

Redenen die mensen gebruiken om het bouwen van een CMS te rechtvaardigen in plaats van een bestaand CMS te gebruiken

Elke keer dat ik mensen bij bedrijven hoor praten over waarom ze hun eigen CMS bouwen, hoor ik dezelfde redenen. Soms zijn dit goede redenen, maar de meestal niet. Begrijp me niet verkeerd, er zijn perfecte redenen om je eigen CMS te bouwen, maar om de een of andere reden noemen mensen vaak de verkeerde redenen om het zelf te doen.

Volledige controle over functies en hoe het werkt

Dit is 100% waar en ik kan het op geen enkele manier ontkennen. Wanneer je je eigen CMS bouwt, heb je volledige controle over hoe het werkt, welke technieken worden gebruikt en welke functies worden opgenomen. Hoewel de behoeften en wensen van je klanten waarschijnlijk een grote invloed zullen hebben (en zouden moeten hebben).

Klanten kunnen je niet zomaar verlaten

Dit is een reden die ik heel, heel vaak hoor. Te vaak, denk ik. En het is een slechte reden. Als de enige manier om klanten voor langere tijd aan je bedrijf te binden is dat ze je niet kunnen verlaten (omdat weggaan zou betekenen dat ze geen website meer hebben), doe je iets fout.

Klanten moeten bij je blijven omdat je goede service biedt, ze tevreden zijn met de kwaliteit van het werk dat je voor hen doet en dat ze je vertrouwen.

WordPress is gewoon een chique blogtool

Tijdens mijn loopbaan ben ik veel haat tegen WordPress tegengekomen, vooral van mensen/bedrijven die hun eigen CMS bouwen. Maar dit is simpelweg niet waar, en het is onwetend om dat te zeggen. Natuurlijk, WordPress begon misschien als een blogtool, maar dat is het allang ontgroeid.

CMS ‘x’ is echt onveilig en onbetrouwbaar

Dit wordt ook vaak gezegd over WordPress. Mensen wijzen elke keer als een WordPress-site wordt gehackt en roepen: ‘Zie je wel, het is onveilig!’.

Uit mijn ervaring worden de meeste gehackte WordPress-sites (of elk ander open source CMS) niet onderhouden. Ik denk dat het gezond verstand is dat je je CMS-software up-to-date moet houden. Je verwacht toch ook niet dat je virusscanner of besturingssysteem jarenlang soepel blijft draaien zonder ooit een update te krijgen? Dus waarom zou je dat van je CMS-software verwachten?

Bestaande CMS-systemen hebben niet genoeg functies of werken niet goed

Bijna elk CMS heeft een manier om uit te breiden. De ene beter dan de andere, maar bijna allemaal zijn uitbreidbaar. Met widgets, plugins en extra modules die je zelf kunt maken of van internet kunt downloaden (gratis of betaald) kun je bijna elke functie creëren die je maar kunt bedenken in bijna elk CMS dat er is.

‘Maar waarom zou ik CMS x gebruiken als ik er nog steeds mijn eigen functies aan moet toevoegen?’, zou je kunnen vragen. Nou, dat is heel simpel. De ontbrekende functionaliteit toevoegen aan een bestaand CMS is veel minder werk dan het bouwen en onderhouden van je eigen CMS.

We kunnen een bestaand CMS niet verbinden met ons systeem

Ik verwijs graag naar het vorige punt. Dit is precies hetzelfde.

Nadelen van het bouwen van je eigen CMS

Naar mijn mening zijn er twee zeer belangrijke redenen om je eigen CMS niet te bouwen.

Het kost veel tijd om het goed te doen

Het bouwen van je eigen CMS kost veel tijd. Heel veel, als je het goed wilt doen. Als je niet elke maand veel tijd kunt besteden aan het onderhouden van je eigen CMS nadat je de eerste versie hebt gebouwd (wat ook veel tijd kost), dan zou je er niet aan moeten beginnen.

Klanten kunnen je niet zomaar verlaten

Zoals ik eerder al zei, denk ik dat dit een slechte zaak is. Sterker nog, het bouwen van je eigen CMS kan je zelfs potentiële klanten kosten. In het verleden heb ik veel potentiële klanten ontmoet die één heel belangrijke eis hadden: een open source CMS, of in ieder geval één die niet uitsluitend door hun webbureau wordt onderhouden. Zodat ze konden vertrekken als ze dat wilden.

Ik geloof dat het vertrouwen in de kwaliteit van je werk laat zien wanneer je niet probeert klanten vast te houden door ze afhankelijk te maken. En ik geloof ook dat potentiële nieuwe klanten hetzelfde zullen denken. Je hoeft je klanten niet afhankelijk te maken van je CMS, je moet ze afhankelijk maken van de kwaliteit van je werk.

Conclusie

Als jouw taak is om je klanten te helpen met hun online aanwezigheid, hen te helpen meer kaartjes, producten of wat dan ook te verkopen, als je gewoon geweldige websites wilt bouwen en creëren, dan moet je niet bezig zijn met het bouwen van een CMS. Dat is zonde van je tijd. Je tijd is beter besteed aan het helpen van je klanten, uitzoeken wat ze nodig hebben en een geweldige website voor ze bouwen.

Als jouw taak is om een tool te maken voor andere ontwikkelaars om websites mee te bouwen, dan kan het bouwen van je eigen CMS een goede beslissing zijn. Vergeet alleen niet om genoeg tijd (elke week/maand) vrij te maken voor het onderhouden van je codebase, het ondersteunen van je gebruikers, het oplossen van bugs en het documenteren van alles. Dit is iets wat veel bedrijven vergeten. Het bouwen van je eigen CMS kost veel tijd, altijd.