Drupal-site-audit
Een onafhankelijke review tegen vaste prijs van een Drupal-productiesite: of de tests echte bugs vangen, waar de maatwerkcode u prestaties kost, en wat zoekmachines en AI-crawlers werkelijk zien. U krijgt een rapport met ernstclassificatie en benoemde oplossingen, tegen een prijs die vooraf is afgesproken.
Waarom een onafhankelijke Drupal-audit
Vaste prijs
Vanaf £750 + btw, met prijs en leverdatum vooraf afgesproken. Het risico van overschrijding ligt bij mij, niet bij uw projectmarge.
Onafhankelijk
De review heeft gewicht juist omdat ik de code niet heb geschreven. Uw eigen team kan dat voor zichzelf niet zijn.
Gemeten, niet geraden
Blinde vlekken in tests worden aangetoond met foutinjectie. Prestatieclaims komen met cijfers van voor en na.
Beveiligingsreferenties
Vermelding in een advisory van het Drupal Security Team en twee gepubliceerde betaalgateway-modules op Drupal.org.
Wat de audit omvat
Vier doorlopen van dezelfde site, elk met bevindingen waar u los van elkaar mee aan de slag kunt. Een korte opdracht kan elke deelverzameling omvatten; de meeste sites hebben het meest aan de eerste twee.
1. Vangen uw tests werkelijk bugs?
Testcode lezen vertelt u wat die moest controleren. Foutinjectie vertelt u wat die werkelijk vangt. Bekende fouten worden één voor één in de maatwerkmodules en het thema aangebracht, en de bestaande Playwright- of Behat-suite wordt tegen elke fout gedraaid. De fouten die de suite mist, zijn uw gemeten blinde vlekken. Op de laatste site waar ik dit deed, bleef de helft van de geïnjecteerde fouten onopgemerkt, waaronder een kapotte global.js die elk Drupal-behavior op elke pagina uitschakelde en nul testfouten opleverde.
2. Maatwerkcode en prestaties
Een regel-voor-regel lezing van elke maatwerkmodule en elk themabestand, niet alleen een Lighthouse-score. De terugkerende bevindingen zijn preprocess-hooks die max-age op nul zetten en zo stilzwijgend de paginacache voor de hele site uitschakelen, referencedEntities() aangeroepen binnen lussen, en configuratieobjecten die bij elk verzoek opnieuw worden geladen. Dit stapelt zich in de loop der jaren op en komt zelden als bugmelding naar boven, omdat er niets kapot is; de site is alleen traag en niemand kan zeggen waarom.
3. Beveiligingsniveau
Review van contrib- en maatwerkmodules volgens dezelfde normen die ik toepas bij meldingen aan het Drupal Security Team: toegangscontroles, ongesaneerde uitvoer, onveilige queries, bestandsverwerking en verouderde afhankelijkheden met bekende advisories. Met ernstclassificatie, en met patches waar herstel binnen de opdracht valt. Nuttig als bewijs bij ISO 27001-controles of de verlenging van Cyber Essentials.
4. Gereedheid voor zoekmachines en AI-crawlers
Wat Google en de AI-crawlers werkelijk zien, en waarom Drupal dat produceert. Op Drupal is een lege meta description meestal een themasjabloon dat de Metatag-module overschrijft, geen inhoudsprobleem, dus de oplossing hoort in de code en landt op elke pagina tegelijk. Omvat gestructureerde gegevens, Open Graph- en Twitter Card-uitvoer, canonical-afhandeling, sitemap- en robots-directieven, plus llms.txt en crawlerbeleid voor GPTBot, Google-Extended, Claude-Web en PerplexityBot.
Wat u krijgt
Een rapport met ernstclassificatie
Elke bevinding met het bewijs, de impact, het bestand en de regel waar die zich bevindt, en de oplossing. Geschreven om door een technisch leidinggevende gelezen en door de budgethouder doorgebladerd te worden.
Cijfers van voor en na
Foutdetectiepercentage, PageSpeed- en Core Web Vitals-cijfers, aantallen queries. Claims die te controleren zijn in plaats van alleen beweerd.
Een geprioriteerde herstellijst
Gerangschikt op impact tegenover inspanning, zodat de eerste middag werk de belangrijkste is. Herstel wordt apart geoffreerd tegen een vaste prijs zodra de bevindingen bekend zijn, en niets in de auditprijs hangt ervan af of u dat afneemt. Geef de lijst aan uw eigen team als u dat liever doet.
Een echt voorbeeld
Een zakelijke Drupal 11-site met Commerce had een grondige kwaliteitsreview nodig voor een drukke handelsperiode. De bevindingen waren typerend voor een site die jarenlang gezond was geweest en stilletjes was afgedreven:
- Vijf van de tien geïnjecteerde fouten bleven volledig onopgemerkt. De suite was blind voor elke JavaScript-fout.
- Twee preprocess-hooks op site-brede blokken zetten
max-ageop nul, waardoor de Internal Page Cache van Drupal voor de hele site was uitgeschakeld. - Een sponsorblok voerde dezelfde entity query eenmaal per taxonomieterm uit; sliderpagina's deden meer dan twintig afzonderlijke entity loads voor vijf afbeeldingen.
- Zestien niet-gecachte configuratieleesacties per paginaverzoek, elk met een databasebevraging.
- Een hardgecodeerde lege meta description in het basisthema overschreef de Metatag-module op elke pagina, en er bestonden nergens op de site gestructureerde gegevens.
De foutdetectie ging van 50% naar 70% met vier nieuwe tests en een verzamelaar van browserfouten. De cache-, query- en configuratiefixes gingen er tegelijk in. Het volledige verslag, inclusief de foutinjectietabel en de gemeten resultaten, is hier gepubliceerd: hoe de kwaliteitsaudit van de Drupal 11-site stap voor stap is uitgevoerd.
Prijzen
Vanaf £750 + btw
Audits hebben een vaste prijs, schriftelijk afgesproken voordat ik begin. Voor een gemiddelde site kosten de eerste twee doorlopen, tests en maatwerkcode, vanaf £750 + btw; alle vier de doorlopen kosten vanaf £1,250 + btw. Zeer grote of multi-site codebases worden na inzage geoffreerd. Herstel wordt apart geoffreerd zodra de bevindingen bekend zijn, en niets in de auditprijs hangt ervan af of u dat afneemt.
Hoe het werkt
Vertel mij over de site
Drupal-versie, ongeveer hoeveel maatwerkcode, of er een testsuite is, en waar u zich zorgen over maakt. Geen formele specificatie nodig. Ik zeg u eerlijk als een audit niet is wat u nodig heeft.
U krijgt een vaste prijs en een datum
Omvang schriftelijk vastgelegd, vaste prijs, een leverdatum die u aan een klant kunt toezeggen. Geen uurtarief en geen verrassingen door scope creep.
Ik audit een kopie, niet uw productiesite
Het werk gebeurt op een databasekopie en een lokale build. Met name foutinjectie raakt nooit iets wat uw gebruikers kunnen bereiken.
Rapport geleverd, herstel optioneel
U krijgt het rapport en de geprioriteerde lijst. Fixes worden apart geoffreerd, en het staat u vrij het rapport naar uw eigen team te brengen.
Controleerbaar, niet alleen beweerd. In juni 2026 meldde ik het cross-site scripting-probleem in Drupal Commerce Core dat is gepubliceerd als SA-CONTRIB-2026-041. Het staat openbaar op Drupal.org op mijn naam, naast mijn contrib-werk en twee gepubliceerde CyberSource-gatewaymodules.
Veelgestelde vragen
Welke veelvoorkomende problemen komen teams tegen bij een Drupal-site-audit?
De terugkerende zijn preprocess-hooks die max-age op nul zetten en zo stilzwijgend de paginacache voor de hele site uitschakelen, N+1 entity loads binnen lussen, niet-gecachte configuratieleesacties die bij elk verzoek worden herhaald, een testsuite die JavaScript-fouten helemaal niet ziet, en meta-uitvoer hardgecodeerd in een themasjabloon dat de Metatag-module overschrijft. De meeste hiervan stapelen zich stilletjes in jaren op en verschijnen nooit als bugmelding.
Hoe verschilt een Drupal-site-audit van een SEO-audit?
Een SEO-audit kijkt naar wat een crawler ziet. Een Drupal-site-audit kijkt ook naar waarom de site die uitvoer produceert: de themasjablonen, de moduleconfiguratie, de cachemetadata en de maatwerkcode. Op Drupal is een lege meta description meestal een sjabloonbug en geen inhoudsprobleem, dus het bij de bron oplossen lost het op elke pagina tegelijk op.
Hoe weet u of de bestaande testsuite werkelijk werkt?
Door foutinjectie. Bekende fouten van verschillende soorten worden één voor één in de maatwerkmodules en het thema aangebracht, en de bestaande suite wordt tegen elke fout gedraaid. Wat de suite niet opmerkt, is een echte, gemeten blinde vlek in plaats van een mening over testdekking.
Lost u op wat u vindt, of rapporteert u alleen?
De audit zelf is een rapport. Herstel wordt apart geoffreerd tegen een vaste prijs zodra de bevindingen bekend zijn, dus het staat u vrij het rapport aan uw eigen team te geven. Niets in de auditprijs hangt ervan af of u de fixes afneemt.
Kan de audit white-label onder de naam van een bureau worden geleverd?
Ja, en bureaus doen dat vaak. Zie white-label Drupal-overloopcapaciteit voor bureaus voor hoe dat werkt. Een onafhankelijke review heeft bij de eindklant ook meer gewicht, juist omdat de auteur de code niet heeft geschreven.
Welke Drupal-versies audit u?
Drupal 11 en Drupal 10. Ik audit ook Drupal 7- en Drupal 9-sites, al dient het rapport daar meestal tevens als onderbouwing voor een migratie; zie Drupal-support en upgradediensten.
Weet u niet wat de site vertraagt?
Vertel mij de Drupal-versie en waar u zich zorgen over maakt. Ik kom binnen één werkdag terug met een vaste prijs en een datum.
Neem contact op