HOE KAN IK EEN GROTE HOEVEELHEID SPAM EN PENDING COMMENTAREN VERWIJDEREN UIT WORDPRESS

Er zijn veel anti spam plugins verkrijgbaar die er voor zorgen dat je website niet binnen een week vol staat met spam. Over het algemeen werken die afdoende maar het kan voorkomen dat een spammer een manier heeft gevonden dit te omzeilen en je geconfronteerd wordt met duizenden of misschien wel tienduizenden nutteloze berichten. De berichten zelf kunnen een marketing of redirect doel hebben. Het kan ook zijn dat de spammer het doel heeft de server te laten crashen in de hoop op die manier een kwetsbaarheid te gebruiken en je website/ server te hacken.

Als je op een dag wakker wordt en je ontdekt dat er duizenden commentaren pending staan dan is dat schrikken maar geen ramp. Het is vrij simpel deze te verwijderen. Als de spam blijft komen dan is het zaak dit eerst te stoppen.

Ga via het admin gedeelte naar Instellingen> Reacties en vink “Gebruikers moeten ingelogd zijn om te kunnen reageren” aan en sla dit op.

Ga daarna via Instellingen > algemeen en zorg dat “iedereen kan registreren” uitgevinkt is / niet aan staat. De rust zou nu moeten zijn weder gekeerd!

Verwijderen van de spam

1. De ingebouwde “spam verwijderen” knop in WordPress. Als WordPress de commentaren herkend heeft als spam dan kan je alle spamberichten met een druk op de knop verwijderen. Via je admin gedeelte ga je naar “Reacties” en selecteer “Spam” en kies “Spam Leegmaken“.

Er zijn twee mogelijk optredende problemen met deze manier. Er kan een timeout ontstaan en geheugen problemen. Dit hangt af van de hoeveelheid (300.000 berichten) spam en de PHP / Serverinstellingen. Dit zorgt dat het proces vastloopt. Ook kan het zijn dat de commentaren niet als spam herkend zijn en daarom als “Wachtend” staan of gewoon gepubliceerd zijn. In deze twee laatste gevallen heb je geen knop om ze allemaal tegelijk te verwijderen.

2) Als je tegen het probleem aanloopt dat het proces vast loopt dan kan je met de plugin Batch Comment Spam Deletion de spam in batches van 100 verwijderen. Deze plugin is zeer makkelijk in gebruik. Mocht de server alsnog vastlopen op dit proces dan is het mogelijk het aantal per batch te wijzigen. Je moet daarvoor wel een aanpassing in de code doorvoeren.

Je kan dat doen door het aantal aan te passen via een filter:

<?php
function pw_bcsd_per_batch( $per_batch ) {

$per_batch = 50;

return $per_batch;

}
add_filter( ‘pw_bcpd_comments_per_batch’, ‘pw_bcsd_per_batch’ )

Of door een constante toe te voegen aan je wp-config.php:

define( ‘PW_BCPD_PER_BATCH’, 50 );


3) Gebruik een SQL command. (Maak altijd eerst een backup van de wordpress database en weet hoe je een database kan herstellen.)

Je kan “SELECT” gebruiken inplaats van “DELETE” om te testen wat je doet.

Zorg dat de juiste database is geselecteerd in PhpMyAdmin.

  1. Verwijder alle spam uit de wp_comments tabel:

    DELETE FROM wp_comments WHERE comment_approved = “spam”;

  2. Verwijder alle pending / wachtende commentaren uit de tabel wp_comments:

    DELETE FROM wp_comments WHERE comment_approved = ‘0’;

  3. Schoon de tabel wp_commentmeta op:

    DELETE FROM wp_commentmeta WHERE comment_idNOT IN (SELECT comment_idFROM wp_comments)

  4. En dan de laatste actie:

    DELETE FROM wp_commentmeta WHERE meta_key LIKE “%akismet%”

Je wordpress zou nu schoon moeten zijn van spam en wachtende commentaren.


3) Als het gebruik van phpMyAdmin je laat duizelen dan kan je ook gebruik maken van een plugin zoals SQL Executioner.

De SQL query’s /opdrachten zijn gelijk aan het commando in phpMyAdmin

Kom je er niet uit? Voor € 35,- los ik het probleem voor je op.

 

 

0 antwoorden

Plaats een Reactie

Meepraten?
Draag gerust bij!

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *