If you get lots of comment spam and DO have the Akismet plugin installed and updated in your WordPress, check the dates of the posts that the spam-comments are being left on. Chances are high that much of the spam is left on older posts. I guess the spammers figured we wouldn’t notice?
Take a look at the Discussion settings from the WP main menu. Note under Other comment settings the third line down where you can fill in the number of days after which an article can’t be commented on.
Fill in some value less than 30 days and that will knock down the number of spam comments left on your blog. Don’t forget to scroll down the discussion settings page and hit the Save Changes button.
There is at least one alternative WordPress plugin (and there’s probably many more, but I haven’t needed to check for any) that was commented on in a positive way, called WP-Spam Free. Might be worth checking out.
So, the spam is getting out of control on your WordPress blog? Even if you have activated the Akismet plugin – and you should – SPAM may keep filing up the comments.
You can just let it ride and those comments identified by Akismet as spam will silently disappear in a month’s time. In the meantime your database will be getting bigger and bloated with thousands of lines of useless information. Will this bog down your blog? Perhaps it will.
I found another reason to manually delete all the spam comments on one of my WP blogs. From the WP Dashboard I saw 1000+ spam comments and went to edit the comments. When I clicked on ‘spam’, the anti-virus software on this computer, AVG, detected a threat on the spam comments page and blocked my access to it. Even after shutting down the browser and returning to the edit spam comments page another day, the AVG software wouldn’t let me in. How could I delete the spam if I can’t get to the page to do it? Even if I could get to that page it would take a long time to delete so many comments. There must be a better solution to getting rid of spam comments in WordPress.
So, how do you mass delete spam comments in WordPress? Check out this excellent video that provides a solution using phpmyadmin and your WordPress blog database.
Steps to follow:
sign in to CPanel
open up phpmyadmin and select the WP database
click on “wp_comments” table and browse to see the comments
backup database by clicking on database name in left column, click on export tab, select all tables under Export, select SQL, check “save as file”, click Go to download database backup to your computer
select comments table, by clicking on the table name wp_comments, then click on the SQL tab
use an sql query to mass delete spam comments in WordPress by typing the following in the Run SQL Query box:
DELETE FROM wp_comments WHERE comment_approved = 0
Click Go, click OK.
If you are using a spam catcher, like Akismet, the value for comment_approved may be set to “spam”, so you’ll need to alter the query as follows:
DELETE FROM wp_comments WHERE comment_approved = ‘spam’
Don’t forget to use the single quote marks to enclose the word spam.
Verify that the number of records in the comments table has been reduced to the number of approved comments. Hooray!
Optimize the WordPress database by going to the Structure tab, or clicking on the database name in the left column, and at the bottom of the table listing click on “Check tables having overhead”. Choose “optimize table” from the spin box on the right and all the extra space that those nasty spam comments took up will be released and the database optimized.
Go back to database view and verify that the overhead space has been removed. The size column now represents the space that is actually used by the database.
Refresh your WP blog and the spam comments will be gone. Isn’t is great to see ZERO spam comments?!
Alternatively, you can catch spam before it lands in your WP blog by modifying the function.php file in your theme using these excellent directions from Tejaswini.