Kennisbank / WordPress

WordPress beveiliging: zo bescherm je je website tegen hackers


WordPress is een populair doelwit voor hackers. Met deze beveiligingsmaatregelen bescherm je je site tegen de meest voorkomende aanvallen.

Elke dag worden er meer dan 30.000 WordPress-websites gehackt. Dat klinkt als een alarmerend getal, en dat is het ook. Maar het vertelt niet het hele verhaal. Het overgrote deel van die hacks is volledig te voorkomen met maatregelen die je in een middag kunt nemen.

Ik zeg dit bewust zo, want rondom WordPress beveiliging hangt een sfeer van paniek. Beveiligingsbedrijven hebben er belang bij om je bang te maken. Plugins beloven dat je website “onhackbaar” wordt. De werkelijkheid is nuchterder: met een handvol concrete stappen verklein je het risico met meer dan 90%.

In dit artikel loop ik die stappen met je door. Van de maatregelen die het meeste opleveren tot de finetuning voor wie het grondig wil aanpakken. En ja, ook wat je moet doen als het toch misgaat.

WordPress beheer

Waarom worden WordPress-sites gehackt?

Voordat we in oplossingen duiken, is het goed om te begrijpen waar het misgaat. Want de meeste hacks zijn geen gerichte aanvallen van een hacker die specifiek jouw site wil kraken. Het zijn geautomatiseerde scans. Bots die het internet afstruinen op zoek naar bekende kwetsbaarheden.

De meest voorkomende oorzaken:

Verouderde software

Een plugin met een bekend beveiligingslek die niet is geüpdatet. Dit is veruit de grootste bron van problemen. Patchstack rapporteerde in 2025 dat 97% van de WordPress-kwetsbaarheden afkomstig was uit plugins (Bron: Patchstack State of WordPress Security 2025). Niet uit WordPress zelf.

Zwakke wachtwoorden

Brute force aanvallen proberen duizenden wachtwoordcombinaties per minuut. Als jouw adminwachtwoord “bedrijfsnaam2024” is, is het een kwestie van tijd.

Slechte hosting

Op gedeelde hosting kan een gehackte site op dezelfde server jouw site besmetten. Het is alsof je een kluis hebt in een gebouw zonder sloten op de voordeur.

Merk op dat geen van deze oorzaken gaat over WordPress zelf. WordPress core is goed onderhouden software met een actief beveiligingsteam. De problemen zitten in hoe het gebruikt wordt.

WordPress website beveiligen: begin hier

Als je maar vijf dingen doet, doe dan deze vijf. Samen vormen ze de basis waarmee je het leeuwendeel van de aanvallen buiten de deur houdt.

WordPress beveiligingsstappen

1. Houd alles up-to-date

Dit is verreweg de maatregel met de meeste impact. Verouderde plugins zijn de nummer-één aanvalsvector. Zodra een kwetsbaarheid bekend wordt, wordt de exploit vaak binnen uren verspreid. Hackers hoeven niet slim te zijn; ze hoeven alleen snel te zijn.

Wat je moet doen:

  • Log minstens wekelijks in en controleer op updates
  • Update plugins één voor één, niet allemaal tegelijk
  • Maak een backup vóór je update (hierover zo meer)
  • Verwijder plugins die je niet meer gebruikt – ze zijn aanvalsoppervlak zonder nut

Heb je veel plugins? Overweeg dan een beheerservice of een tool als ManageWP om het overzicht te bewaren. Bij meer dan twintig plugins wordt handmatig bijhouden een tijdrovende klus.

WordPress onderhoud kosten

2. Gebruik sterke wachtwoorden en twee-factor authenticatie

Ik weet het – je hebt dit al duizend keer gehoord. Toch zien we bij klanten nog regelmatig wachtwoorden als “Welkom01” of de bedrijfsnaam met een uitroepteken erachter.

Een sterk wachtwoord is minimaal 16 tekens, willekeurig gegenereerd, en uniek voor je WordPress-login. Gebruik een wachtwoordmanager als Bitwarden of 1Password. Geen spreadsheet. Geen Post-it op je monitor.

