In ons vorige artikel over Magento onderhoud bespraken we wat onderhoud minimaal inhoudt, waarom proactief verstandiger is dan reactief, en welke kostenniveaus je mag verwachten.
Maar weten dat je een onderhoudscontract nodig hebt is één ding. Weten wat er in zo’n contract moet staan - en waar je op moet letten voordat je tekent - is iets anders. Dit artikel gaat daarover.
Self-service vs uitbesteden
Self-service kan als je in-house developers hebt met echte Magento kennis. Niet een generieke PHP developer die “wel even naar Magento kan kijken”, maar iemand die Composer beheerst, deployment pipelines kan opzetten, security patches kan lezen en begrijpen, en backup heeft als hij ziek is of vakantie heeft. Je omzet moet ook een paar uur downtime aankunnen - fouten maken is dan een leermoment, geen existentiële crisis.
Uitbesteden is beter als je geen Magento expertise in-house hebt, voorspelbare kosten wilt, downtime je direct omzet kost, of je gewoon wilt dat je webshop werkt zonder er zelf over na te denken.
Hybrid is een vaak onderschatte optie: in-house voor dagelijks beheer (content, producten, configuratie, first-line support), externe partner voor specialistisch werk (patches, updates, performance, debugging). Dit werkt goed voor webshops met €100k-500k omzet per maand.
Waar agencies te veel voor rekenen
Er zijn agencies die eerlijk en transparant zijn over kosten. En er zijn agencies die klanten uitmelken.
Onnodige uren
“We hebben 40 uur nodig om deze extensie update te doen.” Nee. Een standaard extensie update kost 1-2 uur inclusief testen. Redelijke ranges:
- Extensie update (standaard): 1-2 uur
- Extensie update (complex, veel custom code): 4-6 uur
- Magento minor update: 8-16 uur
- Magento major update: 40-80 uur
Als de cijfers niet in deze ranges vallen, vraag dan waarom.
Overpriced hosting
“Onze Magento hosting kost €500 per maand inclusief onderhoud.” Een goede hosting kost vanaf ca. €130/maand. Die resterende €370 dekt slechts 3-4 uur developer tijd per maand - niet genoeg voor goed onderhoud. Vaak is het een true-up constructie: de hosting is normaal geprijsd, maar het “onderhoud” is minimaal. Vraag altijd wat er precies inbegrepen is.
Bloated contracten
€2.500/maand met 12 maanden lock-in en dan nog 24 uur wachten op een response? Rode vlag. Goede agencies hebben geen gijzeling nodig. Redelijk is 1-3 maanden opzegtermijn met jaarlijkse pricing review en mogelijkheid om te upgraden of downgraden.
Verborgen kosten
“Het onderhoudscontract is €800, maar Magento updates zijn niet inbegrepen.” Als updates niet in je contract zitten, waar betaal je dan voor? Check de kleine lettertjes: zijn Magento updates, security patches, extensie updates en PHP upgrades inbegrepen? Is er een uren cap?
Wat is wel redelijk?
Developer tarieven in de markt: ZZP €75-110/uur, klein bureau €85-110/uur, groter agency €100-150/uur. Een marge van 30-50% boven directe kosten is normaal. Transparantie over wat inbegrepen is en wat niet is essentieel. Vage contracten en multiyear lock-in zijn dat niet.
Wat zit er in een goed onderhoudscontract
1. Scope van onderhoud
Expliciet: security patches (binnen welk tijdsbestek?), Magento updates (hoe vaak?), PHP updates, extensie updates, en of bugfixes inbegrepen zijn.
2. Monitoring en rapportage
Wat wordt gemonitord (uptime, performance, errors, security, disk space) en hoe wordt gerapporteerd (maandelijks overzicht, direct alert bij kritieke issues, dashboard toegang).
3. Support en response tijden
Hoe neem je contact op, wat is de response tijd per prioriteit, wanneer is support beschikbaar, wie is je contactpersoon.
4. Backups
Frequentie, retentie, storage locatie (onsite, offsite, cloud), restore testing, en wie doet restore bij calamiteit.
5. Wat is NIET inbegrepen
Expliciet uitgesloten: nieuwe features, design wijzigingen, custom module ontwikkeling, Magento major upgrades, migraties. Deze moeten apart worden begroot. Dat is prima, zolang het maar helder is.
6. Escalatie procedures
Wat gebeurt er bij kritieke downtime, een security breach, data verlies, of overschrijding van de uren cap? Wie doet wat, wanneer? Dit moet vastgelegd zijn voordat er een crisis is.
7. Contract voorwaarden
Looptijd, opzegtermijn, prijsaanpassingen (indexatie), betaalvoorwaarden, IP en eigendom van code.
SLA-niveaus uitgelegd
Response time vs resolution time
Response time is hoe snel je partner reageert na een melding. Resolution time is hoe snel het probleem is opgelost. Response time is een garantie. Resolution time is een target - want sommige problemen zijn gewoon complex.
Prioriteit classificatie
- P1 (Critical): Webshop offline, checkout kapot, data breach. Alle klanten beïnvloed.
- P2 (High): Ernstige performance problemen, zoekfunctie down, backend ontoegankelijk.
- P3 (Medium): Kleine functionaliteit werkt niet, visuele bugs, beperkte impact.
- P4 (Low): Cosmetische issues, feature requests, geen klant impact.
SLA’s per contract niveau
Basis (€500-800/mnd): P1 response binnen 4 uur (werkdagen), kantooruren beschikbaarheid, best effort uptime.
Standaard (€800-1.500/mnd): P1 response binnen 2 uur (altijd), 24/7 voor P1, 99% uptime per maand.
Premium (€1.500-3.000/mnd): P1 response binnen 30 minuten (altijd), 24/7 voor alle prioriteiten, 99.9% uptime.
Wat betekent 99% uptime eigenlijk?
- 99% uptime = 7.2 uur downtime per maand
- 99.5% uptime = 3.6 uur per maand
- 99.9% uptime = 43 minuten per maand
- 99.99% uptime = 4.3 minuten per maand
Bij €500k omzet/maand kost elke minuut downtime ~€11. 99% uptime klinkt goed maar betekent €4.750 verloren per maand. Een contract met 99.9% uptime verdient zichzelf terug.
Serieuze contracten hebben SLA breach penalties: credit van 10-25% van het maandbedrag per breach, en na X breaches per kwartaal het recht op contract beëindiging. Transparante rapportage van SLA performance hoort erbij. Contracten zonder consequenties bij breach zijn waardeloos.
Waar begin je?
Misschien ben je nu overweldigd. “Moet dit allemaal?” Laten we praktisch zijn. Als je nu geen contract hebt, is het grootste risico security. Start daar.
Stap 1: Security patches. Minimaal moet je binnen 48 uur na release een security patch toegepast hebben. Alles andere is nice to have, dit is essentieel. Geen budget voor een vol contract? Vraag een agency om een “security only” contract. Alleen patches, niks anders.
Stap 2: Check je huidige staat. Vraag een Magento quickscan aan voordat je een contract afsluit. Draai je op een ondersteunde PHP-versie? Is je Magento up-to-date? Dan weet je wat er moet gebeuren voordat regulier onderhoud zin heeft.
Stap 3: Kies het juiste niveau. Tot €50k/mnd omzet: basis. €50k-250k/mnd: standaard. €250k+: premium. Je kunt altijd upgraden. Beter een basis contract dan helemaal niks.
Stap 4: Test je partner. Een contract tekenen is één ding. Ervaren hoe je partner werkt is iets anders. Let na 3 maanden op: hoe snel krijg je response, is de communicatie helder, wordt er proactief vooruit gedacht of alleen gereageerd? Als het niet goed voelt, wissel van partner.
De echte kosten van geen onderhoud
De gehackte webshop
Een shop draait op Magento 2.4.3 met een bekende kwetsbaarheid. Wordt gehackt. Credit card gegevens gestolen. Kosten: security audit €5.000-10.000, GDPR notificaties €2.000, gemiste omzet €10.000+, mogelijke boetes €0-20.000. Totaal: €17.000-42.000. Een jaar onderhoud had €10.000-18.000 gekost.
De verouderde webshop
PHP 7.4, Magento 2.4.2, extensies van 3 jaar oud. Hosting provider forceert PHP 8.1 upgrade. Site breekt. Emergency fixes, extensies upgraden, Magento upgraden, testen. Totaal: €15.000-27.000. Gespreid had dit €6.000-9.000/jaar gekost.
De trage webshop
Log tabellen nooit opgeschoond, inefficiënte cron jobs. 20% lagere conversie. Bij €100k/mnd omzet = €20k verloren per maand. Over een half jaar: €120.000. Een maandelijks health check had dit voor €1.000-2.000 opgelost.
Conclusie
Magento onderhoud kost €500-3.000 per maand. Geen onderhoud kost meer - in emergency fixes, gemiste omzet, reputatieschade en stress. De vraag is niet of je het kunt betalen, maar of je het je kunt veroorloven om het niet te doen.
Bekijk onze onderhoudspakketten of neem contact op. Meer weten over de basisprincipes? Lees het eerste artikel in deze serie.