Drupal onderhoud en support
Achterstallig onderhoud kost meer dan onderhoud.
Structurele opvolging van updates, security en back-ups, zodat je nooit met een project van drie jaar achterstand komt te zitten.
Vraag een audit aan
Onderhoud aan een Drupal-site is geen updateknop.
Het is een ritme: securityreleases van core en contributed opvolgen, de PHP-versie onder de site meeschuiven, back-ups controleren en na elke update testen of alles nog werkt, liefst voordat je bezoeker iets merkt.
Ik doe dat voor sites die ik zelf bouwde en voor sites die ik overneem.

Wat valt er onder Drupal-onderhoud?
Onderhoud bestaat uit vier onderdelen die los van elkaar kunnen mislukken: security, de stack eronder, back-ups en testen.
Je hostingpartij dekt daarvan meestal een deel en net daar zit de verwarring.
Securityreleases van core en contributed
Drupal publiceert securityadvisories op woensdag in vaste vensters, dus ze zijn planbaar.
Core is het makkelijke deel: patchversie binnenhalen met Composer, testen op staging, uitrollen.
Het werk zit in de contributed modules, want een zakelijke site draait op enkele tientallen daarvan, elk met een eigen maintainer.
Sommige krijgen binnen de dag een fix, andere worden unsupported verklaard.
Dat tweede is geen update maar een beslissing: vervangen, overnemen in custom code, of laten vallen.
PHP-versies en de rest van de stack
Onderhoud gaat ook over wat onder Drupal draait en daar zitten harde deadlines.
Drupal 11 vereist minimaal PHP 8.3.
Drupal 10 draait vanaf PHP 8.1, maar PHP 8.1 krijgt sinds 1 januari 2026 geen securityfixes meer en PHP 8.2 valt na 31 december 2026 in hetzelfde gat.
Een site kan dus volledig bij zijn op Drupal-niveau en toch op een PHP-versie staan die niemand nog patcht.
Hetzelfde geldt voor de database, de webserver en de Node-versie van je themabuild.
Back-ups waar je op kan rekenen
Een back-up waar niemand naar kijkt, is geen back-up maar een aanname.
Drie fouten kom ik het vaakst tegen: de database wordt bewaard maar de bestandsmap niet, niemand controleert of de back-up nog loopt en de herstelprocedure staat nergens beschreven.
In een SLA gaat het zo: de hostingpartner maakt elke dag automatisch een back-up die 14 dagen bewaard blijft, ik controleer elke maand of die back-ups effectief gemaakt worden en vóór elke update zorg ik voor een verse back-up.
Mislukt een update, dan zet ik die back-up terug en zoek ik een oplossing.
Testen na elke update
Een update is pas klaar als de site nog werkt.
Een site kan online staan en tegelijk gebroken zijn: het formulier verstuurt niets, cron loopt niet meer, de zoekindex is leeg.
Na elke update controleer ik daarom de belangrijkste pagina's en functies en niet alleen of de homepage laadt.
Waarom achterstallig onderhoud duurder is dan onderhoud
Achterstand is geen stilstand, hij groeit.
Eén minor release achterlopen is een routineklus.
Drie jaar achterlopen is een project, want dan komen de problemen samen: de PHP-versie moet mee, een deel van de modules bestaat niet meer in een compatibele versie en je custom code gebruikt API's die verwijderd zijn.
De versiegeschiedenis maakt dat concreet.
Drupal 8 is uit support sinds november 2021, Drupal 9 sinds november 2023 en Drupal 7 sinds 5 januari 2025.
Sites die daarop bleven staan hebben geen update meer nodig maar een migratie en dat verschil is een factor in tijd en budget.
Daar komt bij dat zonder onderhoud ook de kennis over je site verdwijnt: geen changelog, geen gedocumenteerde patches, geen deploylog.
Bij het volgende incident betaal je dan eerst uitzoekwerk en dat kost meer dan de fix.
Ad hoc of een SLA: wanneer kies je wat?
Ad hoc werkt zolang stilstand geen geld kost.
Je meldt een probleem, ik plan het in, je betaalt de uren.
Het verschil met een SLA zit niet in het werk maar in de timing: bij ad hoc hangt de doorlooptijd af van mijn agenda, bij een SLA is er capaciteit vooraf gereserveerd en staat er een reactietijd op papier.