Maar het echte verschil maak je met twee-factor authenticatie (2FA). Daarmee moet je naast je wachtwoord een code invoeren die verandert om de 30 seconden. Zelfs als iemand je wachtwoord raadt, komt diegene er niet in zonder je telefoon.

Hoe stel je 2FA in?

  • Installeer een plugin als WP 2FA of Two Factor Authentication
  • Download een authenticator-app op je telefoon (Google Authenticator, Authy of Microsoft Authenticator)
  • Scan de QR-code vanuit je WordPress-profiel
  • Test of het werkt door uit te loggen en opnieuw in te loggen
  • Sla je herstelcodes op een veilige plek op

Dit kost je tien minuten en blokkeert het overgrote deel van brute force aanvallen. Er is geen enkele beveiligingsmaatregel die een betere verhouding heeft tussen investering en effect.

3. Kies goede hosting

De hosting waar je website op draait, bepaalt meer dan je snelheid. Het bepaalt ook je beveiligingsniveau op serverniveau. En dat is een laag waar jij als site-eigenaar weinig aan kunt sleutelen.

Waar je op moet letten:

  • Een server-level firewall die verkeer filtert voordat het bij je site komt
  • Automatische malwarescans op serverniveau
  • Site-isolatie, zodat andere sites op dezelfde server jou niet kunnen besmetten
  • Automatische backups met mogelijkheid tot snelle restore
  • Een SSL-certificaat inbegrepen (HTTPS is al jaren standaard, maar het moet wel actief zijn)

Goede Nederlandse opties zijn Savvii, Kinsta en Cloudways. Die kosten meer dan de vijf-euro-per-maand-hosting van een budgetaanbieder, maar het verschil in beveiliging en performance is het waard.

Betaal je nu minder dan tien euro per maand voor je hosting? Dan is de kans groot dat je op een overvolle gedeelde server zit zonder serieuze beveiligingsmaatregelen. Dat is het eerste waar ik naar zou kijken.

4. Maak automatische backups

Een backup is geen beveiligingsmaatregel op zich. Het is je vangnet voor als het misgaat. En het gaat vroeg of laat misgaat – niet alleen door hacks, maar ook door eigen fouten, mislukte updates of servercrashes.

De basisregels:

  • Minimaal dagelijkse backups van zowel je bestanden als je database
  • Bewaar backups buiten je hostingaccount (Google Drive, Dropbox, Amazon S3)
  • Test je backups regelmatig door een restore te doen op een testomgeving
  • Bewaar minstens 30 dagen aan backups, zodat je terug kunt naar een punt vóór de besmetting

Goede plugins hiervoor zijn UpdraftPlus (gratis versie is prima voor de meeste sites) en BlogVault. Sommige hosts zoals Kinsta regelen dit volledig voor je.

Eén waarschuwing: een backup op dezelfde server als je website is geen backup. Als de server compromised is, is je backup dat ook.

5. Installeer een SSL-certificaat

SSL zorgt ervoor dat verkeer tussen je bezoekers en je server versleuteld is. Je herkent het aan het slotje in de browser en de “https” in de URL. Zonder SSL kan iemand op hetzelfde wifi-netwerk als je bezoeker meelezen met wat er verstuurd wordt – inclusief logingegevens.

De meeste hosting-aanbieders bieden een gratis SSL-certificaat via Let’s Encrypt. Activeer het in je hostingpanel en zorg ervoor dat je site automatisch doorverwijst van http naar https.

Check na activatie of er geen “mixed content” is. Dat zijn afbeeldingen of scripts die nog via http geladen worden. Een plugin als Really Simple SSL kan dit automatisch fixen, maar het is beter om de bronlinks aan te passen.

De beste beveiliging WordPress plugins vergeleken

Er zijn tientallen beveiligingsplugins. Een paar daarvan worden het meest gebruikt en zijn bewezen effectief. Ik loop ze door met hun sterke en zwakke punten.

Wordfence

Wordfence is de populairste WordPress beveiliging plugin, met meer dan 4 miljoen actieve installaties. De gratis versie biedt een firewall, malwarescanner en bescherming tegen brute force aanvallen.

