Best practice

WordPress-beveiligingschecklist

8 februari 2026 Bijgewerkt op 19 apr 2026

WordPress draait meer dan 40% van het web, wat het een geliefd doelwit maakt voor geautomatiseerde aanvallen. Het goede nieuws: de meeste succesvolle WordPress-hacks misbruiken bekende, eenvoudig te voorkomen kwetsbaarheden. Deze checklist leidt u door elke laag van WordPress-beveiliging, van transportversleuteling tot hardening op serverniveau. Werk hem systematisch door en uw site zal aanzienlijk moeilijker te compromitteren zijn dan de overgrote meerderheid van WordPress-installaties.

Uw WordPress-site beveiligen met SSL en HTTPS

HTTPS versleutelt alle gegevens die tussen de browsers van uw bezoekers en uw server reizen. Zonder dit worden inloggegevens, formulierinzendingen en sessiecookies in platte tekst verzonden, waardoor ze triviaal te onderscheppen zijn op openbare netwerken.

  • Installeer een geldig SSL-certificaat: De meeste hostingproviders bieden gratis Let's Encrypt-certificaten die elke 90 dagen automatisch worden verlengd. Als uw host Let's Encrypt niet ondersteunt, bevat het gratis abonnement van Cloudflare een gedeeld SSL-certificaat. Er is geen reden om in 2025 zonder HTTPS te draaien.
  • Leid al het HTTP-verkeer om naar HTTPS: Stel een 301-redirect in zodat elk verzoek aan http:// permanent wordt doorgestuurd naar https://. Voeg op Apache dit toe aan uw .htaccess:
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    Voeg op Nginx een server block toe dat omleidt:
    server {
        listen 80;
        server_name example.com www.example.com;
        return 301 https://$host$request_uri;
    }
  • Los alle mixed-contentwaarschuwingen op: Controleer na het overschakelen naar HTTPS op afbeeldingen, scripts of stylesheets die nog via HTTP laden. De browserconsole markeert deze als "Mixed Content"-waarschuwingen. Werk hardgecodeerde http://-URL's in uw database bij met een zoek-en-vervang-tool zoals Better Search Replace.
  • Schakel de HSTS-koptekst in: HTTP Strict Transport Security vertelt browsers altijd HTTPS te gebruiken voor uw domein, zelfs als een gebruiker handmatig http:// typt. Voeg deze koptekst toe met een max-age van minimaal zes maanden (15768000 seconden). Schakel includeSubDomains alleen in als al uw subdomeinen ook HTTPS ondersteunen.

HTTP-beveiligingskoptekst configureren voor WordPress

Beveiligingskoptekst zijn instructies die uw server naar de browser stuurt. Ze kosten niets qua prestaties, maar bieden aanzienlijke bescherming tegen veelvoorkomende aanvalsvectoren zoals clickjacking, MIME-type confusion en cross-site scripting.

  • X-Frame-Options: SAMEORIGIN: Voorkomt dat uw pagina's worden ingebed in iframes op andere domeinen. Dit blokkeert clickjacking-aanvallen waarbij een aanvaller uw site overlayt met onzichtbare elementen om gebruikers te misleiden iets te klikken wat ze niet van plan waren.
  • X-Content-Type-Options: nosniff: Stopt browsers met het raden van het MIME-type van een bestand. Zonder deze koptekst kan een browser een tekstbestand uitvoeren als JavaScript als de inhoud op code lijkt, wat de deur opent voor scriptinjectie.
  • Referrer-Policy: strict-origin-when-cross-origin: Bepaalt hoeveel URL-informatie wordt verzonden bij navigatie naar externe sites. Dit voorkomt het lekken van gevoelige URL-parameters (zoals tokens voor wachtwoordreset) naar third-party servers.
  • Permissions-Policy: Beperkt de toegang tot browserfuncties zoals camera, microfoon, geolocatie en betalings-API's voor ingesloten content. Zelfs als u deze functies niet gebruikt, voorkomt het instellen van het beleid dat geïnjecteerde scripts ze misbruiken.
  • Content-Security-Policy (CSP): De krachtigste beveiligingskoptekst, maar ook de meest complexe om te configureren. CSP definieert welke bronnen scripts, stijlen, afbeeldingen en andere bronnen mogen laden. Begin met Content-Security-Policy-Report-Only om overtredingen te monitoren zonder uw site te breken, en verstrak vervolgens geleidelijk het beleid. Een minimaal startpunt:
    Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:;

U kunt deze koptekst instellen in uw .htaccess-bestand (Apache), uw Nginx-config of via een WordPress-beveiligingsplug-in. Als u Cloudflare gebruikt, kunt u de meeste ervan ook configureren onder Security > Settings.

Hardeningstechnieken voor WordPress core

