Is je WordPress site gehackt? Dan wil je twee dingen tegelijk: weten wat er precies is binnengedrongen, en je site veilig en volledig herstellen zonder dat de aanvaller terugkomt. Een gehackte WordPress site bevat vaak meer dan zichtbare spam, namelijk verborgen malware en backdoors die na een simpele opschoonactie blijven zitten. In deze stap-voor-stap handleiding leggen we uit hoe je na een hack malware en backdoors opspoort, je WordPress site opschoont en herinfectie en een Google-blacklisting voorkomt.
Wat zijn malware en backdoors in een gehackte WordPress site?
Wanneer je WordPress website is gehackt, wordt er vaak meer geplaatst dan alleen zichtbare spam. Aanvallers installeren malware om data te stelen of je server te misbruiken en backdoors om later eenvoudig opnieuw binnen te komen. Een backdoor is meestal een verborgen script of gemanipuleerd WordPress bestand waarmee een hacker, zelfs na een herstelde login, alsnog toegang kan krijgen.
Het lastige is dat deze bestanden vaak verstopt zitten tussen legitieme WordPress core bestanden, thema’s en plugins. Daarom is het belangrijk systematisch te werk te gaan in plaats van alleen een verdachte plugin uit te schakelen.
Stap 1: Zet je gehackte WordPress site in quarantaine
Schakel tijdelijk alle frontend toegang uit door onderhoudsmodus te activeren of de site achter een simpele serverauthenticatie te zetten. Dit verkleint de kans dat malware verder wordt verspreid of dat bezoekers worden doorgestuurd naar phishing pagina’s. Met WP-CLI activeer je onderhoudsmodus in één commando:
wp maintenance-mode activate
Log daarna in via SFTP of SSH en maak een volledige backup van bestanden en database, hoe besmet die ook lijkt. Deze kopie gebruik je later om verdachte code te analyseren:
tar -czf ~/site-besmet-$(date +%F).tar.gz /var/www/jouwsite
wp db export ~/db-besmet-$(date +%F).sql
Heb je nog een oudere schone backup, dan kan die later helpen bij het vergelijken van bestanden. In een andere blog hebben we al eens uitgelegd hoe je veilig een gehackte WordPress website herstelt met een backup. Dat artikel vind je hier: WordPress website herstellen na een hack.
Stap 2: Verdachte WordPress bestanden en code herkennen
Controleer core bestanden, thema’s en plugins
Vergelijk de WordPress core bestanden met een originele download van dezelfde versie. Bestanden die plotseling extra code bevatten of onverwachte wijzigingen in wp-config.php en index.php zijn vaak een rode vlag. Controleer ook de map wp-content, vooral uploads, op PHP bestanden die daar normaal niet horen te staan. Dit commando vindt ze direct:
find wp-content/uploads -name "*.php" -type f
Een veelgebruikte truc is het verstoppen van backdoors in bestandnamen die sterk lijken op standaard WordPress bestanden, bijvoorbeeld wp-config-old.php of functions-old.php. Zoek in alle PHP-bestanden naar verdachte functies en recent gewijzigde bestanden:
# Verdachte functies in PHP-bestanden opsporen
grep -rEl "eval\(|base64_decode|gzinflate|str_rot13|system\(|shell_exec" \
--include="*.php" .
# Bestanden gewijzigd in de afgelopen 14 dagen
find . -name "*.php" -mtime -14 -type f
Niet elke hit is malware (sommige plugins gebruiken deze functies legitiem), maar bestanden die én recent gewijzigd zijn én deze functies bevatten verdienen handmatige controle in een code-editor.
Scan automatisch met WP-CLI en security plugins
Heb je SSH-toegang, dan is WP-CLI de snelste manier om manipulatie van core bestanden te ontdekken. Deze commando’s vergelijken elk bestand met de officiële checksums van WordPress.org en tonen direct welke bestanden zijn gewijzigd of toegevoegd:
# Core bestanden verifiëren
wp core verify-checksums
# Alle plugins verifiëren
wp plugin verify-checksums --all
Aanvullend kun je een malwarescanner zoals Wordfence of Sucuri Scanner draaien. Die herkennen bekende malware-signaturen in thema’s, plugins en uploads. Vertrouw nooit blind op één scanner: combineer een plugin-scan met de handmatige checks hierboven, want nieuwe backdoors staan vaak nog niet in signature-databases. Let op: malware komt regelmatig binnen via illegale of “nulled” plugins en thema’s. Waarom dat zo riskant is, lees je in ons artikel over de risico’s van gratis WordPress plugins en thema’s.
Vergeet .htaccess, cronjobs en must-use plugins niet
Drie plekken die bij een opschoonactie vaak worden overgeslagen: het .htaccess bestand (aanvallers voegen hier redirects naar phishing-sites toe), de map wp-content/mu-plugins (must-use plugins worden automatisch geladen zonder dat je ze kunt deactiveren) en server-cronjobs die malware na verwijdering opnieuw downloaden. Controleer ze zo:
# Alle .htaccess bestanden vinden en bekijken
find . -name ".htaccess" -exec cat {} \;
# Must-use plugins controleren
ls -la wp-content/mu-plugins/
# Cronjobs van alle relevante gebruikers bekijken
crontab -l
sudo ls /etc/cron.d/ /var/spool/cron/crontabs/
# WordPress' eigen geplande taken op vreemde entries checken
wp cron event list
Scan database en gebruikersaccounts
Malware beperkt zich niet altijd tot bestanden. Controleer de wp_options tabel op onbekende scripts in geserialiseerde data en kijk of er extra admin accounts zijn aangemaakt:
# Alle administrators tonen
wp user list --role=administrator
# Verdacht account verwijderen en content toewijzen aan jouw account
wp user delete VERDACHT_ID --reassign=JOUW_ID
# Alle wachtwoorden resetten en sessies vernietigen
wp user reset-password $(wp user list --field=ID) --skip-email
wp user session destroy --all $(wp user list --field=ID)
# wp_options doorzoeken op injectiescripts
wp db query "SELECT option_name FROM wp_options WHERE option_value LIKE '%<script%' OR option_value LIKE '%base64_%';"
Combineer dit met het instellen van sterke wachtwoorden en bij voorkeur two-factor authenticatie via een security plugin.
Stap 3: Opschonen, herstellen en beter beveiligen
Verwijder alle verdachte bestanden en herinstalleer WordPress core, thema’s en plugins vanuit betrouwbare bronnen. Vervang zo veel mogelijk code in plaats van alleen losse regels te verwijderen:
# Core volledig vervangen door een schone download (behoudt wp-content en wp-config.php)
wp core download --force --skip-content
# Plugins en thema's opnieuw installeren vanaf WordPress.org
wp plugin install $(wp plugin list --field=name) --force
wp theme install $(wp theme list --field=name) --force
# Daarna alles updaten
wp core update && wp plugin update --all && wp theme update --all
# Security keys vernieuwen zodat gestolen cookies waardeloos worden
wp config shuffle-salts
Moet je terugvallen op een backup, kies dan bewust welke methode je gebruikt. In onze handleiding WordPress backup terugzetten zonder downtime vergelijken we vier methodes, inclusief de valkuilen na een hack.
Stel vervolgens een veiligere hosting en beheeromgeving in. Bij PC Patrol adviseren we vaak managed webhosting, zodat updates, monitoring en beveiligingslagen structureel worden bewaakt. Wil je weten wat dit voor jouw site kan betekenen, bekijk dan onze pagina over managed webhosting.
Stap 4: Controleer of je site echt schoon is
Na het opschonen wil je zeker weten dat er niets is achtergebleven. Draai de checksum-verificatie en malwarescan opnieuw en monitor minimaal twee weken je toegangslogs op verdachte requests naar verwijderde bestanden: aanvallers proberen hun backdoor vrijwel altijd opnieuw te bereiken.
# Herverifiëren na opschonen
wp core verify-checksums && wp plugin verify-checksums --all
# Toegangslogs live volgen op pogingen om bekende backdoor-bestanden te bereiken
tail -f /var/log/nginx/access.log | grep -E "\.php" | grep -vE "wp-admin|wp-login|wp-cron|admin-ajax"
Controleer daarna in Google Search Console of er beveiligingswaarschuwingen of handmatige acties openstaan en vraag indien nodig een beoordeling aan. Check ook of je domein op blocklists staat, bijvoorbeeld via Google Safe Browsing en VirusTotal. Draait je site op een eigen server, lees dan ook hoe je met threat hunting op een Linux VPS verborgen bedreigingen op serverniveau opspoort. Vergeet tot slot niet de onderhoudsmodus weer uit te zetten met wp maintenance-mode deactivate.
Liever nooit meer zelf malware opsporen?
Dit stappenplan doorlopen kost al snel een hele dag, en de tweede keer wil je niet meer in deze positie zitten. Besteed je WordPress-beheer uit, dan draaien wij updates, dagelijkse backups, malware-scans en monitoring op de achtergrond, zodat een hack veel minder kans krijgt. Wil je ook de hosting bij ons onderbrengen? Op onze managed WordPress hosting staan Imunify360, LiteSpeed en automatische updates standaard ingeschakeld.
Veelgestelde vragen over een gehackte WordPress site
Hoe weet ik of mijn WordPress site gehackt is?
Signalen dat je WordPress site gehackt is: onverwachte redirects, onbekende admin-gebruikers, vreemde PHP-bestanden in uploads, een dalende positie in Google of een waarschuwing in Search Console. Een combinatie van wp core verify-checksums en een malwarescanner geeft snel uitsluitsel.
Is een malwarescanner-plugin genoeg om een hack op te lossen?
Nee. Scanners vinden bekende malware, maar missen vaak verse backdoors en aanpassingen in de database of .htaccess. Volg daarom altijd het volledige stappenplan: quarantaine, handmatige controle, herinstallatie van core en plugins, en nacontrole.
Hoe voorkom ik dat mijn WordPress site opnieuw gehackt wordt?
Houd alles up-to-date, gebruik 2FA, verwijder ongebruikte plugins en thema’s, en zorg voor een Web Application Firewall, dagelijkse backups en security monitoring. Op onze blog delen we regelmatig verdiepende artikelen over WordPress veiligheid en hosting, zodat je de kans op een nieuwe hack zo klein mogelijk maakt.