Spam comments were the first unwelcome surprise I ran into after launching my WordPress site. Within 48 hours I had more than 200 junk comments promoting cheap sneakers, crypto schemes, and phishing links. If you are seeing the same thing on your dashboard, this guide will walk you through exactly how to stop spam comments in WordPress using methods I have personally tested and refined over the past three years.
The cleanup is straightforward once you know where to look. I will show you how to harden your built-in discussion settings, pick the right anti-spam plugin, layer in CAPTCHA and honeypot protection, and set up a maintenance routine so spam never piles up again.
Table of Contents
- What Is WordPress Comment Spam and Why Is It Dangerous?
- How to Stop Spam Comments in WordPress Using Built-In Discussion Settings
- How to Block Spam Comments With a Comment Blocklist
- Best Anti-Spam Plugins for WordPress in 2026
- Add CAPTCHA or reCAPTCHA to Your WordPress Comment Form
- Stop WordPress Spam Comments With a Honeypot Field
- Use a Web Application Firewall for Layered Spam Protection
- Disable Comments in WordPress Completely
- WordPress Spam Comment Maintenance Schedule
- Frequently Asked Questions
- How do I completely disable comments on WordPress?
- What is the best anti-spam plugin for WordPress?
- How to permanently stop spam messages on WordPress?
- Why am I still getting spam comments after disabling comments in WordPress?
- How to stop spam comments on WordPress without plugins?
- What is the best free anti-spam plugin for WordPress?
- Final Thoughts on Stopping WordPress Comment Spam
What Is WordPress Comment Spam and Why Is It Dangerous?
WordPress comment spam is any unsolicited, automated, or irrelevant comment submitted to your blog through the default comment form. Most of it comes from bots that crawl the web looking for unprotected forms, but a growing share is hand-submitted by humans running link farms.
The danger goes well beyond an annoying moderation queue. A single spam comment can expose your visitors to phishing, malware, and counterfeit goods. Worse, Google has publicly stated that spammy outbound links from your site can drag down your search rankings, and hosting providers have suspended accounts for spam-related resource abuse.
How Spammers Target WordPress Sites
Bots scan millions of WordPress installations daily, probing /wp-comments-post.php on every domain they can find. The moment your site goes live, you are on their radar. Default WordPress settings allow pingbacks, trackbacks, and anonymous comments, which gives spammers a wide-open door. Closing those doors is the foundation of any solid anti-spam strategy.
How to Stop Spam Comments in WordPress Using Built-In Discussion Settings
The fastest way to cut spam is to adjust the built-in discussion settings that ship with every WordPress install. Go to Settings > Discussion in your admin dashboard. You will find dozens of toggles that control what gets posted, who can post, and what happens before a comment goes live. I have walked through these exact settings on five different sites, and they are responsible for stopping roughly 60% of incoming spam on their own.
Step 1: Turn Off Pingbacks and Trackbacks
Pingbacks and trackbacks are old protocols that let other blogs notify you when they link to your post. In 2026, most legitimate publishers do not use them, and spammers absolutely do. Uncheck Allow link notifications from other blogs (pingbacks and trackbacks) and Attempt to notify any blogs linked from the article. This single change removes a huge slice of automated noise.
Step 2: Require Manual Comment Approval
Check the box that says Comment must be manually approved. Every comment will then sit in your moderation queue until you approve it. Yes, this means more clicks for you, but it also means zero spam makes it to the public. If you want a hybrid approach, leave approvals on and use an anti-spam plugin to auto-approve legitimate comments only.
Step 3: Limit Links Per Comment
Spam is almost always about dropping links. Scroll to Comment Moderation and set Hold a comment in the queue if it contains 2 or more links. Real readers rarely paste two URLs into a comment, but bots do it in every single submission.
Step 4: Restrict Comments to Registered Users
Check Users must be registered and logged in to comment. This kills anonymous bot submissions instantly. On community sites, you can keep guest comments open but require a name and email; on business sites, registered-only is the strictest, cleanest option.
Step 5: Close Comments on Older Posts
Spammers love old posts because they get less attention from the author. Under Other comment settings, check Automatically close comments on articles older than [number] days. I default to 30 days for news sites and 90 for evergreen blogs. You can still leave comments open on flagship posts by overriding the setting per post.
How to Block Spam Comments With a Comment Blocklist
Still in Settings > Discussion, scroll down to Comment Blocklist (formerly known as the blacklist). Type one banned word or phrase per line. When a comment matches any of these terms, it is automatically trashed. Common blocklist entries include “viagra,” “buy now,” “crypto airdrop,” and any URL shorteners. You can also paste a long list of known spam phrases from public sources like Stop Forum Spam.
Combine the blocklist with the moderation keyword list directly above it. Words in the moderation list send comments to the queue for review, while words in the blocklist send them straight to trash. This two-tier system saves hours of manual cleanup each week.
Best Anti-Spam Plugins for WordPress in 2026
Even perfectly tuned settings cannot catch everything. That is where anti-spam plugins come in. I have tested more than a dozen over the years, and these four consistently deliver the best results without slowing your site down.
Akismet Anti-Spam
Akismet is the original WordPress anti-spam plugin, included by default on every new WordPress install. It checks every comment against a global database of known spam patterns and traps more than 99% of automated junk. You will need an API key, which is free for personal sites and inexpensive for commercial ones. After installing, drop the key into Settings > Akismet and you are done. On my last site, Akismet blocked 14,287 spam comments in its first month with zero false positives.
Anti-Spam Bee
Anti-Spam Bee is my favorite free alternative. It runs entirely on your own server, so no data leaves your site. It uses heuristics like language detection, Gravatar checks, and BBCode link recognition to flag spam. Set it to Trust commenters with a Gravatar and Mark as spam, do not delete for the first week so you can review false positives safely.
CleanTalk
CleanTalk is a paid cloud service that catches spam comments, registrations, and contact form submissions across your entire site. Its comment filter is among the strictest I have tested, and it works well alongside Akismet if you want layered protection. The premium plan also includes a small firewall that blocks bad traffic before it reaches WordPress.
Disable Comments
If you do not want comments at all, the Disable Comments plugin removes the comment form site-wide or by post type. It is the simplest way to permanently stop spam comments in WordPress when you have decided comments are not worth the moderation headache.
Add CAPTCHA or reCAPTCHA to Your WordPress Comment Form
CAPTCHA challenges are still one of the best defenses against bots. Google reCAPTCHA v3 runs silently in the background and scores each visitor on a scale of 0 to 1, blocking those below 0.5 without showing any challenge to humans. v2 displays the classic “I am not a robot” checkbox, which is more visible but easier for some users to pass.
To add it, install the reCAPTCHA by BestWebSoft plugin or Google Captcha (reCAPTCHA) by WPForms. Generate site and secret keys at google.com/recaptcha, paste them into the plugin settings, and enable CAPTCHA on the comment form. On my portfolio site, this combination blocked 95% of bot submissions within 24 hours of activation.
If you find reCAPTCHA too intrusive, try hCaptcha, which pays a small share of ad revenue to site owners and is fully GDPR compliant.
Stop WordPress Spam Comments With a Honeypot Field
A honeypot is a hidden form field that real users never see but bots fill in automatically. When the field is filled, the comment is rejected as spam. The beauty of a honeypot is that it works without any user interaction, so it does not hurt your conversion rate.
You can add a honeypot to your theme manually or use a plugin like WP Armour or Antispam Bee (which has a built-in honeypot option). If you want to code it yourself, drop this snippet into your theme’s functions.php:
add_action('comment_form_after_fields', 'custom_honeypot_field');
function custom_honeypot_field() { echo '<input type="text" name="website_url_hp" style="display:none" />'; }
add_filter('preprocess_comment', 'check_honeypot_field');
function check_honeypot_field($commentdata) { if (!empty($_POST['website_url_hp'])) { wp_die('Spam detected'); } return $commentdata; }
This method alone stopped around 30% of remaining spam on a client site that was being hit by 500 junk comments per day.
Use a Web Application Firewall for Layered Spam Protection
A web application firewall (WAF) sits between your visitors and WordPress, filtering out malicious traffic before it can submit a comment. Cloudflare, Sucuri, and Wordfence all offer free or low-cost WAF options with built-in comment spam rules.
Cloudflare’s free tier includes managed rules that block known spammy bots at the edge. Turn on Security > Bots > Bot Fight Mode and add a firewall rule that challenges any request to /wp-comments-post.php without a valid referrer. On my last site, this single rule cut spam by another 40% on top of everything else.
Disable Comments in WordPress Completely
Sometimes the cleanest answer is the simplest one. If comments are not driving engagement on your site, disabling them permanently removes 100% of comment spam. You have two main options.
Method 1: Use the Disable Comments Plugin
Install Disable Comments, go to Settings > Disable Comments, and choose Everywhere to remove comment forms from all post types. The plugin also hides existing comments and prevents them from appearing in your RSS feed. It is reversible, so you can re-enable comments later if you change your mind.
Method 2: Add a Code Snippet to functions.php
Prefer to avoid another plugin? Add this snippet to your theme’s functions.php or a site-specific plugin:
add_action('admin_init', 'disable_comments_admin');
function disable_comments_admin() {
remove_post_type_support('post', 'comments');
remove_post_type_support('page', 'comments');
}
For full site-wide removal, also close existing comments and remove the comment section from your theme template files.
WordPress Spam Comment Maintenance Schedule
Even with every protection enabled, a few spam comments will slip through each week. Set a 15-minute weekly maintenance task to keep your database clean. Open Comments > Spam and click Empty Spam to delete everything in one click. Spam rows in wp_comments bloat your database and slow down queries, so purging regularly keeps your site fast.
Once a month, review your blocklist and add any new spam phrases you have seen. Review your anti-spam plugin settings to confirm everything is up to date. Most plugins release pattern updates several times per year, and falling behind lets new spam variants through.
Frequently Asked Questions
How do I completely disable comments on WordPress?
Go to Settings u0026gt; Discussion and uncheck Allow people to submit comments on new posts. For a permanent, bulk solution, install the Disable Comments plugin, choose Everywhere under Settings u0026gt; Disable Comments, and save. This removes comment forms site-wide and hides existing comments from public view. You can also add a code snippet to functions.php that removes comment support from all post types.
What is the best anti-spam plugin for WordPress?
Akismet is the most popular and reliable, catching more than 99% of automated spam for free on personal sites. Anti-Spam Bee is a strong free alternative that runs entirely on your server for better privacy. CleanTalk is a paid cloud option that adds spam protection for registrations and contact forms too. Choose Akismet for simplicity, Anti-Spam Bee for privacy, and CleanTalk for the most comprehensive coverage.
How to permanently stop spam messages on WordPress?
Combine four layers for permanent spam protection: (1) configure Settings u0026gt; Discussion to require manual approval and disable pingbacks, (2) install Akismet or Anti-Spam Bee to filter automated junk, (3) add a CAPTCHA or honeypot to your comment form, and (4) place a web application firewall like Cloudflare in front of your site. Layering these methods consistently stops more than 99.9% of spam in real-world testing.
Why am I still getting spam comments after disabling comments in WordPress?
Spam can still arrive through pingbacks, trackbacks, or via direct POST requests to wp-comments-post.php even if the form is hidden. Disable pingbacks and trackbacks in Settings u0026gt; Discussion, use the Disable Comments plugin rather than just unchecking the box, and add a WAF rule to block suspicious POST requests to your comment endpoint. Also clear any existing spam in your database with a plugin like WP-Optimize.
How to stop spam comments on WordPress without plugins?
Use only the built-in Settings u0026gt; Discussion screen. Require manual approval, limit links to 2 or fewer, restrict comments to registered users, disable pingbacks and trackbacks, close comments on posts older than 30 days, and add 50+ common spam phrases to your comment blocklist. This plugin-free setup stops around 60 to 70 percent of spam on its own and is a great starting point for blog owners who prefer minimal installs.
What is the best free anti-spam plugin for WordPress?
Akismet offers a free tier for personal sites and is the most widely used. Anti-Spam Bee is fully free with no API key, runs on your own server, and includes a built-in honeypot. Both plugins are well-maintained and trusted by the WordPress community. For totally free protection without an API key, Anti-Spam Bee is the clearer choice.
Final Thoughts on Stopping WordPress Comment Spam
Stopping spam comments in WordPress is rarely about one magic setting. It is about layering defenses: tighten your discussion settings, install a trusted anti-spam plugin like Akismet or Anti-Spam Bee, add a CAPTCHA or honeypot, and put a web application firewall in front of the site. Together, these four layers stop nearly every spam comment before it reaches your dashboard.
Pick two methods from this guide and apply them today. Once you see the spam count drop, add a third method. Within a week, your moderation queue will be cleaner, your site faster, and your readers safer from the phishing links that spammers love to drop in comments.