Believe it or not, I recently had about 12,000 comments waiting to be reviewed, approved or deleted, and it all looked like spam (well of course).
So how did it happen? Well I was stuck with loads of work and deadlines offline so I didn’t have time to write so much during past 2 months. And I will use this opportunity to say that I’m really sorry about that. (won’t happen again) But I had to work on a project that demanded my whole day of dedication to it, plus it had strict deadline.
After I came back to managing this blog and logged in to WordPress admin area, first thing that I saw was that huge pile of pending comments. When I think about how much time Iwould need to waste going through all those comments… It just doesn’t feel really good.
I just wanted it all gone. Even if there is some legitimate comment in there, it’s not worth anybody’s time to sort through that mess to find them.
So my question was: How do I delete all pending comments in an efficient way? I knew I could delete 20 at a time using the bulk action “mark as spam”, but still, that was a lot of time wasting.
Then I looked around those comment moderation options and looked for better way to do this. Preferably, to be able to erase all pending comments in one stroke, in one click.
What I found was pretty surprisingly easy way! Actually there are three ways to do this. One is much more efficient than the others in my opinion, but little more work involved. Anyway, I will show you all the ways you can do it, so you decide which one to use. (the second one is recommended)
1. Download and install the “Delete Pending Comments” plugin here on official WordPress plugin directory.
2. Click on the link for “Delete Pending Comments” on the sidebar in your dashboard under “Comments”. It will then ask you to type in a sentence to verify that you want to delete all pending comments. (screenshot below)
3. Done! All your pending comments are deleted with one click. (even those that were not spam)
Note that this plugin is compatible with WordPress versions from 2.7 to the latest.
And now, here’s the second, more efficient way to do this. This way is much better (recommended) because you can still keep and publish natural, genuine comments, while still deleting all spam comments.
If you have installed Akismet (I think I don’t need to elaborate here what’s Akismet and what does it do, because it’s pretty much the famous plugin for WordPress spam protection…), it has an option to scan the whole queue for spam and automatically handle it. That would be the quickest and most efficient way: one button press.
But in order to do this, you MUST have Akismet installed first and WordPress API key configured. (learn more about WordPress API key)
Now if you have everything set and ready, here’s how it goes:
1. Click on the comments link on your admin area sidebar
2. Click the “Check for Spam” link located at “Edit Comments” page. (this is the “one click” we are talking about)
3. Akismet will move all spammy comments to spam category and leave you only with genuine comments from real readers so you can approve them, and not waste your time on spambots.
And the third way…
This one is for those that are little more tech savvy. It involves little messing with your SQL database. Actually, the point is to log in to your phpMyAdmin and manually delete added entries in the SQL database.
There you go! Now you have three ways to delete all pending comments. I hope this was easy to understand and apply, and I hope you enjoyed reading the post as much as I did writing it. If you know any other way, share it in comments.
So what do you think, which way was the best and the easiest?