Elke “ultieme WordPress-onderhoudschecklist” op pagina één van Google ziet er hetzelfde uit. Twintig opsommingen. Drie plugin-aanbevelingen per punt. Stockfoto van een hand op een muis. De boodschap: doe alle twintig dingen en je site is veilig. In de praktijk doe je er nul, lees je de volgende checklist en voel je je weer schuldig.
Deze lijst is korter omdat ik je vertel welke taken je gerust kunt overslaan. Heb je een kleine zakelijke site (brochure, lead-gen, kleine webshop), dan dekt 45 minuten per maand zo’n 90% van wat ertoe doet. De andere 10% leg je vast met wie het voor je doet.
Wat “onderhoud” inhoudt
Vier lagen: WordPress core, plugins, themes, en de combinatie monitoring + backup die je redt als het misgaat. Uitgebreider in de vorige post over wat het je kost als je dit overslaat.
Plugins zijn veruit het grootste aanvalsoppervlak. Van de 11.334 kwetsbaarheden die Patchstack in 2025 registreerde zat 91% in plugins, 9% in themes, zes in totaal in core zelf. Daarom leunt deze checklist zwaar op de plugin-laag. Database-optimalisatie, image-compressie en broken-link-audits zijn echte taken, maar geen van alle de reden dat je site gehackt wordt.
Wekelijks: 5 minuten
Open het dashboard. Ga naar Updates. Je zoekt één ding: staat er iets aangemerkt als security release? Zo ja, dan gaat dat vandaag of morgen via staging naar productie. Zo nee, laat ze zitten voor de maandelijkse beurt.
Verder niets. Niet op “Update All” klikken. De wekelijkse check vangt alleen de urgente dingen; het echte updaten doe je één keer per maand.
Nuttig om er even bij te pakken: de mail van je monitoring-tool (UptimeRobot of vergelijkbaar). Stond er iets anders dan 100% uptime, vraag je af waarom. Drie downtime-meldingen in dezelfde week is een hosting-probleem, geen WordPress-probleem.
Maandelijks: 45 minuten (als er niets breekt)
Plan het in. Eerste maandag van de maand, agenda dichtgooien. Maandelijks onderhoud sneuvelt altijd op hetzelfde punt: het is nooit het meest urgente ding op een maandagochtend. Tot de dag dat je shop offline staat.
- Trek een verse staging-kopie. Een echte: zelfde PHP-versie, zelfde database, zelfde theme. Niet alleen een file-backup. De meeste managed hosts hebben een one-click staging-optie. Heb je die niet, los dat dan eerst op. Direct op productie updaten is hoe alle kapotte-WooCommerce-verhalen beginnen.
- Pas alle openstaande updates toe op staging. Eerst core, dan plugins (security-tagged eerst binnen die groep), dan themes. Refresh na elke batch en klik even rond. Gaat er iets mis, dan weet je welke update het deed.
- Klik de kritieke flows door. Brochure-site: homepage, contactformulier (verstuur een echte test), belangrijkste dienstpagina. Webshop: in winkelmandje plaatsen, checkout, betaling met een echte (en daarna gerefunde) Stripe-test. Vijf minuten. Daar vangt staging precies de bugs voor die je anders pas op productie ontdekt.
- Push naar productie. Handmatig dezelfde updates op live, of via de “push staging to live”-knop van de host als je die vertrouwt.
- Verifieer de laatste backup. Open je backup-tool. Komt de laatste geslaagde run overeen met gisteren? Staat het bestand ook echt off-site (S3, Backblaze, Dropbox, niet op je eigen server)? Twijfel je, zet er dan eentje terug. Een backup die je nooit hebt teruggezet, is een backup die je niet hebt.
-
Scan het security-log. Heb je Wordfence, Sucuri of de firewall van je host actief, kijk dan naar de afgelopen maand. Herhaalde 404’s op
/wp-login.phpzijn achtergrondgeruis. Geslaagde logins uit een land waar niemand van je team zit, niet.
Klikt alles soepel door, dan ben je in 45 minuten klaar. Breekt er iets op staging, reken dan 1 tot 3 uur en push pas naar productie als het opgelost is. Die wisselvalligheid is de echte kostprijs van WordPress-onderhoud. Niet het gemiddelde, maar de piek wanneer een update misgaat.
Per kwartaal: 2 uur
Eens per drie maanden kijk je naar de lagen onder het dashboard. De maandelijkse routine houdt de site werkend; de kwartaalbeurt voorkomt dat hij schuld opbouwt.
- Plugin-audit. Maak een lijst van elke actieve plugin. Per plugin: gebruik je hem nog écht? Wanneer was de laatste update van de auteur? Langer dan 12 maanden geleden? Dan zit hij op het pad naar verwaarlozing. In 2024 werden 1.614 plugins uit de WordPress.org-repository verwijderd wegens onopgeloste beveiligingsproblemen. Vervang die plugins voor ze worden teruggetrokken. Verwijder wat je niet gebruikt.
- PHP-versie check. Open je hosting-paneel. Welke PHP-versie draait de site? Ouder dan 8.2? Plan dit kwartaal de migratie. End-of-life PHP krijgt geen security-patches meer en breekt op den duur met nieuwere plugins.
- Test een backup-restore. Pak een recente backup, zet hem terug op staging, controleer of hij opstart en de homepage toont. Dit is de enige test die bewijst dat de keten werkt.
- Formulier-spam check. Open de inzendingen of de mailbox waar ze landen. Is 80% spam, dan heeft het formulier hCaptcha of een honeypot nodig. Bewaar je inzendingen in de database, kijk dan hoeveel. Ik heb sites gezien met 90.000 contactformulier-rijen die niemand ooit las. Dat is de echte oorzaak van database-bloat die mensen vaak op “optimalisatie nodig” schuiven.
Jaarlijks: 1 uur
- Gebruikers opschonen. Open Gebruikers. Verwijder iedereen met admin- of editor-rechten die niet meer voor je werkt. Oude admin-accounts van een vorige developer of bureau zijn een veelvoorkomende inbraakroute.
- Wachtwoord-rotatie. Reset je eigen admin-wachtwoord. Forceer een reset voor andere gebruikers als dat kan. Jaarlijks is een verdedigbaar compromis. Vermoed je een lek, doe het diezelfde dag.
- Verlengingen-check. Open je registrar, je hostingprovider en je SSL-certificaat (als het geen Let’s Encrypt is). Staan de auto-renewals daadwerkelijk aan? Wanneer verloopt elk? Een verlopen domein is de snelste manier om een bedrijf in één nacht kwijt te raken. De oorzaak is bijna altijd “we dachten dat het op auto-renew stond.”
- SEO-baseline check. Trek de Search Console-data van het afgelopen jaar. Vergelijk top queries en pagina’s year-over-year. Plotselinge dalingen wijzen op algoritme-treffers, indexeringsproblemen of technische regressies. Een GEO audit dekt dezelfde vraag aan de AI-search-kant.
Wat andere checklists je laten doen, en waarom je dat niet hoeft
Hier loopt het bij die 20-puntenlijsten dik. De volgende taken zijn niet nutteloos, maar ze houden je site niet veilig of snel. Tijd die je beter besteedt aan de punten hierboven.
- Wekelijkse database-optimalisatie. Een WordPress-database fragmenteert zoals een harde schijf fragmenteert: nauwelijks. Moderne MySQL handelt het zelf af. Het echte database-probleem is bloat van plugins die elke formulier-inzending, achtergelaten winkelmandje of revisie eeuwig bewaren. Plus autoloaded options die ongelimiteerd groeien. Vind en fix de bron-plugin. Niet wekelijks een optimizer draaien en dat onderhoud noemen.
- Maandelijks handmatig op gebroken links checken. Eens per jaar nuttig als onderdeel van de SEO-baseline, niet maandelijks. Plugins die continu scannen leggen meetbare database-belasting op zonder dat de waarde daartegen opweegt.
- Image-optimalisatie sweeps. Comprimeer images bij upload met één set-and-forget plugin (of beter: voor de upload). Een maandelijkse “optimaliseer alles”-ronde lost een probleem op dat je had moeten voorkomen.
- Continu een security scanner laten draaien. Één scan tijdens de maandelijkse sessie volstaat voor de meeste sites. Dagelijkse scans op een kleine site zijn CPU waar je voor betaalt om dingen te detecteren die niet gaan gebeuren.
- Themes updaten die je niet gebruikt. Niet updaten. Verwijderen. WordPress houdt inactieve themes als fallback; één default theme is genoeg.
Als je het uitbesteedt: vijf dingen die je vastlegt
De meeste niet-technische eigenaren besteden het uiteindelijk uit. De prijsspreiding is enorm: van €15/maand voor een geautomatiseerde update-bot die zich voordoet als service, tot €200+/maand voor een bureau. Waar je voor betaalt zou dit moeten zijn:
- Updates getest op staging voor ze productie raken. Niet “we hebben een backup, dus we kunnen terugdraaien.” Dat betekent dat je live shop er eerst uit lag.
- Off-site backups, dagelijks, met een kwartaalse restore-test. Dat het backup-bestand ergens landt is de helft. Bewijzen dat het terug te zetten is, is de andere helft.
- Een maandrapport waarin staat wat er bijgewerkt is, wat er is uitgesteld, en waarom. Zie je niet waar je voor betaalt, dan betaal je te veel.
- Een vastgelegde reactietijd voor een kritiek security-incident. “We pakken het op” is geen reactietijd. Twee uur, vier uur, zelfde werkdag: kies een getal.
- Plugin-vervanging als een auteur stopt. Elke checklist zegt je verwaarloosde plugins te vervangen, maar bijna geen onderhoudscontract dekt dat werk. Krijg het op papier of begroot het apart.
Alles onder die lat is een geautomatiseerde update-knop met een marge erop. Die zit gratis in WordPress.
Wrap-up
Een WordPress-site gezond houden is niet ingewikkeld. Het is repetitief, met een kleine onvoorspelbare piek wanneer een update iets breekt. Dat je het inplant of uitbesteedt is precies om te voorkomen dat die piek samenvalt met de slechtst denkbare dinsdag. 5 minuten per week, 45 minuten per maand, 2 uur per kwartaal. De andere tien dingen die elke checklist je laat doen zijn grotendeels bezigheidstherapie. Die kun je overslaan zonder iets zinnigs te missen.