Wat goed werkt

  • De scanner vergelijkt je bestanden met de originele WordPress-bestanden en detecteert wijzigingen
  • De firewall blokkeert bekende aanvalspatronen
  • Live verkeersinzicht laat zien wie wat doet op je site
  • De gratis versie is al behoorlijk compleet

Waar je op moet letten

  • Firewallregels in de gratis versie lopen 30 dagen achter op de betaalde versie
  • De plugin is relatief zwaar en kan je site vertragen op langzamere hosting
  • Veel notificaties – je moet even de tijd nemen om die goed in te stellen, anders word je gek van de e-mails

Sucuri Security

Sucuri is meer dan een plugin. Het is een beveiligingsplatform dat een cloud-based firewall (WAF) biedt die verkeer filtert vóórdat het bij je server komt. De plugin zelf is gratis; de firewall is betaald.

Wat goed werkt

  • De cloud WAF is erg effectief tegen DDoS en complexe aanvallen
  • Beveiligingsheaders worden automatisch ingesteld
  • Als je site gehackt is, biedt Sucuri een opschoonservice (bij betaald plan)
  • Minder belasting op je eigen server dan Wordfence

Waar je op moet letten

  • De gratis plugin zonder WAF is vrij beperkt
  • De betaalde plannen beginnen bij $199 per jaar – voor een kleine MKB-site is dat een flinke investering
  • De DNS-wijziging voor de WAF kan technisch lastig zijn als je het zelf doet

Solid Security (voorheen iThemes Security)

Solid Security richt zich op het afsluiten van bekende WordPress-zwaktes. Denk aan het verbergen van de loginpagina, het beperken van inlogpogingen en het afdwingen van sterke wachtwoorden.

Wat goed werkt

  • Gebruiksvriendelijke interface met een beveiligings-wizard
  • Goede integratie met Patchstack voor kwetsbaarheidsdetectie
  • Database-backup bij de Pro-versie
  • Minder belasting op je server dan Wordfence

Waar je op moet letten

  • Geen eigen malwarescanner in de gratis versie
  • Minder community-ondersteuning dan Wordfence
  • Sommige functies (zoals de security dashboard) zitten achter de betaalmuur

Welke plugin moet je kiezen?

Mijn eerlijke advies: voor de meeste MKB-sites is Wordfence in de gratis versie de beste startpositie. De combinatie van firewall, scanner en brute force bescherming dekt de belangrijkste bases.

Heb je een grotere site of webshop met gevoelige klantdata? Dan is de Sucuri WAF de investering waard. Die extra laag vóór je server maakt een meetbaar verschil.

Eén plugin is genoeg. Installeer niet twee beveiligingsplugins tegelijk – ze bijten elkaar en veroorzaken conflicten.

een WordPress website laten maken

Geavanceerd: je WordPress website beveiligen op serverniveau

De maatregelen hierboven dekken 90% van de risico’s. Wil je verder gaan, dan kun je een aantal dingen op serverniveau instellen. Dit vereist toegang tot je .htaccess-bestand of je hostingconfiguratie.

wp-login.php beschermen

Je loginpagina is het meest aangevallen onderdeel van je site. Standaard is die bereikbaar via jouwsite.nl/wp-login.php. Elke bot op het internet weet dat.

Er zijn verschillende manieren om dit te beveiligen:

Beperk inlogpogingen

Plugins als Limit Login Attempts Reloaded blokkeren een IP-adres na een aantal mislukte pogingen. Simpel en effectief.

Verplaats je loginpagina

Met een plugin als WPS Hide Login verander je de URL naar iets als /mijn-toegang. Dit is geen waterdichte beveiliging (het is “security through obscurity”), maar het stopt wel 99% van de geautomatiseerde brute force aanvallen die op /wp-login.php richten.

IP-restrictie op wp-login

Als je een vast IP-adres hebt, kun je in je .htaccess instellen dat alleen dat IP-adres de loginpagina mag bereiken. Dit is de strengste optie en niet altijd praktisch als je veel onderweg werkt.

XML-RPC uitschakelen

XML-RPC (xmlrpc.php) is een oud communicatieprotocol dat WordPress gebruikt voor externe verbindingen. Het werd ooit veel gebruikt door de WordPress-app en externe publicatietools. Tegenwoordig is het voor de meeste sites overbodig, maar het staat standaard aan.