WordPress zelf wordt goed onderhouden en regelmatig gepatcht, maar de standaardconfiguratie laat verschillende deuren open die u bewust moet sluiten.

  • Houd WordPress core, plug-ins en thema's bijgewerkt: De meerderheid van WordPress-hacks misbruikt bekende kwetsbaarheden in verouderde software. Schakel automatische minor updates in (deze staan standaard aan) en controleer minimaal wekelijks op major updates. Overweeg automatische plugin-updates voor vertrouwde plug-ins.
  • Verwijder ongebruikte plug-ins en thema's volledig: Het deactiveren van een plug-in verwijdert de code niet van uw server. Een aanvaller kan nog steeds kwetsbaarheden in gedeactiveerde plug-ins misbruiken. Verwijder alles wat u niet actief gebruikt en houd slechts één standaardthema als reserve.
  • Schakel XML-RPC uit: De XML-RPC-interface (/xmlrpc.php) is ontworpen voor remote publishing en pingbacks. Tegenwoordig wordt het voornamelijk misbruikt voor brute-force-versterkingsaanvallen en DDoS. Tenzij u het nodig hebt voor Jetpack of de WordPress mobiele app, schakel het volledig uit. U kunt het blokkeren op serverniveau:
    # Apache .htaccess
    <Files xmlrpc.php>
        Order Deny,Allow
        Deny from all
    </Files>
  • Beperk het REST API-gebruikerseindpunt: Standaard onthult /wp-json/wp/v2/users gebruikersnamen aan iedereen. Dit maakt het triviaal voor aanvallers om geldige inlognamen te ontdekken. Beperk dit eindpunt alleen tot geauthenticeerde verzoeken, hetzij met een plug-in, hetzij met een aangepast codefragment.
  • Blokkeer gebruikersopsomming via auteurarchieven: Zelfs zonder de REST API kunnen aanvallers gebruikersnamen ontdekken door /?author=1, /?author=2, etc. op te vragen. Blokkeer dit door verzoeken aan auteurarchieven om te leiden of door ze volledig uit te schakelen als uw site ze niet nodig heeft.
  • Verwijder het WordPress-versienummer: WordPress geeft zijn versie weer in een meta-tag en in de URL's van core CSS/JS-bestanden. Hoewel beveiliging door obscuriteit alleen onvoldoende is, dwingt het verwijderen van het versienummer aanvallers om te onderzoeken in plaats van simpelweg bekende kwetsbaarheden voor uw exacte versie op te zoeken.
  • Beveilig of verwijder het debug.log-bestand: Wanneer WP_DEBUG_LOG is ingeschakeld, schrijft WordPress fouten naar /wp-content/debug.log. Dit bestand kan database-query's, bestandspaden, plugin-fouten en andere informatie bevatten die nuttig is voor aanvallers. Laat debug-logging nooit ingeschakeld in productie en als het bestand bestaat, verwijder het of blokkeer toegang ertoe.
  • Gebruik sterke, unieke wachtwoorden en schakel tweefactorauthenticatie in: Elk WordPress-account moet een wachtwoord hebben van minimaal 16 tekens en uniek zijn voor die site. Voeg tweefactorauthenticatie (2FA) toe met een plug-in zoals WP 2FA of Wordfence Login Security. Deze ene maatregel blokkeert vrijwel alle brute-force-aanvallen.
  • Beperk inlogpogingen: WordPress staat standaard onbeperkte inlogpogingen toe. Gebruik een plug-in zoals Limit Login Attempts Reloaded om IP-adressen te blokkeren na enkele mislukte pogingen, of gebruik een Web Application Firewall (WAF) met brute-force-bescherming.
  • Wijzig het standaard tabelvoorvoegsel van de database: WordPress gebruikt wp_ als standaard tabelvoorvoegsel. Het wijzigen in iets unieks tijdens de installatie maakt geautomatiseerde SQL-injectieaanvallen iets moeilijker. Als uw site al live is, kunt u het nog steeds wijzigen, maar maak eerst een back-up van uw database.

WordPress-bestandspermissies en serverbeveiliging

