How to Delete All Pending Spam Comments in WordPress
By Jonathan Griffin. Editor, SEO Consultant, & Developer.
With WordPress Comment Spam increasingly becoming an issue, you might find yourself with 100’s or even 1000s of pending comments that you then need to delete. The base WordPress install only lets you “bulk delete” pending comments page by page (i.e. 20 at a time) on it’s default settings. It is not difficult to imagine that this would be very time consuming to do.
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 a number of ways to delete all the pending comments; some more complex than offers. The easiest method is to change the default settings in WordPress itself to display 200 pending comments at any one time. If you have more than 200 comments, then the next best way is to use a WordPress plugin. I have covered these two options first.
If you are comfortable with MYSQL then you may want to follow the later methods, although I do think the plugin method is the easiest way to quickly delete the comments.
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.
- In the WordPress Admin, go to the ‘Comments’ page
The first step is to go to the comments management page.
- In the left-hand menu, click the “Comments” menu item.
- Access the Settings by clicking on ‘Screen Options’
- 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.
- Update the pagination to show 200 comments per page
- Replace “20” with “200” in the Number of items per page box.
- Click “Apply” to save the change.
- Click on ‘Pending’ or ‘Spam’ to filter comments by type
In order to delete pending or spam comments you must first filter the comments.
- Click “Pending” or “Spam” depending on the comments you wish to delete.
- Select and Delete the comments
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”
- Empty Trash
Using this method only moves the comments to the Trash, rather than delete them permanently.
You will need to click on “Trash” and then “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.
- Search for the ‘Delete All Comments Easily’ Plugin
In the top right-hand of the screen you will see a Search Box.
- Type in the name of the plugin in to the search box. The page will automatically update with the results.
- Install the Plugin
- Install the plugin by clicking on the “Install Now” button.
- Activate the Plugin
- Activate the plugin by clicking on the “Activate” button.
- Delete all pending comments
The final step is to delete the pending comments. You will see the number of comments, and number of pending comments clearly displayed.
- Check the box next to “Delete all pending comments”, and click the button below.
You will then see a notice stating the “All Pending comments have been deleted.”
3. Deleting all Pending Comments in WordPress Manually via SSH
For those a little more technically minded and don’t mind logging in via SSH and using the command line it is very easy to Delete all your Pending Comments. Just follow these instructions:
- Log in to your website server via SSH.
Many hosts now offer SSH access, but for security reasons you may have to request access.
- Run the following SQL command
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, an YOUR_WORDPRESS_DB_NAME with your sites 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 will 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 or other Control Panel
[Login to your cPanel/hosting/control-panels/cpanel/start/how-to-log-in-to-cpanel/ “How to Login to cPanel”) Account and select the phpMyAdmin in the Database section
- Select your database
Select the Database for your WordPress installation.
- Click the SQL tab and run the following command
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'