- ✓ Je verkoopt online of je site is de instap voor aanvragen, dus een dag stilstand is meetbaar verlies.
Dan een SLA. - ✓ Val je onder de European Accessibility Act of onder de overheidsverplichtingen uit richtlijn 2016/2102, dan moet je je toegankelijkheidsniveau kunnen onderbouwen, met een toegankelijkheidsverklaring en een controle na elke release.
Of jouw dienst binnen het toepassingsgebied valt, hangt af van je sector en van de omzetting in Belgisch of Nederlands recht: laat dat juridisch nakijken.
In dat geval een SLA. - ✓ Je hebt een brochuresite zonder inlog, betalingen of koppelingen en je host doet de core-updates.
Een ronde per kwartaal volstaat. - ✓ Je hebt intern al iemand die Drupal kent.
Dan is een escalatieafspraak logischer en die valt onder technisch beheer en consultancy.
Wat er in mijn SLA staat
Een SLA is een afspraak over tijd, scope en toegang, geen belofte dat er nooit iets stukgaat.
Hieronder staat wat ik vastleg, inclusief wat er niet in zit.
Dat laatste is waar de discussies over gaan.
Reactietijd en oplostijd zijn twee afspraken
Reactietijd is hoe snel je een eerste inhoudelijke reactie krijgt, oplostijd is hoe snel het probleem weg is.
Die twee door elkaar halen is de meest voorkomende fout in supportcontracten, want de eerste kan ik vastleggen en de tweede hangt af van de oorzaak.