Het probleem: xmlrpc.php wordt misbruikt voor versterkte brute force aanvallen. Met één verzoek kan een aanvaller honderden wachtwoordcombinaties testen. Dat maakt het veel efficiënter dan aanvallen via de loginpagina.

Uitschakelen kan op verschillende manieren:

  1. Via een plugin als Disable XML-RPC
  2. In je .htaccess:
<Files xmlrpc.php>
  Order Deny,Allow
  Deny from all
</Files>
  1. Via je beveiligingsplugin (Wordfence heeft hier een optie voor)

Let op: gebruik je de WordPress-app of Jetpack? Dan heb je xmlrpc.php nodig. Test na het uitschakelen of alles blijft werken.

Bestandsrechten correct instellen

Bestandsrechten bepalen wie bestanden op je server mag lezen, schrijven en uitvoeren. Verkeerde rechten zijn een open deur voor aanvallers die al een voet tussen de deur hebben.

De juiste instellingen voor WordPress:

Bestand/MapRechten
Mappen755
Bestanden644
wp-config.php440 of 400
.htaccess644

De wp-config.php verdient extra aandacht. Dit bestand bevat je databasegegevens en beveiligingssleutels. Stel de rechten in op 440 (alleen leesbaar voor eigenaar en groep) of zelfs 400 (alleen eigenaar).

Je kunt bestandsrechten controleren en aanpassen via FTP (met een client als FileZilla) of via SSH met het chmod-commando.

Beveiligingsheaders instellen

HTTP-beveiligingsheaders vertellen browsers hoe ze met je site moeten omgaan. Ze beschermen tegen clickjacking, cross-site scripting (XSS) en andere veelvoorkomende aanvallen.

De headers die je wilt instellen:

Header set X-Content-Type-Options "nosniff"
Header set X-Frame-Options "SAMEORIGIN"
Header set X-XSS-Protection "1; mode=block"
Header set Referrer-Policy "strict-origin-when-cross-origin"
Header set Permissions-Policy "camera=(), microphone=(), geolocation=()"

Een Content Security Policy (CSP) is technisch de meest krachtige header, maar ook de lastigste om correct in te stellen. Een te strikte CSP breekt functionaliteit; een te losse voegt niets toe. Als je hier niet bekend mee bent, laat dit dan over aan een developer.

wp-config.php vergrendelen

Naast de bestandsrechten kun je extra beveiligingsregels toevoegen aan je wp-config.php:

// Schakel bestandsbewerking in het dashboard uit
define('DISALLOW_FILE_EDIT', true);

// Forceer SSL voor het admin-dashboard
define('FORCE_SSL_ADMIN', true);

// Beperk revisies om de database schoon te houden
define('WP_POST_REVISIONS', 5);

// Verplaats wp-content naar een andere map (optioneel, geavanceerd)
// define('WP_CONTENT_DIR', '/pad/naar/je/custom-content');

Die eerste regel – DISALLOW_FILE_EDIT – is wat mij betreft verplicht voor elke productiesite. Het schakelt de thema- en plugin-editor in het dashboard uit. Als een aanvaller toegang krijgt tot je admin, kan die daarmee niet direct PHP-code wijzigen.

Wat als je WordPress-website gehackt is?

Het nachtmerriescenario. Je opent je website en ziet een vreemde pagina. Of Google markeert je site als “gevaarlijk”. Of je krijgt meldingen dat je site spam verstuurt. Wat nu?

Stap voor stap.

Stap 1: Blijf kalm en documenteer

Paniekacties maken het erger. Verwijder niet zomaar bestanden en ga niet lukraak plugins deactiveren. Maak eerst screenshots van wat je ziet. Noteer wanneer je het ontdekte en wat je als laatste hebt gewijzigd.

Stap 2: Zet je site in onderhoudsmodus

Voorkom dat bezoekers de gehackte site zien en dat zoekmachines de besmette pagina’s indexeren. De snelste manier: hernoem je index.php en plaats een tijdelijk index.html-bestand met een onderhoudsbericht.

Als je nog kunt inloggen, activeer dan een maintenance-plugin.

