With WordPress Comment Spam increasingly becoming an issue, you might find yourself with 100’s or even 1000s of pending comments that you need to delete. The base WordPress install only lets you “bulk delete” pending comments page by page (i.e., 20 at a time) on its default settings. It is not difficult to imagine that this would be very time-consuming.
Before (or after) deleting all your pending comments, you may want to consider configuring your WordPress installation to help prevent spam comments. I have created a detailed tutorial for this here.
There are several ways to delete all the pending comments; some are more complex than offers. The easiest method is to change the default settings in WordPress itself to display 200 pending comments at any time. If you have more than 200 comments, the next best way is to use a WordPress plugin. I have covered these two options first.
If you are comfortable with MYSQL, you may want to follow the later methods, although I think the plugin method is the easiest way to delete the comments quickly.
1. Delete All Pending and Spam Comments by Changing the Default Comments Per Page Setting in WordPress
By default, WordPress only lets you delete 20 pending or spam comments at a time. You can change this setting to up to 200.
The first step is to go to the comments management page.
- In the left-hand menu, click the “Comments” menu item.
- In the top right-hand of the screen, you will see a link to show the “Screen Options”.
- Click the link to show the settings.
- Replace “20” with “200” in the number of items per page box.
- Click “Apply” to save the change.
To delete pending or spam comments, you must first filter the comments.
- Click “Pending” or “Spam” depending on the comments you wish to delete.
To delete the selected comments:
- Select all the comments by clicking the box at the top of the first column.
- In the drop-down box, select “Move to Trash.”
- Click “Apply”
This method only moves the comments to the Trash, rather than permanently deleting them.
You need to click on “Trash” and “Empty Trash” to finalize the deletion.
2. Delete All Pending Comments in WordPress using a Plugin
Using the Delete All Comments Easily plugin is the least technical and easiest way to delete significant numbers of pending comments in WordPress. I highly recommend using this method if you have more than 200 pending comments.
You will see a Search Box in the top right-hand of the screen.
- Type in the name of the plugin into the search box. The page will automatically update with the results.
- Install the plugin by clicking on the “Install Now” button.
- Activate the plugin by clicking on the “Activate” button.
The final step is to delete the pending comments. You will see the number of comments, and pending comments clearly displayed.
- Check the box next to “Delete all pending comments”, and click the button below.
You will see a notice stating, “All Pending comments have been deleted.”
3. Deleting all Pending Comments in WordPress Manually via SSH
For those a little more technically minded and who don’t mind logging in via SSH and using the command line, it is straightforward to Delete all your Pending Comments. Just follow these instructions:
Many hosts now offer SSH access, but you may have to request access for security reasons.
mysql -uDB_USERNAME -pDB_USER_PASSWORD -DYOUR_WORDPRESS_DB_NAME -e "DELETE
FROM wp_comments WHERE comment_approved = '0';"
Don’t forget to replace your DB_USERNAME, DB_USER_PASSWORD, and YOUR_WORDPRESS_DB_NAME with your site’s details.
If you used Softaculous or another installer to install WordPress, you would have received a confirmation after the install was complete with all the information you need to run this command.
This command can be adapted with one minor change to carry out other comment-related tasks:
Mass Delete all Approved Comments in WordPress via SSH
mysql -uDB_USERNAME -pDB_USER_PASSWORD -DYOUR_WORDPRESS_DB_NAME -e "DELETE
FROM wp_comments WHERE comment_approved = '1';"
Mass Delete all Spam Comments in WordPress via SSH
mysql -uDB_USERNAME -pDB_USER_PASSWORD -DYOUR_WORDPRESS_DB_NAME -e "DELETE
FROM wp_comments WHERE comment_approved = 'spam';"
Mass Delete all Trash Comments in WordPress via SSH
mysql -uDB_USERNAME -pDB_USER_PASSWORD -DYOUR_WORDPRESS_DB_NAME -e "DELETE
FROM wp_comments WHERE comment_approved = 'trash';"
4. Deleting Pending Comments in WordPress Manually via phpMyAdmin
Another way to do this is to use phpMyAdmin:
[Login to your cPanel/how-to-log-in-to-cpanel/ “How to Login to cPanel”) Account and select the phpMyAdmin in the Database section
Select the Database for your WordPress installation.
DELETE from wp_comments WHERE comment_approved = '0'
When you run the command, you will get a pop-up box asking for confirmation. Just click “OK”.
You can use this technique to carry out other similar tasks with just one very minor alteration to the command used:
Mass Delete all Approved Comments in WordPress via SQL
DELETE from wp_comments WHERE comment_approved = '1'
Mass Delete all Spam Comments in WordPress via SQL
DELETE from wp_comments WHERE comment_approved = 'spam'
Mass Delete all Trash Comments in WordPress via SQL
DELETE from wp_comments WHERE comment_approved = 'trash'