Bestandspermissies bepalen wie bestanden op uw server kan lezen, schrijven en uitvoeren. Onjuiste permissies zijn een van de meest voorkomende beveiligingsmisconfiguraties.

  • Stel correcte bestandspermissies in: Gebruik 644 voor bestanden en 755 voor mappen. Het bestand wp-config.php moet in de meeste hostingomgevingen op 600 of 640 worden ingesteld. Gebruik nooit 777, dat geeft volledige lees-/schrijf-/uitvoertoegang aan iedereen.
  • Bescherm wp-config.php tegen webtoegang: Dit bestand bevat uw databasereferenties, authenticatiesleutels en salts. Voeg op Apache dit toe aan .htaccess:
    <Files wp-config.php>
        Order Allow,Deny
        Deny from all
    </Files>
    Sommige beveiligingshandleidingen suggereren om wp-config.php één map boven de webroot te verplaatsen. Dit werkt op de meeste setups, maar kan problemen veroorzaken bij sommige hostingproviders.
  • Schakel de ingebouwde bestandseditor uit: WordPress bevat een bestandseditor in het adminpaneel waarmee beheerders thema- en pluginbestanden direct kunnen wijzigen. Als een aanvaller adminrechten verkrijgt, geeft deze editor hem de mogelijkheid om kwaadaardige code te injecteren in elk PHP-bestand. Schakel het uit door deze regel toe te voegen aan wp-config.php:
    define('DISALLOW_FILE_EDIT', true);
  • Blokkeer toegang tot gevoelige bestanden: Bestanden zoals readme.html, license.txt en wp-config-sample.php onthullen informatie over uw WordPress-versie en -configuratie. Blokkeer publieke toegang ertoe via uw serverconfiguratie.
  • Schakel directory browsing uit: Als directory listing is ingeschakeld, kan iedereen door uw map /wp-content/uploads/ bladeren en elk bestand zien dat u hebt geüpload. Schakel het uit door Options -Indexes toe te voegen aan uw .htaccess.

WordPress-back-upstrategie en herstelplanning

Geen enkele beveiligingsinstallatie is compleet zonder een betrouwbare back-upstrategie. Als het ergste gebeurt, is een recente back-up het verschil tussen een klein ongemak en totaal verlies.

  • Automatiseer dagelijkse back-ups: Gebruik een plug-in zoals UpdraftPlus, BlogVault of BackWPup om automatische back-ups op een schema te draaien. Maak minimaal dagelijks een back-up. Sites met veel verkeer of WooCommerce-winkels zouden realtime back-ups moeten overwegen.
  • Bewaar back-ups off-site: Houd kopieën op een externe dienst zoals Amazon S3, Google Cloud Storage of Dropbox. Als uw server is gecompromitteerd, kunnen lokale back-ups ook getroffen zijn.
  • Test uw herstelproces: Een back-up die u nooit hebt getest, is een back-up die u niet kunt vertrouwen. Herstel uw back-up minstens één keer per kwartaal in een staging-omgeving om te bevestigen dat deze werkt.
  • Bewaar meerdere back-upgeneraties: Houd minimaal 30 dagen aan dagelijkse back-ups bij. Sommige infecties blijven weken onopgemerkt, dus u hebt de mogelijkheid nodig om terug te draaien naar een bekend schone staat.

Doorlopende beveiligingsmonitoring voor WordPress

Beveiliging is geen eenmalig project. Er worden regelmatig nieuwe kwetsbaarheden ontdekt en de configuratie van uw site kan in de loop der tijd afdrijven naarmate plug-ins worden toegevoegd of instellingen veranderen.

  • Installeer een beveiligingsplug-in: Wordfence, Sucuri of NinjaFirewall bieden realtime bescherming, waaronder firewallregels, malwarescanning en inlogbeveiliging. Kies er één (niet meerdere, want ze kunnen conflicteren) en configureer de waarschuwingen.
  • Stel automatische InspectWP-scans in: Plan regelmatige scans om uw beveiligingshouding in de loop der tijd te monitoren. InspectWP waarschuwt u voor nieuwe problemen zoals ontbrekende koptekst, blootgestelde debug-logs of versienummerlekken zodra ze verschijnen.
  • Schakel updatemeldingen in: Zorg ervoor dat WordPress u e-mailmeldingen stuurt wanneer core-, plugin- of thema-updates beschikbaar zijn. Beveiligingspatches moeten vaak binnen enkele uren na release worden toegepast om geautomatiseerde exploits voor te blijven.
  • Bekijk gebruikersaccounts regelmatig: Verwijder inactieve accounts, vooral die met administrator- of editor-rollen. Audit uw gebruikerslijst minimaal maandelijks en trek de toegang onmiddellijk in voor iedereen die deze niet langer nodig heeft.
  • Monitor uw access logs: Controleer uw serverlogboeken op ongebruikelijke patronen, zoals herhaalde verzoeken aan /wp-login.php, /xmlrpc.php of paden die niet bestaan. Veel beveiligingsplug-ins bieden een vereenvoudigde logweergave.

Verifieer uw WordPress-beveiliging met InspectWP

Voer een uitgebreide InspectWP-scan uit om alle beveiligingsgerelateerde items in één keer te controleren. De beveiligingssectie behandelt SSL-configuratie, HTTP-beveiligingskoptekst, blootstelling van WordPress-versie, REST API-gebruikersopsomming, toegankelijkheid van debug-logboek en meer. Stel automatische scans in om meldingen te ontvangen wanneer uw beveiligingshouding verandert, zodat u nieuwe problemen kunt aanpakken voordat ze worden misbruikt.

Controleer nu uw WordPress-site

InspectWP analyseert uw WordPress-site op beveiligingsproblemen, SEO-problemen, GDPR-naleving en prestaties — gratis.

Analyseer uw site gratis