Drupal
Drupal 7 EOL: ontsnappingsroutes voor een 2027-deadline
Elf uitwegen uit Drupal 7. Eén Belgische universiteit met 62.000 pagina's. Een aanbestedingstop in 2027 nadert. Dit is de field guide die we terugstuurden, gerangschikt.

Het is een dinsdag eind februari als de CTO van een Belgische universiteit ons een mail van één zin stuurt. "Het bestuur bevriest alle nieuwe aanbestedingen op 1 januari 2027. We hebben vóór die datum een ondertekende Drupal 7-exit nodig. Stuur een field guide." Bijlage: een CSV met 62.143 nodes verdeeld over 14 sites, vier talen, elf faculteiten en een stilletjes enorme onderzoeksrepository.
We hebben drie weken besteed aan het doorrekenen van elf ontsnappingsroutes. Dit is de field guide die we terugstuurden, ingedikt. De rangschikking is niet academisch. Het gaat erom welke exits binnen zeven maanden ondertekend, gestart en grotendeels opgeleverd kunnen worden voordat de bevriezing het aanbestedingsvenster sluit.
De bevriezing, in gewone taal
Europese universiteiten werken met meerjarige aanbestedingscycli die vallen onder EU-richtlijn 2014/24 en de nationale omzettingen daarvan. Een "bevriezing" betekent meestal drie dingen tegelijk. Geen nieuwe leverancierscontracten boven de openbare aanbestedingsdrempel, momenteel €221.000 voor publieke diensten. Geen uitbreidingen op bestaande raamcontracten. En geen betalingen uit het budget van het volgende jaar tot de bevriezing wordt opgeheven.
Vertaald naar een CMS-migratie betekent dit: elke leverancier die je niet vóór 1 januari 2027 hebt gecontracteerd, kan na die datum niet meer beginnen. Elk multi-vendor lapwerk wordt een reeks onderhandelingen die je misschien niet mag afronden. Een platform dat in jaar twee van een driejarige migratie nieuwe aanbestedingen vereist, wordt een gijzelingssituatie.
Dat verandert de rangschikking. Het "beste" CMS in abstracte zin is irrelevant. De vraag is: welke exit kan een aanbestedingsambtenaar op 1 december 2026 daadwerkelijk verdedigen met één handtekening?
De vier routes die we in week één hebben afgevoerd
We hebben vier routes snel afgehandeld, niet omdat ze in het algemeen slecht zijn, maar omdat ze voor deze specifieke opdracht niet pasten.
WordPress met Advanced Custom Fields. Een veelvoorkomende suggestie van iedereen die nog nooit een echte universitaire content-graph heeft gemodelleerd. De Drupal 7-installatie heeft 84 content types met diepe entity references tussen onderzoeksoutput, vakken, medewerkers, faculteiten en externe partners. Dat in WordPress nabouwen betekent ofwel het model platslaan (een contentramp), ofwel zoveel plugins installeren dat je Drupal slecht nabouwt. We hebben genoeg WordPress-sites gebouwd en hebben dit toch in twee dagen afgevoerd.
Een handgebouwde Symfony-rebuild. Op papier verleidelijk. De universiteit heeft twee senior PHP-engineers en een traditie van eigen tooling. Maar een rebuild van 62.000 pagina's op een eigen framework is een driejarig project met een eenjarige deadline, en de bevriezing haalt de optie weg om er in jaar twee een extern team bij te halen. Afgevoerd als single-track strategie. (De headless-variant komt verderop weer terug.)
Sitecore en Adobe Experience Manager. Enterprise-CMS-licenties voor een instelling met 14 sites komen uit op ongeveer €400.000 per jaar vóór implementatiekosten, en de aanbestedingsprocedure voor één van beide platformen duurt in een Belgische publieke context meestal negen tot twaalf maanden. De bevriezing sluit voordat het contract sluit. Afgevoerd op timing, niet op inhoud.
ClassicPress. Een fork van WordPress. We noemen het alleen omdat iemand het in de kickoff-meeting opperde. Het is in geen enkele zinvolle betekenis een opvolger van Drupal 7 en het migratieverhaal is identiek aan dat van WordPress, plus een kleinere community. Eruit.
De middenmoot: technisch haalbaar, politiek lastig
Drie routes overleefden de eerste schifting maar verloren in de rangschikking. Ze staan hier omdat ze in elk serieus Drupal 7-gesprek weer opduiken, en omdat we voor de geschiedenis willen vastleggen waarom we ze hebben afgewezen.
TYPO3. Een werkelijk goed Europees CMS met sterke adoptie bij Duitse en Oostenrijkse universiteiten. Het contentmodel laat zich redelijk afbeelden op het entity-systeem van Drupal 7. Het probleem zit in talent. De pool Vlaamstalige TYPO3-contractors in België is klein, en het interne team van de universiteit heeft nul TYPO3-ervaring. Een platformwissel die een nieuw framework, een nieuw templating-systeem en een nieuwe leveranciersafhankelijkheid introduceert in het jaar vóór een aanbestedingsbevriezing, is de leerboekmanier om te laat op te leveren.
Plone. Python, volwassen, populair in academische kringen, met een contentmodel dat de migratie overleeft zonder platslaan. We kwamen dicht bij een plek in de top drie voor Plone. Het verloor op hetzelfde talentargument als TYPO3, aangescherpt door het feit dat het bestaande PHP-team van de universiteit passagier zou worden op een Python-rebuild. De bevriezing betekent dat je dat gat in 2027 niet via aanwerving kunt dichten.
Drupal 10 als brug. Sla Drupal 11 over, neem de long-term-support release en plan een sprong naar Drupal 12 in 2028. Geïsoleerd bezien is dat technisch prima advies. Het politieke probleem is dat je in 2026 een contract tekent voor een platform dat vóór het opheffen van de bevriezing een tweede grote upgrade nodig heeft. Universiteiten hebben een lang geheugen voor migraties die in tweetallen aankomen. Als je eigen Drupal 7-exit erop neerkomt dat "we doen nu D10 en later D11", reken die tweede migratie dan in dezelfde budgetregel mee. Twee aanbestedingen is een ander gesprek dan één.
De top vier, gerangschikt
Dit zijn de routes die we serieus hebben gerangschikt, in stijgende volgorde van hoe goed ze de bevriezing overleven.
4. Drupal 11 greenfield rebuild
Modern Drupal, één platform, één leverancier. Het migratiepad voor content van D7 naar D11 wordt ondersteund, maar is niet pijnloos. De realistische doorlooptijd voor 62.000 nodes in vier talen ligt tussen 14 en 18 maanden met een competent team. Dat past binnen het aanbestedingsvenster als het contract uiterlijk in augustus 2026 wordt getekend, zonder uitloop. Ons risicomodel zette de kans op nul uitloop op ongeveer 35 procent.
De reden dat dit niet won: een greenfield rebuild onder tijdsdruk maakt van elke contentmodelbeslissing een gevecht, en de universiteit heeft 11 faculteiten met 11 verschillende meningen over contentmodellering. De bevriezing haalt de optie weg om een tweede team in te schakelen dat de uitloop opvangt.
3. HeroDevs Never-Ending Support, als time-buy
De Drupal Association benoemde HeroDevs als de officiële Extended Support-partner voor Drupal 7. Hun Never-Ending Support patcht een D7-site tegen security-issues zolang je betaalt, wat functioneel neerkomt op onbeperkt. Op deze schaal doorgerekend bedraagt de licentie ongeveer €60.000 per jaar, niet niks, maar klein vergeleken met een rebuild.
We hebben HeroDevs niet als eindbestemming gerangschikt. We hebben het als vijfjaars-optie gerangschikt. Koop nu drie jaar NES, teken het contract vóór de bevriezing, en gebruik de adempauze om een rustigere migratie te draaien die afrondt nadat de bevriezing in 2029 wordt opgeheven. Het risico is dat "rustiger" verandert in "voor onbepaalde tijd uitgesteld" en je in 2031 wakker wordt op nog altijd Drupal 7. Dat hebben we bij twee klanten op Drupal 6 zien gebeuren.
2. Headless Drupal 11 met een Astro-frontend
Houd Drupal als content-backend en serveer de publieke site via een statische of bijna-statische frontend. Voor een universiteit waar 90 procent van het verkeer bestaat uit read-only onderzoekspagina's, vakcatalogi en medewerkerprofielen, is dit architectonisch correct. Redactionele workflows blijven in Drupal, waar de redacteuren de interface al kennen. De frontend wordt een build-artefact dat naar elke statische hosting kan worden gedeployd.
De migratie-doorlooptijd is vergelijkbaar met de greenfield rebuild, maar de ontkoppeling levert iets specifieks op: de frontend kan later worden vervangen zonder de content aan te raken. Als de aanbesteding in 2030 raar wordt en je van Astro naar iets anders moet wisselen, beweegt de content niet mee. De backend is het bezit, de frontend het verbruiksartikel.
Deze plek is tweede omdat het op het kritieke pad nog steeds een Drupal 11-migratie vereist. De headless-laag is extra complexiteit, en complexiteit kost uren die de bevriezing niet teruggeeft.
1. Backdrop CMS
De route die we als eerste rangschikten, zal mensen verrassen die Backdrop CMS niet recent hebben bekeken. Het is een Drupal 7-fork die sinds 2015 wordt onderhouden door een kleine, gedisciplineerde community. Het upgradepad van D7 naar Backdrop is gedocumenteerd, het module-ecosysteem dekt de long tail van D7-contrib, en het contentmodel overleeft de migratie vrijwel intact.
Het aanbestedingsargument geeft de doorslag. Een Backdrop-migratie is klein genoeg om binnen één contract bij één leverancier te passen, kort genoeg om grotendeels vóór de bevriezing afgerond te zijn, en behoudend genoeg dat het bestaande PHP-team van de universiteit het zonder omscholing kan onderhouden. Het koopt vijf tot zeven jaar runway met één handtekening.
De adder onder het gras is dat Backdrop geen Drupal 11 is. De community is kleiner. De roadmap is behoedzamer. Je wedt op een fork die tot nu toe is bijgebleven en dat misschien blijft doen, maar die niet het institutionele gewicht van het mainline Drupal heeft. Voor een universiteit waarvan de primaire eis is "een stabiele site die tot 2031 geen aandacht van een aanbestedingsambtenaar nodig heeft", is dat de juiste weddenschap.
Voor een universiteitssite van 62.000 pagina's onder een aanbestedingsbevriezing in 2027 verloor het beste technische antwoord (headless Drupal 11) van het beste aanbestedingsantwoord (Backdrop). De bevriezing is de ontwerprandvoorwaarde, geen voetnoot in het bestek.
Wat we anders zouden doen
Drie dingen, achteraf gezien.
Ten eerste: reken het aanbestedingswerk als een aparte begrotingsregel door. We hebben ongeveer 15 procent van de kickoff-fase aan aanbestedingsmechanica besteed en 85 procent aan technische evaluatie. De verhouding had dichter bij 40/60 moeten liggen. Publieke universiteiten leven of sterven bij tendervensters, en een tender die zijn venster met een week mist, is geen tender.
Ten tweede: stop met doen alsof HeroDevs geen antwoord is. De reflex bij migratieadviesbureaus is om extended support als uitsteltactiek te behandelen. Dat is het niet. Het is een financieel instrument dat een deadline omzet in een planning. Voor instellingen onder bevriezingsbeperkingen is die omzetting het waard om eerlijk te offreren, ook als het eindigt met "we raden alsnog aan te migreren".
Ten derde: het headless-argument heeft een aparte pleitbezorger nodig. Het ontkoppelen van backend en frontend is het soort beslissing dat in elke commissie verliest van "zo doen we het altijd al". Als we deze opdracht opnieuw zouden draaien, zouden we een aparte notitie van zeven pagina's schrijven over de headless-optie, geïsoleerd doorgerekend, en die aan de IT-directeur presenteren in plaats van aan de stuurgroep. Dat is geen technische verandering. Dat is een vergaderwijziging.
Eén commando, vandaag
Toen we het Backdrop-migratieplan voor die Belgische universiteit bouwden, liepen we ertegenaan dat 47 van hun 142 contrib-modules geen Backdrop-port en geen Drupal 11-equivalent hadden. We hebben het opgelost met een tweeweekse triage-workshop met de faculteitstrekkers, waarin we elke module sorteerden in de bakken herschrijven, droppen of zonder doen. Precies het soort legacy-migratiewerk dat onze februarimaanden vult.
Als je een Drupal 7-site van enige omvang beheert, draai dit dan op je server vóór de volgende stuurgroep:
drush pm-list --type=module --status=enabled --no-core | wc -lHet getal is de ondergrens van de complexiteit van je migratie. Elke ingeschakelde contrib-module is een module waarvoor je een opvolger moet vinden, een port moet bouwen, of die je moet droppen. We hebben sites gezien waar dat getal 11 was, en sites waar het 340 was. De site met 340 kostte zeven keer zoveel om te migreren als de site met 11, en draaide de helft van het verkeer. Dat getal is je eerste eerlijke datapunt. Haal het binnen voordat je iets anders begroot.
Kern
Voor een universiteit met 62.000 pagina's onder een aanbestedingsbevriezing in 2027 won het beste aanbestedingsantwoord (Backdrop CMS) van het beste technische antwoord (headless Drupal 11).
FAQ
Wordt Drupal 7 in 2026 nog ondersteund?
Niet door de Drupal Association zelf. Drupal 7 bereikte end-of-life op 5 januari 2025. Commerciële extended support is beschikbaar bij HeroDevs, de aangewezen Extended Support-partner voor D7, tegen een jaarlijks tarief per site.
Waarom rangschikten jullie Backdrop CMS boven Drupal 11 voor deze klant?
Aanbestedingstiming. Backdrop past binnen één kort contract en laat het bestaande PHP-team de site onderhouden. Drupal 11 is een langere rebuild met meer kans op uitloop tegen de deadline van de bevriezing in 2027.
Kun je Drupal 7 direct naar Drupal 11 migreren?
Ja. Het ondersteunde pad gebruikt de Migrate API en draait als een sprong in één stap, al hebben contrib-zware sites doorgaans flink wat custom migratie-plugins nodig. Je hoeft niet eerst bij Drupal 10 te stoppen.
Wat kost HeroDevs Never-Ending Support?
De prijs is per site en schaalt mee met verkeer en complexiteit. Voor een academische omgeving met 14 sites offreerden we ongeveer €60.000 per jaar, wat ver onder een volledige rebuild ligt maar bij meerjarig uitstel oploopt.
Wat is een aanbestedingsbevriezing in de Europese publieke sector?
Een institutionele pauze op nieuwe leverancierscontracten en scope-uitbreidingen, meestal gekoppeld aan een budgetreview of bestuurlijke overgang. Het stopt geen werk dat al onder contract loopt, maar blokkeert alles wat nog niet getekend is.