WordPress comment spam: blocking it for the future and clearing the backlog
You block WordPress comment spam for the future with the Discussion settings and a spam filter, for example Akismet. You clear the backlog separately: go through the pending queue, mark the spam and move it to the bin. Blocking won't remove what has already arrived, and cleaning up won't stop new comments, so you need both steps.
Author: The TellMyShop team. A guide for WordPress site and WooCommerce store owners: the cause, the manual fix and the same work in a chat conversation.
Last updated: · 6 min read
Two problems under one name
A site owner who writes “I've got comment spam” usually has two problems at once. The first is a stream of new comments from bots. The second is the backlog: several hundred comments in the queue, with three real questions from customers somewhere among them.
Most guides only deal with the first problem. This post has two parts. First a comparison of ways to block spam, then clearing the backlog.
Comparing the methods: what blocks and what cleans up
| Method | What it does | Cost and effort | Limitations |
|---|---|---|---|
| Discussion settings | a queue for comments with links, manual approval, closing old posts | built in, a few minutes of settings | spam still lands in the queue, which you have to go through |
| Akismet | checks every comment against a spam database and puts suspicious ones in the Spam folder | free for personal sites, paid for business ones | rarely wrong, but sometimes rejects a real comment |
| CAPTCHA, for example Cloudflare Turnstile | stops bots at the comment form | a separate plugin and account | people who paste spam by hand get through |
| Turning off comments | closes the form under posts | built in | you also lose real questions and reviews |
| The chat with the TellMyShop plugin | goes through the queue, separates spam from real comments, marks them in batches with a preview | TellMyShop Free reads, cleanup in Pro | doesn't block new spam, that is the job of Akismet and the settings |
A combination works well: the Discussion settings and a spam filter as the block, and clearing the backlog once, properly, then every so often.
How to set up Discussion so spam doesn't reach the site
The comment settings are in the dashboard under Settings > Discussion. Each field is described in the WordPress documentation on comment moderation.
- Links in a comment. Find the field with the number of links after which a comment waits in the queue. The default is 2. Set it to 1, and if spam still gets through, to 0. Almost all spam has a link, and real comments rarely do.
- Manual approval. Tick the option that a comment must be manually approved. Nothing appears on the site without your decision.
- Closing old posts. Turn on automatic closing of comments on posts older than a chosen number of days, for example 90. Bots like old, well-ranked posts.
- Word list. In the moderation field, enter words typical of the spam you get: drug names, casinos, “crypto”. A comment with such a word goes to the queue.
- Notifications. Keep the email about a comment awaiting moderation if you get few comments. With a lot of spam, turn it off so it doesn't flood your inbox.
- Save Changes at the bottom of the page.
If you want to get rid of spam before it reaches the queue, turn on Akismet. The plugin usually comes installed with WordPress. You activate it in Plugins > Installed Plugins and connect it to an account on the Akismet page for WordPress. An overview of other methods, including blocks at the form, is in LH.pl's guide to comment spam (in Polish).
Clearing the backlog: where the tedious work begins
When there are 300 comments in the queue, the spam itself is quick to delete. In Comments you select everything on the list page and choose a bulk action. The trouble is that a real comment is easy to lose. A customer's question about delivery time looks the same in the list as a casino ad, until you read it.
Going through them one by one means reading every comment, checking the links and clicking. In a WooCommerce store you also have product reviews, which also land in comments and are sometimes spam too.
How the chat cleans up comments in batches
The TellMyShop plugin for WordPress and WooCommerce shows your chat (Claude or ChatGPT) the list of comments, including WooCommerce product reviews. For each one it sees the date, the post, the author's name, a snippet of the text, the number of links and whether the comment is a reply. Authors' email and IP addresses are always masked: the chat gets a pseudonym that stays the same for one day, so it recognises a series from one sender but never learns their details.
You: I've got loads of comments in the queue. Separate the spam from the real ones and tell me what to do with them.
Your chat: There are 286 comments in the queue. 281 are spam: links to casinos and drug shops, most from 4 senders in series of several dozen. 5 look real, including a question about delivery time under the Garden lantern product and a review of the work gloves.
Your chat: Preview of the first batch, 50 comments, for example:
You: Yes. Also reply to the delivery question that we ship within 2 working days.
Your chat: Saved, with the operation number in the change history. The reply to comment #4130 is in the preview, signed with your name. I'll publish it after your ‘yes’.
old version: comment #4127 (3 links, “Best casino bonus…”): pending
new version: comment #4127: spam
old version: comment #4130 (question about delivery): pending
new version: comment #4130: approved
In TellMyShop Free the chat only reads. It counts how many comments are waiting, separates spam from real comments and points out the ones worth replying to. In TellMyShop Pro it marks comments as spam, moves them to the bin, approves, restores and replies, up to 50 comments in one batch. Each batch has a preview, your “yes” and a number to undo it. Undoing a reply deletes it. Moderation needs no switch, it works straight after licence activation.
One important point about safety: spammers sometimes write instructions into comments, hoping an automated system will read them. The plugin passes comments to the chat as data to assess, and its working rules tell it not to follow instructions written in them. Even so, you still look at every batch in the preview before saving.
What the chat won't do
The chat won't block new spam. That is the job of Akismet, CAPTCHA and the Discussion settings. When cleaning up comments it also doesn't change anything in Settings > Discussion. It will only install a spam filter from wordpress.org in TellMyShop Pro once the Plugins switch is on. The switch works for 24 hours and needs a database backup made the same day. If a new anti-spam plugin breaks something, see the guide WordPress not working after an update.
A good working rhythm looks like this: you set up the block once, clear the backlog once, and then in your morning review you ask the chat how many comments are awaiting moderation.
If you run a store, also go through old product reviews. Read more about what the chat does on the site on the TellMyShop for WordPress and WooCommerce page. You can compare licences on the pricing page, and you will find other guides on the blog.
Questions and answers
How do I stop comment spam in WordPress without extra plugins?
In Settings > Discussion, lower the number of links that sends a comment to the queue to one or zero. Turn on manual approval of comments and automatic closing of comments on old posts. Spam with links will stop appearing on the site, though it will still land in the queue.
Is Akismet free?
Akismet has a free plan for personal sites. Business sites and stores need a paid plan. Check the current terms on the Akismet site, because they change over time. The plugin usually comes installed with WordPress, you only need to activate it and connect it to an account.
Does comment spam hurt my site in Google?
Approved spam with links to dubious sites lowers the quality of the page in readers' eyes and can signal that the site is neglected. WordPress marks links in comments as untrusted, so they pass no value, but it is always better to remove spam from the site.
How do I delete hundreds of spam comments at once?
In Comments, switch the view to Spam and click Empty Spam. Select pending comments in the list and choose Mark as spam from the bulk actions. The trouble starts when spam is mixed with real comments and you have to separate them one by one.
Will the chat reply to customer comments?
Yes, in TellMyShop Pro. The chat suggests the reply, and after you agree it publishes it signed with your name, as set in the plugin panel. It only replies to approved comments, and you can undo any reply from the change history, which deletes it.
WordPress is a trademark of the WordPress Foundation. WooCommerce is a trademark of Automattic Inc. Claude is a trademark of Anthropic PBC. ChatGPT and OpenAI are trademarks of OpenAI. TellMyShop is not affiliated with these companies.