Stap 3: Maak een backup van de huidige staat

Ja, een backup van de gehackte site. Niet om te herstellen, maar als bewijs en onderzoeksmateriaal. Download alle bestanden en exporteer je database.

Stap 4: Scan op malware

Gebruik de scanning-functie van je beveiligingsplugin of een externe scanner als Sucuri SiteCheck (gratis). Kijk specifiek naar:

  • Onbekende bestanden in je wp-content/uploads map
  • Gewijzigde corebestanden (vergelijk met een verse WordPress-installatie)
  • Verdachte code in je functions.php of wp-config.php
  • Onbekende admingebruikers in je database
  • Vreemde cronjobs (wp-cron taken)

Stap 5: Schoon op of herstel

Je hebt twee opties:

Handmatig opschonen

Verwijder de besmette bestanden, vervang WordPress corebestanden door een verse download, en controleer elke plugin en je thema. Dit is tijdrovend en vereist technische kennis. Je moet zeker weten dat je alles hebt gevonden, want een achtergelaten backdoor betekent dat de aanvaller terugkomt.

Herstellen van een schone backup

Als je een backup hebt van vóór de hack, is dit vaak de snelste route. Herstel de backup, update onmiddellijk alle plugins en WordPress zelf, en wijzig alle wachtwoorden.

In beide gevallen: wijzig daarna alle wachtwoorden. WordPress admin, FTP, database, hosting-paneel. Allemaal. Genereer ook nieuwe beveiligingssleutels voor je wp-config.php via de WordPress salt generator.

Stap 6: Sluit het gat

De hack kwam ergens vandaan. Als je niet vindt hoe, is de kans groot dat het opnieuw gebeurt. Check:

  • Welke plugins waren verouderd op het moment van de hack?
  • Waren er gebruikers met zwakke wachtwoorden?
  • Was de hosting up-to-date?

Neem de beveiligingsmaatregelen uit dit artikel door en implementeer alles wat er nog niet stond.

Stap 7: Vraag herbeordeling aan bij Google

Als Google je site als onveilig heeft gemarkeerd, moet je na het opschonen een herbeoordeling aanvragen via Google Search Console. Dit duurt meestal een tot drie dagen.

(Bron: Google Search Console documentatie over gehackte sites)

Beveiligingschecklist: alles op een rij

Hier is een overzicht van alle maatregelen, geordend op prioriteit. De bovenste vijf zijn het belangrijkst; de rest is voor wie het maximale uit WordPress beveiliging wil halen.

Doe dit vandaag

Doe dit deze week

Doe dit deze maand

WordPress beveiliging is onderhoud, geen eenmalig project

Een veelgemaakte denkfout: beveiliging instellen en het dan als “klaar” beschouwen. WordPress beveiliging is doorlopend onderhoud. Plugins krijgen nieuwe kwetsbaarheden, aanvalsmethoden veranderen, en je site groeit mee met nieuwe content en functionaliteit.

Plan minimaal een uur per week voor het bijhouden van updates, het controleren van beveiligingsnotificaties en het testen van je backups. Dat klinkt als veel, maar het is een fractie van de tijd en kosten die je kwijt bent aan het herstellen van een hack.

Heb je daar geen tijd voor of wil je het uit handen geven? Dat begrijpen we. Bij Red Factory nemen we het volledige WordPress-beheer over, inclusief beveiliging, updates en monitoring. Niet omdat je het niet zelf kunt, maar omdat je tijd beter besteed kan zijn aan het runnen van je bedrijf.

WordPress beheer

Heb je vragen over de beveiliging van je WordPress-site, of wil je weten hoe jouw site er nu voor staat? Neem contact met ons op voor een vrijblijvende beveiligingsscan.

Neem contact op voor een vrijblijvend gesprek: https://redfactory.nl/contact/

Bron: Patchstack State of WordPress Security rapport
Bron: Sucuri Website Threat Research Report
Bron: WordPress.org Security documentation

Wij helpen jou slimmer groeien met AI!

Van websites die converteren tot AI-automatiseringen die je uren besparen. Ontdek hoe wij jouw online aanpak naar het volgende niveau tillen.