Website onderhoud voor Shopify en Next.js: wat er echt bij komt kijken
Wat Shopify voor je regelt, wat je zelf moet laten bijhouden en hoe vaak. Met een checklist voor je Shopify-webshop of headless Next.js-site.
In het kort: Shopify regelt de servers, de beveiliging van het platform en de betalingen. Alles wat je er zelf aan toevoegt, moet je laten bijhouden: je theme, apps, koppelingen en, bij een headless site, de hele winkel die je klanten zien. Dat is goed te overzien als je weet waar het misgaat en het op een vast ritme gebeurt.
Een webshop is nooit echt af. Shopify verandert elk kwartaal iets aan de manier waarop koppelingen werken, de software onder je site krijgt beveiligingsupdates, apps stapelen zich op en elke campagne voegt pagina's en scripts toe. Niets daarvan gaat in één keer mis. Het gaat langzaam mis: voorraad die ineens niet meer klopt met je magazijn, een productpagina die elke maand een beetje trager wordt, een pop-up waardoor een deel van je klanten niet meer kan afrekenen.
Hieronder lees je wat er bij een Shopify-webshop en een headless Next.js-site moet gebeuren, waarom, en hoe vaak. En wat je zelf kunt doen en wat je beter aan je developer overlaat.
Wat valt er onder onderhoud?
Onderhoud is alles wat er na de lancering gebeurt om je site te laten werken zoals bedoeld. Dat zijn ruwweg vijf soorten werk:
- Beveiliging: updates installeren voor de software waar je site op draait.
- Compatibiliteit: zorgen dat updates van Shopify, apps en andere systemen niets breken.
- Snelheid: je site snel houden terwijl er content en scripts bij komen.
- Fixes: bugs, kapotte formulieren en mislukte koppelingen repareren.
- Kleine verbeteringen: een nieuw contentblok, een aanpassing in de checkout-flow.
Het dagelijkse werk aan content en producten, vaak beheer genoemd, valt hier buiten. Dat doet je eigen team meestal zelf, in Shopify of in het CMS.
Wat Shopify voor je doet, en wat niet
Bij een standaard Shopify-webshop draait alles op het platform van Shopify. Bij een headless site is de winkel (storefront) die je klanten zien een losse applicatie, bijvoorbeeld gebouwd met Next.js, die producten uit Shopify haalt en content uit een CMS zoals DatoCMS. Je krijgt daarmee meer vrijheid in ontwerp en snelheid, maar ook meer om bij te houden:
| Wie regelt wat? | Standaard Shopify | Headless (Next.js + Shopify + CMS) |
|---|---|---|
| Servers en hosting | Shopify | Hostingpartij (bijv. Vercel) en je developer |
| Updates van het platform | Shopify, automatisch | Shopify en de CMS-leverancier, automatisch |
| Betalingen en veiligheid van de checkout | Shopify (PCI DSS Level 1) | Shopify |
| De winkel die je klanten zien | Je theme, bijgehouden door jou of je developer | De Next.js-site, bijgehouden door je developer |
| Extra functies | Apps | Eigen code en externe bouwstenen |
| Koppelingen met andere systemen | Je developer of de app-maker | Je developer |
| Snelheid | Apps, theme-code, afbeeldingen en andere media | Caching, afbeeldingen en andere media |
Kort gezegd: met Shopify hoef je niet over servers na te denken. Over je theme, apps en koppelingen wel.
Onderhoud aan een Shopify-webshop
Theme-updates
Werk je met een theme uit de Shopify Theme Store, dan komen er af en toe updates. Shopify zet de nieuwe versie dan als kopie in je themebibliotheek. Je live webshop blijft gewoon staan tot je de nieuwe versie zelf publiceert. Heeft iemand de code van je theme aangepast, dan probeert Shopify die aanpassingen mee te nemen. Lukt dat niet, dan krijg je een melding en moeten ze met de hand worden overgezet. Hoe meer er aan je theme is veranderd, hoe vaker dat gebeurt (Shopify Helpcentrum).
Twee gewoontes die veel ellende schelen:
- Bekijk de nieuwe versie altijd eerst als preview. Klik een productpagina, de winkelwagen en de checkout door voordat je publiceert.
- Vraag je developer bij te houden wat er aan het theme is aangepast en waarom. Zonder dat overzicht weet bij de volgende update niemand meer wat er verloren is gegaan.
Een theme op maat krijgt geen updates van een theme-maker. Er verandert dus niets zonder dat je het weet, maar je developer moet het wel bijhouden.
Koppelingen met andere systemen
Is je webshop gekoppeld aan een ERP, magazijnsysteem, kassasysteem of boekhouding? Dan praat die koppeling met Shopify via een API: een vaste afspraak over hoe systemen gegevens uitwisselen. Shopify brengt elk kwartaal een nieuwe versie van die afspraak uit en ondersteunt elke versie minstens 12 maanden (Shopify.dev, Engelstalig).
Wordt een koppeling nooit bijgewerkt, dan gaat hij daarna niet keihard stuk. Shopify schakelt ongemerkt over op een nieuwere versie. Gegevens kunnen dan net anders binnenkomen dan de koppeling verwacht. Dat merk je pas als orders niet meer goed doorkomen of je voorraad niet klopt.
Je hoeft dit niet zelf te volgen. Vraag je developer of app-leverancier wel of ze het doen, en wanneer de volgende update van je koppelingen gepland staat.
Apps
Elke app die je installeert, kan scripts, widgets en code aan je webshop toevoegen. Nieuwere apps ruimen dat netjes op als je ze verwijdert. Oudere apps laten vaak code achter in je theme, ook als je er al lang niet meer voor betaalt.
Daarom loont het om je apps regelmatig door te lopen:
- Gebruik je de app nog, en doet hij iets wat je theme of Shopify zelf nu ook kan?
- Heeft een verwijderde app code achtergelaten? Dat ziet je developer in een paar minuten.
- Is een belangrijke pagina trager geworden sinds je een nieuwe app hebt geïnstalleerd?
Een trage webshop kost omzet, en ook Google let op snelheid. Google gebruikt daarvoor drie cijfers, de Core Web Vitals (Engelstalig):
- LCP: hoe snel het belangrijkste deel van de pagina in beeld staat.
- INP: hoe snel de pagina reageert als iemand klikt of typt.
- CLS: hoeveel de pagina verspringt tijdens het laden.
Google haalt die cijfers uit het gedrag van echte bezoekers. Je vindt ze zelf in Google Search Console. Een Lighthouse-test, die je vaak in rapporten ziet, is een momentopname op één apparaat. Handig om een probleem op te sporen, maar Google kijkt naar de cijfers van echte bezoekers.
Onderhoud aan een headless Next.js-site
Een headless site is volledig op maat. Dat geeft je meer vrijheid, maar betekent ook dat je developer meer moet bijhouden. Het belangrijkste is de software waar de site op draait up-to-date houden.
Hoe belangrijk dat is, bleek in december 2025. Er werd een ernstig beveiligingslek gevonden in software waar onder meer Next.js 15 en 16 op draaien (CVE-2025-55182, ook wel "React2Shell"). Hostingpartij Vercel (Engelstalig) adviseerde iedereen direct te updaten, ook sites die al extra beveiligd waren. Bij de bouw had niemand dit kunnen voorkomen. Het enige wat telde: was er iemand die de site kende en de update dezelfde dag live kon zetten?
Waar je op kunt letten bij je developer:
- Kleine, regelmatige updates. Een site die elke maand een beetje wordt bijgewerkt, is bij een lek binnen een uur veilig. Een site die twee jaar heeft stilgestaan, moet eerst een grote inhaalslag maken. Dat kost dagen in plaats van uren.
- Een testversie van elke update. Bij een site op Vercel krijgt elke wijziging een eigen testlink. Daar kun je zelf de checkout-flow doorlopen voordat de update live gaat.
- Snelheid bij drukte. Bij de nieuwe site van Milkshake Festival in Next.js en DatoCMS zorgde ik ervoor dat de site bij piekdrukte niet bezwijkt. De oude site gaf juist op die momenten foutmeldingen (bekijk de case).
- Zelf kunnen publiceren. Check af en toe of je team nog zelf pagina's kan bekijken en publiceren. Dat gaat na een update soms ongemerkt mis.
Onderhoud dat voor elke site geldt
Toegankelijkheid
Sinds juni 2025 geldt de Europese toegankelijkheidswet (European Accessibility Act) voor webshops van bedrijven met 10 of meer medewerkers of meer dan € 2 miljoen jaaromzet. In maart 2026 testte de ACM ongeveer 100 van de grootste Nederlandse webwinkels, plus sites van telecom- en energiebedrijven. Bij 61% daarvan konden mensen die hulpmiddelen gebruiken helemaal geen bestelling plaatsen (ACM).
Toegankelijkheid regel je niet één keer. Elke nieuwe campagnepagina, pop-up of app kan het weer breken. Een test die je zelf kunt doen: bestel iets met alleen je toetsenbord. Kom je zonder muis door de winkelwagen en de checkout, dan zit je al beter dan veel webshops.
Privacy en cookies
Nieuwe trackingpixels, apps en marketingtools plaatsen vaak cookies of sturen gegevens door voordat een bezoeker toestemming heeft gegeven. Laat na elke nieuwe tool checken of je cookiebanner nog doet wat hij belooft.
Monitoring
Laat je developer monitoring instellen die alarm slaat als je site plat ligt, er fouten optreden of de checkout niet werkt. Dan weet je dat er iets mis is voordat klanten afhaken of je gaan mailen.
Checklist
Elke maand
- Loop je apps na en verwijder wat je niet meer gebruikt
- Bekijk de Core Web Vitals in Search Console voor je homepage, categoriepagina's en productpagina's
- Doe zelf een testbestelling en test je formulieren en nieuwsbriefinschrijving
- Vraag je developer of de monitoring iets heeft gemeld
- Zorg dat er een back-up wordt gemaakt van de content in je CMS
Elk kwartaal
- Vraag je developer of je koppelingen nog op een ondersteunde versie draaien
- Laat je theme (Theme Store) of de software van je headless site bijwerken
- Test nieuwe pagina's en onderdelen op toegankelijkheid, bijvoorbeeld met de toetsenbordtest
- Laat checken of je cookies en trackingscripts nog kloppen met je cookiebanner
- Laat Search Console nalopen op pagina's die niet worden gevonden, 404's en redirects
Dezelfde dag, als het nodig is
- Ernstige beveiligingslekken
- Kapotte bestellingen, synchronisaties of betalingen
Wat bepaalt hoeveel onderhoud je nodig hebt?
Er is geen standaardprijs, omdat elke site andere onderdelen heeft die kunnen breken. Hoeveel werk het is, hangt vooral af van:
- Het aantal koppelingen (ERP, kassa, magazijn, e-mail). Elke koppeling kan stuk gaan.
- Hoeveel maatwerk je hebt. Een eigen theme, eigen apps of een headless site betekent meer om bij te houden.
- Het aantal landen en talen.
- Hoe snel je hulp nodig hebt. Dezelfde dag bij checkoutproblemen, binnen een week voor een contentwijziging.
- Hoe vaak je nieuwe functies toevoegt.
Een goede vraag aan elke partij: wat krijg ik in een maand waarin er niets misgaat?
Zelf doen of uitbesteden?
Houd contentwerk in eigen huis. Met een goed opgezet CMS is dat makkelijk. Het technische werk (updates, bewaking, koppelingen, snelheid) laat je doen door een developer die je site kent. Dat kun je grofweg op drie manieren regelen:
| Model | Hoe het werkt | Past bij | Let op |
|---|---|---|---|
| Onderhoudspakket | Vast bedrag per maand voor updates, bewaking en back-ups, vaak met een aantal uren voor kleine wijzigingen | Sites die gewoon moeten blijven draaien, of die blijven groeien | Vraag wat er met ongebruikte uren gebeurt en hoe lang je vastzit |
| Strippenkaart | Je koopt vooraf een blok uren, de developer schrijft af wat er gedaan is | Stabiele sites waar weinig verandert | Meestal geen updates, bewaking of vaste reactietijd, tenzij je erom vraagt |
| Op afroep | Je belt als je iets nodig hebt en betaalt per klus | Kleine sites met weinig koppelingen | Trage hulp als de partij je site niet kent of geen tijd heeft |
Wat je vooraf afspreekt
Welk model je ook kiest, leg deze dingen vast:
- Reactietijden, en wat een kritieke storing is. Bijvoorbeeld: de site is onbereikbaar of formulieren werken niet. Dat wordt dezelfde werkdag opgepakt. Een kleine wijziging kan een paar dagen wachten.
- Wat er met ongebruikte uren gebeurt. Schuiven ze een maand door, of vervallen ze?
- Hoe je ziet wat er gebeurt. Een kort overzicht per maand van wat er is gedaan en hoeveel tijd het kostte.
- Hoe lang je vastzit. Een korte vaste startperiode is normaal. Daarna hoort een pakket per maand opzegbaar te zijn.
- Wat er buiten valt. Denk aan licenties voor je CMS en hosting, storingen bij die leveranciers, ontwerp en teksten, en fouten in code die iemand anders heeft aangepast.
- Hoe groter werk gaat. Een nieuwe functie hoort vooraf geoffreerd te worden, zodat je achteraf niet voor verrassingen staat.
Hoe ik het doe
Na de livegang geldt eerst een garantieperiode. Daarna kies je een pakket dat past bij hoeveel je site nog verandert: alleen de techniek bijhouden (updates, bewaking, back-ups), of daarbovenop vaste uren per maand voor kleine wijzigingen, een SEO-check en kort overleg. Voor merken die hun site blijven uitbreiden is er een pakket met meer uren en voorrang. Na een korte vaste startperiode is elk pakket per maand opzegbaar. Liever geen abonnement? Dan kan het ook met een strippenkaart. Op mijn werkwijze lees je hoe ik werk.
Bouw zo dat je minder onderhoud nodig hebt
Twee keuzes bij de bouw besparen later het meeste werk:
- Weinig apps. Elke app die je vervangt door een kleine eigen functie, is er één minder om te betalen, bij te houden en je webshop mee te vertragen.
- Losse contentblokken. Veel onderhoudstijd gaat naar pagina's die per ongeluk zijn gebroken. Voor Orangefit bouwde ik een headless site met DatoCMS waarin het contentteam zelf pagina's maakt in meerdere landen en talen, zonder developer.
Veelgestelde vragen
Heeft een Shopify-webshop onderhoud nodig?
Ja, maar minder dan een site op eigen servers. Shopify regelt hosting, platformupdates en de veiligheid van betalingen. Je theme, apps en koppelingen moet je laten bijhouden.
Hoe vaak moet je een website onderhouden?
Laat je site en checkout continu monitoren. Check apps, snelheid en koppelingen elke maand, en laat software, koppelingen en toegankelijkheid elk kwartaal nalopen. Ernstige beveiligingslekken los je op de dag dat ze bekend worden.
Wat is het verschil tussen website onderhoud en website beheer?
Onderhoud is het technische werk dat je site veilig en werkend houdt. Beheer is het dagelijkse werk aan content en producten. Op een goed gebouwde site doet je eigen team het beheer.
Wat gebeurt er als je onderhoud overslaat?
Meestal niets, een tijd lang. Tot je voorraad ineens niet meer klopt, een beveiligingslek een snelle update vraagt op een site die jaren achterloopt, of een app de checkout breekt. Dan wordt het duurder dan het bijhouden was geweest.
Hulp nodig bij het onderhoud van je site?
Wil je weten welk onderhoud jouw Shopify-webshop of Next.js-site nodig heeft? Vertel me over je site en koppelingen. Plan een gesprek of mail naar info@petercoolen.com.
Bronnen
- Shopify Helpcentrum: Thema's updaten
- Shopify.dev: API versioning (Engelstalig)
- Shopify: PCI compliance (Engelstalig)
- Vercel: Summary of CVE-2025-55182 (Engelstalig)
- ACM: Klant met beperking kan bij merendeel grote webwinkels niet terecht (maart 2026)
- Google Search Central: Core Web Vitals en zoekresultaten (Engelstalig)