WordPress tips & tricks: Radera spamkommentarer i bulk

WordPress spam-kommentarer
Spam av Neil Motteram CC BY 2.0

Har du någon gång arbetat med en äldre, närmast övergiven WordPress-hemsida eller upptäckt någon gammal blogg vars inställningar för kommentarer och spam inte är vettigt justerade, så har du säkert stött på det här problemet. Dina kommentarer visar hundratals, kanske tusentals eller i mitt fall med en övergiven blogg jag arbetade med för över fem år sedan – hela 91 661 kommentarer som väntar moderation!

Massor med spam-kommentarer i WordPress
Massor med spam-kommentarer i WordPress

Det är ganska enkelt att undvika det här problemet proaktivt genom att justera dina inställningar för kommentarer och använda Akismet med rätt inställningar. Kombinationen av detta på en modern WordPress-installation borde leda till att du i bästa fall knappt märker av några spamkommentarer i din admin. Men i det här fallet hade jag av någon anledning glömt utföra de inställningarna och som en följd av det fått nästan 100K kommentarer där jag är säker på att 99.99% av dem är spam.

Spamkommentarer av den här skalan gör inte bara din admin-panel seg, det tar även upp mycket plats i databasen och i värsta fall så kan kommentarerna även vara synliga utåt på hemsidan vilket gör att den ses som oseriös av besökare och nedvärderas av Google.

Idag ska vi ta en titt på hur du kan ta bort alla onödiga kommentarer utan att lägga för mycket tid på det.

Obs! Särskilt för metod 3 är det bra om du tar en full backup av din WordPress-hemsidas filer och databas innan du sätter igång ifall något skulle gå fel eller du råkar ta bort riktiga kommentarer i den vilda jakten på spam.

Metod 1: Öka antalet kommentarer per sida i admin

Om du inte har tusentals oönskade kommentarer och anar att ett par av dem ändå är legitima så kan du utföra en ny sökning efter skräppost genom att trycka på knappen ”Kolla efter skräppost”. Om du har väldigt många så kan det som i mitt fall stå och tugga i flera timmar tills Akismet har fått arbeta klart och analysera alla väntande kommentarer för att se om de klassas som spam eller ej.

Justera antalet kommentarer per sida i WordPress admin
Justera antalet kommentarer per sida i WordPress admin

Efter en sökning sedan öka antalet kommentarer som visas per sida i admin-delen, genom att trycka på ”Panelinställningar” uppe i högra hörnet och öka det värdet från t.ex. 20 till 100 eller 200. Ibland kan detta göra admin segt och ge felmeddelanden för att servern inte orkar med, men om du inte har så många kommentarer så är det bara ett temporärt problem. Du kan prova dig fram tills det går att visa i alla fall ett par fler per sida än innan. Nu kan du sedan gå igenom och markera individuella kommentarer som skräppost om Akismet inte snappade upp dem, godkänna om några är OK och ta bort andra permanent.

Metod 2: Använd plugin som Batch Comment Spam deletion

Radera skräppost i WordPress
Radera skräppost i WordPress

När man tar bort stora mängder spamkommentarer från WordPress så kan ibland servern få nog då det går åt för mycket resurser på en gång åt det. Pluginet Batch Comment Spam deletion delar upp processen i flertalet ”batches”, alltså omgångar med en samling spamkommentarer som tas bort åt gången istället för att försöka ta bort alla på en gång. Detta minskar risken att du får något felmeddelande och det är bara att trycka ta bort en gång och låta det köra av sig själv.

Metod 3: Radera tabeller direkt ur databasen

WordPress spam-kommentarer i PHPmyAdmin
WordPress spam-kommentarer i PHPmyAdmin

Den sista metoden här kräver att du har lite mer kunskaper som utvecklare än en vanlig redaktör för en WordPress-hemsida. Här handlar det om att gå in och ta bort enstaka eller flera kommentarer direkt i databasen via PHPmyAdmin med manuella tryck eller SQL-satser. Istället för PHPmyAdmin kan du även använda verktyg som SequelPro till Mac OS X eller SQLyog till Win 7.

Här är det extra viktigt att du vet vad du gör och har en backup på hemsidan innan du sätter igång. Med några väl valda SQL-satser kan du till exempel ta bort alla förekommande kommentarer som är markerade som spam i tabellen wp_comments med SQL-satsen

DELETE FROM wp_comments WHERE comment_approved = ’spam’

Det kan också vara en bra idé att rensa upp i tabellen wp_commentmeta som också lär ta upp en del utrymme om du har problem med mycket spam i WordPress. Exempel på flera andra bra SQL-satser för att rensa spam kan du hitta i den här guiden.

Resultat:

WordPress spam-kommentarer i PHPmyAdmin efter rensning
WordPress spam-kommentarer i PHPmyAdmin efter rensning

Så här ser det ut efter arbetet: från 336.3 MB till 1 kb. Den här bloggen i fråga hade inga vettiga kommentarer så exakt alla kommentarer och pingar rök, men även om den hade haft många riktiga kommentarer så hade den här siffran också varit drastiskt minskad mot början.