WordPress-site gehackt? Een stapsgewijze handleiding voor malwareverwijdering en herstel

Vreemde omleidingen, spampagina's in Google, een hostingopschorting? Hier is een rustig, stap-voor-stap plan om een gehackte WordPress- of WooCommerce-site schoon te maken en schoon te houden.

Bezoekers worden doorgestuurd naar vreemde websites. Google toont Japanse of apotheek spam onder uw domein. Uw host heeft het account opgeschort. Chrome toont een rode waarschuwing. Dit zijn typische tekenen van een gehackte WordPress-site.

Het is stressvol, maar het kan worden opgelost. Deze gids doorloopt de stappen in de juiste volgorde: containment, onderzoeken, schoonmaken, herstellen en versterken.

Tekenen dat je WordPress-site is gehackt

  • Redirects naar spam-, gok- of oplichterswebsites (soms alleen op mobiel of alleen vanuit Google)
  • Onbekende pagina’s in Google-resultaten (site:yourdomain.com toont spam)
  • Nieuwe beheerdersgebruikers die je niet hebt aangemaakt
  • Onbekende bestanden in wp-content/uploads, of PHP-bestanden waar alleen afbeeldingen zouden moeten zijn
  • Een “Deze site kan gehackt zijn” of “Misleidende site vooraan” waarschuwing
  • Uw host meldt malware of een hoog gebruik van bronnen
  • Voor WooCommerce: klanten melden kaartfraude na het winkelen bij jou (een teken van een betalingsskimmer)

Stap 1: Beperk de schade

  1. Zet de site in onderhoudsmodus of blokkeer tijdelijk de openbare toegang als het actief schade toebrengt aan bezoekers of betalingsgegevens verzamelt.
  2. Maak een volledige back-up van de geïnfecteerde site (bestanden en database). Je hebt het nodig voor onderzoek; overschrijf je schone back-ups er niet mee.
  3. Wachtwoorden wijzigen: hostingpaneel, SFTP/SSH, database, alle WordPress-beheerders en e-mailaccounts die aan de site zijn gekoppeld.
  4. Als u een winkel runt en vermoedt dat er een kaartskimmer aanwezig is, informeer dan uw betalingsprovider.

Stap 2: Ontdek hoe ze binnenkwamen

Typische toegangspunten:

  • Verouderde of kwetsbare plugins en thema’s (de meest voorkomende oorzaak)
  • Nulled (gepirateerde) thema’s of plugins met ingebouwde backdoors
  • Zwakke of hergebruikte admin-wachtwoorden
  • Gecompromitteerde hostingaccounts of andere sites op hetzelfde account
  • Gelekte inloggegevens van de computer van een ontwikkelaar

Controleer de servertoegangslogs rond de tijd dat de problemen begonnen, kijk naar recent gewijzigde bestanden en bekijk de lijst met beheerdersgebruikers. Als je het toegangspunt niet vindt, zal de aanvaller waarschijnlijk terugkeren.

Stap 3: Maak de bestanden schoon

De veiligste aanpak is vervangen, niet repareren:

  1. WordPress core: vervang wp-admin en wp-includes door verse kopieën van dezelfde versie van wordpress.org. Met WP-CLI kun je de core-bestanden verifiëren:
wp core verify-checksums
wp plugin verify-checksums --all
  1. Plugins en thema’s: verwijder en installeer opnieuw vanuit officiële bronnen. Verwijder alles wat je niet gebruikt.
  2. Uploads map: er mogen geen PHP-bestanden in wp-content/uploads staan. Zoek ze op:
find wp-content/uploads -name "*.php"
  1. Controleer wp-config.php en .htaccess op geïnjecteerde code, onbekende includes of omleidingsregels.
  2. Zoek naar recent gewijzigde bestanden:
find . -type f -mtime -7 -name "*.php"
  1. Zoek naar veelvoorkomende kwaadaardige patronen zoals eval(base64_decode(, gzinflate( of lange obfuscated strings, maar onthoud dat sommige legitieme plugins vergelijkbare functies gebruiken.

Stap 4: Maak de database schoon

Malware leeft vaak in de database:

  • Onbekende beheerders: verwijder ze
  • wp_options: controleer siteurl, home en verdachte automatisch geladen opties
  • Berichten en pagina’s: zoek naar geïnjecteerde <script> tags of verborgen links
  • Spam pagina’s: verwijder gegenereerde spam berichten
wp user list --role=administrator
wp db search "<script" --all-tables

Stap 5: Reset alle geheimen

  • Genereer nieuwe zouten en sleutels in wp-config.php (dit logt elke gebruiker uit)
  • Verander het databasewachtwoord en werk wp-config.php bij
  • Draai API-sleutels die door plugins worden gebruikt (betaling, e-mail, verzending)

Stap 6: Werk alles bij en scan opnieuw

Werk WordPress, PHP, alle plugins en thema’s bij. Voer vervolgens een scan uit met een gerenommeerde beveiligingsplugin of een externe scanner, en controleer de site vanuit een schone browser en vanaf mobiel.

Stap 7: Los Google-waarschuwingen en spampagina’s op

  1. Controleer Beveiligingsproblemen in Google Search Console
  2. Vraag om een beoordeling nadat de site schoon is.
  3. Voor spampagina’s, zorg ervoor dat ze 404 of 410 retourneren en verwijder spam-sitemaps die de aanvaller heeft toegevoegd.
  4. Controleer de Pagina’s en Sitemaps rapporten op onbekende vermeldingen

Spam-URL’s kunnen een tijdje zichtbaar blijven in Google nadat ze zijn verwijderd. Ze verdwijnen wanneer Google ze opnieuw crawlt.

Stap 8: Versterk de site

  • Automatische updates voor kleine releases en vertrouwde plugins
  • Tweefactorauthenticatie voor alle beheerders
  • Minimale rechten: geef alleen beheerdersrechten aan mensen die ze echt nodig hebben
  • Schakel bestandsbewerking in het dashboard uit:
define( 'DISALLOW_FILE_EDIT', true );
  • Blokkeer PHP-uitvoering in wp-content/uploads
  • Webtoepassing firewall (op host-, CDN- of pluginniveau)
  • Off-site, versiebeheerde back-ups met geteste herstelprocedures (zie mijn server back-up strategie gids)
  • Monitoring: uptime, bestandswijzigingen en Search Console waarschuwingen

Wanneer te herstellen vanuit een back-up in plaats daarvan

Als je een schone back-up van voor de infectie hebt en de winkel sinds dien geen belangrijke nieuwe bestellingen heeft ontvangen, kan het herstellen sneller gaan. Maar je moet nog steeds het toegangspunt verhelpen en alles bijwerken, anders zal de site opnieuw geïnfecteerd raken.

Veelgestelde vragen

Kan een beveiligingsplugin mijn site automatisch schoonmaken?

Het kan veel bekende infecties vinden en verwijderen, maar backdoors en database-injecties worden vaak gemist. Handmatige controle is nog steeds nodig voor een betrouwbare opschoning.

Waarom wordt mijn site opnieuw gehackt na het schoonmaken?

Meestal omdat een achterdeur over het hoofd is gezien of de oorspronkelijke kwetsbaarheid (een verouderde plugin, een zwak wachtwoord) niet is verholpen.

Heeft een hack invloed op mijn SEO?

Het kan, vooral met spam pagina’s en Google waarschuwingen. Snelle opruiming en een beoordelingsverzoek beperken meestal de schade.

Is WooCommerce-gegevens in gevaar?

Mogelijk. Als u vermoedt dat klant- of betalingsgegevens zijn benaderd, zoek dan professionele hulp en controleer uw wettelijke verplichtingen, zoals de regels voor het melden van datalekken onder de GDPR.

Heeft u dringende hulp nodig met een gehackte site?

Ik reinig en beveilig gehackte WordPress- en WooCommerce-sites, vind het toegangspunt en stel back-ups en monitoring in zodat het niet opnieuw gebeurt. Bekijk mijn WordPress- en WooCommerce-service of vraag nu hulp aan.