| Prioriteit | Voorbeeld | Reactietijd |
|---|---|---|
| 1 – Kritiek | Site offline, gehackt, kritiek beveiligingsprobleem | Binnen 1 werkdag |
| 2 – Hoog | Site online, maar een functie werkt niet | Binnen 2 werkdagen |
| 3 – Normaal | Kleine fout, vraag, kleine aanpassing | Binnen 5 werkdagen |
Je meldt een probleem per e-mail, bij een kritiek probleem bel of sms je ook.
De termijnen hierboven zijn reactietermijnen, geen oplostermijnen.
Voor het oplossen geldt een inspanningsverbintenis: ik zoek zo snel als redelijk mogelijk een oplossing, maar ik garandeer geen oplostermijn en geen ononderbroken beschikbaarheid, want die hangt ook af van je hosting en andere derden.
Een storing bij je betaalprovider of hostingpartij los ik niet sneller op dan zij.
Een securityupdate die Drupal als kritiek of hoog risico markeert, beoordeel ik binnen 3 werkdagen na publicatie. Daarna installeer ik de update, of neem ik tijdelijke maatregelen als dat nog niet veilig kan.
Een contract dat oplostijden garandeert die niemand kan halen, is bij het eerste incident waardeloos.
Scope: wat zit erin en wat niet
- Inbegrepen: beveiligings- en onderhoudsupdates van Drupal core en de contributed modules binnen dezelfde hoofdversie, testen na elke update, een maandelijkse controle van updates en back-ups, analyse en herstel van storingen en beveiligingsproblemen en antwoord op je vragen over de site.
- Niet inbegrepen: major updates van Drupal of PHP, zoals Drupal 10 naar 11, en het vervangen van modules die niet meer ondersteund worden, nieuwe functies of paginatypes, wijzigingen aan ontwerp of lay-out, inhoud, teksten, foto's en vertalingen, SEO, advertenties en analytics en alles buiten de Drupal-site zelf, zoals hosting, domeinnaam en externe diensten.
- Uurbudget: een vast aantal uren per maand. Elke vraag en elke aanpassing telt mee, per dag samengeteld en afgerond per begonnen kwartier. Uren die je in een maand niet gebruikt, vervallen op het einde van die maand. Op vraag krijg je een overzicht van het werk en de gebruikte tijd.
- Buiten het budget: extra werk meld ik altijd vooraf, met een schatting of een offerte, en ik begin pas na je akkoord. Een aanpassing die langer dan 30 minuten duurt, bespreken we eerst. Twee uitzonderingen: updates en beveiliging gaan door als het uurbudget op is, tot maximaal 3 extra uren per contractjaar, en bij een kritiek probleem mag ik meteen tot 3 uur werken om de oorzaak te zoeken en de schade te beperken.
Een major versiesprong hou ik buiten het maandbudget, want het budget is op onderhoud gedimensioneerd, niet op een upgradeproject.
Bij een schone Drupal 10-site met weinig custom code blijft de sprong naar 11 beperkt, bij veel custom code en modules zonder compatibele versie loopt het op.
Ik schat het per site vooraf in.
Buiten scope betekent niet dat ik het niet doe, alleen dat je er geen onaangekondigde factuur voor krijgt.
Wanneer ik bereikbaar ben
Ik werk op werkdagen, maandag tot vrijdag zonder Belgische feestdagen, binnen vaste supporturen die in de SLA staan.
Alle reactietermijnen hierboven lopen alleen binnen die uren, dus een melding op vrijdagavond geldt als ontvangen op maandag.
Een 24/7-wachtdienst beloof ik niet.
Ik ben één persoon, David Porschmann, freelance Drupal-specialist en echte wachtdienst met gegarandeerde opvolging vraagt een team.
Werk dat je vraagt buiten mijn werkuren krijgt een toeslag van 50%, behalve bij een kritiek probleem.
Tijdens vakantie of ziekte is er geen vervanger en lopen de termijnen niet. Geplande afwezigheid meld ik vooraf, waar mogelijk minstens een week op voorhand.
Moet een site echt dag en nacht draaien, dan leggen we de eerste lijn bij je hostingpartij en ben ik de tweede lijn.
Wie heeft toegang en wie is eigenaar
Toegang staat op naam, altijd.
Geen gedeelde beheeraccounts, geen wachtwoorden in een mailthread, tweefactorauthenticatie waar het kan en een eigen SSH-sleutel per persoon.
We leggen per account vast wie eigenaar is en wie welke toegang heeft: Drupal, hosting, DNS, domeinnaam en Search Console.
In Drupal krijg je een eigen rol om de inhoud te beheren. De configuratie zit in code en die beheer ik, zodat een update niets onverwacht overschrijft.
Even belangrijk is wat er gebeurt als we stoppen.
De inhoud van je site en je domeinnaam zijn van jou. Regel ik de hosting, dan loopt die via mijn account bij de hostingpartner, voor jou, en dat staat zwart op wit in de SLA.
Een SLA loopt per jaar en wordt telkens met een jaar verlengd. Opzeggen kan tot een maand voor het einde.
Stoppen we, dan krijg je binnen 10 werkdagen alle toegangsgegevens en op vraag een volledige export van je site: code, database en bestanden.
Geen drempel om weg te gaan, want een klant die blijft omdat overstappen te lastig is, is geen tevreden klant.
Het onderhoudsritme van nu tot 2028
De komende twaalf maanden zijn atypisch, want twee data vallen in dezelfde week.
Drupal 10 bereikt end of life op 9 december 2026 en Drupal 10.6.0 is de laatste minor release.
Drupal 12 wordt uitgebracht in de week van 7 december 2026, dus precies dan.
Drupal 11 is vandaag de stabiele versie, op 11.4.x.
Wat dat einde van de support per scenario betekent en waar je de stap naar 11 mee inplant, staat in mijn artikel over het einde van de support voor Drupal 10 in december 2026.
Sta je op Drupal 10, dan plan je nu de stap naar 11 en niet die naar 12, want op zijn releasedag is Drupal 12 nog niet de versie waarop je contributed modules getest zijn.
Sta je al op 11, dan is onderhoud vooral minors bijhouden.
Sta je op Drupal 7, 8 of 9, dan is er een risico dat onderhoud niet oplost.
Toegankelijkheid hoort in dit ritme thuis.
De European Accessibility Act, richtlijn 2019/882, is sinds 28 juni 2025 van toepassing op de producten en diensten die onder het toepassingsgebied vallen, met WCAG 2.2 niveau AA en EN 301 549 als normen.
Of jouw site eronder valt hangt af van je sector en van de nationale omzetting.
Op digitale toegankelijkheid staat hoe ik dat nakijk.
Elk nieuw component kan dat weer breken, dus in een contract zit een periodieke controle op de hoofdflows in plaats van een audit die één keer gebeurde.
Wat onderhoud kost
Een SLA bevat een vast aantal uren per maand voor updates, controles, vragen en kleine aanpassingen.
Hoeveel uren je site nodig heeft, hangt af van de contributed modules, de custom code en het deployproces. Dat bekijk ik vooraf per site, zodat de afspraak past bij wat er echt draait.
De SLA wordt per jaar vooraf gefactureerd. Extra werk reken ik aan 75 euro per uur exclusief btw. Hosting en domeinnaam factureer ik apart.
De prijs wordt jaarlijks geïndexeerd en de nieuwe prijs hoor je ten laatste twee maanden op voorhand. Mijn uur- en dagtarieven staan op tarieven.
Onderhoud overnemen van een andere partij
Een overname begint met een audit, niet met de eerste update.
Ik breng in kaart wat er staat: versies, openstaande advisories, unsupported modules, patches en of ze gedocumenteerd zijn, de custom code en of de back-up ooit teruggezet is.
Dat kost een halve tot een hele dag en levert een lijst op, geordend op impact.
Soms is de uitkomst dat onderhoud niet het juiste antwoord is.
Onderhoud laten overnemen?
Leg je situatie voor: welke Drupal-versie je draait, wie het nu doet en wat er misgaat.
Ik geef binnen 24 uur een eerlijk beeld van wat er nodig is en of een SLA in jouw geval de moeite is. Neem contact op, ook met een half verhaal.
Veelgestelde vragen
Hoeveel kost het om een website te onderhouden?
Een SLA bevat een vast aantal uren per maand voor updates, controles, vragen en kleine aanpassingen. Hoeveel uren je nodig hebt, hangt af van het aantal contributed modules, de custom code en de koppelingen met externe systemen.
Extra werk kost 75 euro per uur exclusief btw en gebeurt pas na je akkoord. Hosting en domeinnaam komen er apart bij.
Ik bekijk elke site vooraf, want onderhoud op een site die jaren achterloopt begint met inhaalwerk.
Wat is het verschil tussen een SLA en onderhoud op afroep?
Bij onderhoud op afroep betaal je de uren die je gebruikt en hangt de doorlooptijd af van mijn agenda op dat moment.
Bij een SLA is er capaciteit vooraf gereserveerd en staat er per prioriteitsniveau een reactietijd op papier.
Het werk is hetzelfde, de zekerheid over de timing niet.
Op afroep is prima zolang een dag stilstand geen geld kost, dus voor een webshop zelden.
Wat zit er niet in een onderhoudscontract?
Major updates van Drupal of PHP, zoals Drupal 10 naar 11, en het vervangen van modules die niet meer ondersteund worden.
Ook nieuwe functies, design- en lay-outwijzigingen, inhoud en vertalingen, SEO en marketing, hosting, domeinnaam en externe diensten vallen erbuiten. Storingen bij een derde partij meld ik wel en ik volg ze op.
Die grens staat expliciet in het contract, want dit zijn de punten waar anders onverwachte facturen uit komen.
Wat buiten scope valt doe ik wel, via een aparte offerte en pas na je akkoord.
Wat gebeurt er als er op vrijdagavond een securityrelease uitkomt?
Een securityupdate die Drupal als kritiek of hoog risico markeert, beoordeel ik binnen 3 werkdagen na publicatie.
Is het risico kritiek, dan laat ik je dat weten en installeer ik de update, of neem ik eerst een tijdelijke maatregel als de update nog niet veilig kan.
Een melding op vrijdagavond of in het weekend geldt als ontvangen op maandag. Een 24/7-wachtdienst is er niet.
Drupal publiceert advisories op woensdag in vaste vensters, dus de meeste gevallen zijn planbaar.
Doet mijn hostingpartij dit niet al?
Een deel en hoe groot dat deel is verschilt sterk per host.
Bij managed hosting krijg je meestal de server, de PHP-versie en een back-upschema en bij sommige partijen ook de patchupdates van Drupal core.
Wat er bijna nooit bij zit: de contributed modules en de beslissing wat je doet met een module die unsupported wordt, je custom code, de themabuild en de vraag of die back-up ooit echt is teruggezet.
Vraag je host dus op papier wat hij dekt, dan zie je wat er overblijft en of dat een SLA vraagt of een ronde per kwartaal.
Wie is eigenaar van de site, het domein en de hosting?
De inhoud van je site en je domeinnaam zijn van jou en dat staat in het contract.
Regel ik de hosting voor je, dan loopt die via mijn account bij de hostingpartner. In een bijlage staat per account wie eigenaar is en wie welke toegang heeft.
Stoppen we, dan krijg je binnen 10 werkdagen alle toegangsgegevens en op vraag een volledige export van code, database en bestanden.
Kijk dat ook na bij je huidige partij, want staat het domein op naam van een bureau, dan ben je bij een overstap afhankelijk van hun medewerking.
Een vraag over dit onderwerp?
Beschrijf kort je situatie, dan laat ik weten wat er speelt en wat het zou kosten. Zonder offertetraject.