Description
DamaSoft Antispam gives every incoming comment a suspicion score, built from several independent signals. Only the total decides what happens. Everything runs on your own server: no comment data is ever sent anywhere.
Four layers of defence
Form checks stop automated bots, which are the vast majority of spam. An invisible honeypot field that people cannot see but bots fill in, a token only a real browser can produce, a minimum writing time, keyboard or mouse interaction, and a referer check. All of them are designed to work with page caching, and none of them shows a CAPTCHA or asks the visitor for an extra click.
Content heuristics catch spam written by hand: number of links, link BBCode, URLs in the author name, disposable email domains, high risk domain extensions, scripts foreign to the site language, text in capital letters, user agents from automated scripts, text identical to spam already blocked, and a rate limit per IP address.
A self-learning filter improves over time on your own site. Every time you mark a comment as spam or approve one, it updates its statistics on words, domains, email addresses and IP ranges. It also learns from comments that WordPress or another plugin files as spam. Legitimate examples are weighted twice as heavily as spam ones, because losing a real review is worse than letting one spam comment through.
Trust signals lower the score instead of raising it: a registered user, an author with an already approved comment, and, specific to WooCommerce, a verified purchase of the product being reviewed.
What happens to a comment
Below the moderation threshold the comment goes through as usual. Above it, it is held for moderation. Above the spam threshold the chosen action applies: mark as spam, hold for moderation, or reject without saving. An optional hard block rejects extreme cases before they are ever written to the database.
Observation mode
Before letting the plugin block anything, you can run it in observation mode: it analyses every comment and records in the log what it would have done, including clean comments and their scores, without blocking a thing. It is the safe way to tune the thresholds on real traffic.
What you get in the admin
A dashboard with live counters, a 14 day chart, the most recurring reasons, the most active sources and the state of the learning filter. A tab listing blocked spam, post comments and product reviews together, which WordPress on its own does not do, where you can restore, delete or empty everything. A full decision log with score and reasons, plus a log of the operations performed on the plugin. A system status page with environment details and a copy and paste summary for support. And a dashboard widget.
Privacy
No data leaves your server. The plugin makes no external HTTP requests of any kind. The log stores the name, email and IP address of suspicious comments only, for a configurable period, after which they are deleted automatically. The plugin integrates with the WordPress Privacy tools: it suggests text for your privacy policy and answers personal data export and erasure requests.
Languages
The plugin is fully internationalized. Translations are delivered through the WordPress.org language-pack system, so the installable package does not bundle .po or .mo files.
Screenshots





Installation
- Upload the plugin through Plugins > Add New > Upload Plugin, or copy the folder to
/wp-content/plugins/. - Activate the plugin.
- Open DamaSoft Antispam in the admin menu.
On activation the plugin creates its own tables, starts in safe observation mode and schedules a first pass over the comments already in your database, so it does not start from scratch if you already have a history. Review the recorded scores, then enable active protection from the dashboard when you are ready.
FAQ
-
Does it work with page caching?
-
Yes. The values that change over time are written by JavaScript, not printed in the HTML, so the page itself stays cacheable.
-
Does it protect WooCommerce product reviews?
-
Yes. Reviews are WordPress comments and are analysed like the others, with one addition: whoever actually bought the product gets a large discount on the suspicion score. WooCommerce order notes are excluded, since they are internal shop notes rather than visitor content.
-
Does it work on a site without WooCommerce?
-
Yes. Every WooCommerce related feature is guarded by an existence check. On a site without it, the plugin simply works on post comments.
-
Are blocked comments recoverable?
-
With the default action they are marked as spam, which means they are not published and do not ask for your attention, but they stay recoverable from the Blocked spam tab for as long as WordPress keeps them. Comments rejected by the hard block are never written to the database, so only a row in the log remains.
-
Does the plugin send anything to an external service?
-
No. There are no external requests. Everything, including the learning filter, runs on your own server.
-
My theme uses a custom comment form and the protection fields do not appear.
-
The fields are printed on the
comment_formhook, which WordPress fires fromcomment_form()and WooCommerce uses for its review form. If your theme builds the form by hand, adddo_action( 'comment_form', get_the_ID() );before the submit button, or calldama_as_render_guard_fields(). The System status page warns you when recent submissions all lack the verification code.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“DamaSoft Antispam” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “DamaSoft Antispam” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
2.0.3
- Added the unique public Plugin URI for the DamaSoft Antispam product page.
- Kept settings, decision logs and learned data fully compatible with 2.0.2.
2.0.2
- Removed the invalid Plugin URI while the public product page is being prepared.
- Removed bundled
.poand.mofiles from the WordPress.org package; translations are handled by translate.wordpress.org. - Made the browser check compatible with long-lived full-page caches.
- New installations start in observation mode, so the administrator can verify scores before enabling active blocking.
- Fixed the theme-field diagnostic after the interface source language changed to English.
- Added a visible trust option for registered users and made the moderator exemption unconditional.
- Hardened actions on spam comments and corrected the dashboard’s latest-actions filter.
- Tested with WordPress 7.1 and WooCommerce 11.0.
2.0.1
- Added the bundled Italian translation for the plugin description shown on the Plugins screen.
2.0.0
- Source strings converted to English, with Italian supplied as a bundled translation.
- Translation catalogue included: .pot template plus Italian .po and .mo files.
- Plugin header aligned with the WordPress.org directory requirements.
- Documentation rewritten in English.
1.5.1
- Fixed a missing icon caused by a dashicon name that does not exist in WordPress.
- Uninstall now removes the last remaining option and temporary data.
1.5.0
- New Blocked spam tab showing comments and reviews together, with restore, delete and empty actions.
- The admin menu counter now only counts what arrived since the last dashboard visit.
- The filter also learns from comments filed as spam by WordPress or another plugin.
- Dashboard widget: an icon on every line, working colours outside the plugin pages, and a message instead of an empty chart.
1.4.0
- The analysis of existing comments no longer has a limit.
- In observation mode the log records every incoming comment with its score, clean ones included.
- Score colours follow the configured thresholds.
1.3.2
- Fixed the analysis of existing comments on WooCommerce sites, where reviews were excluded from the comment count.
- WooCommerce order notes excluded from training.
1.3.0
- Interface redesigned into separate tabs, with contextual help on every option.
- Observation and active protection switch on the dashboard.
- New System status tab.
1.2.0
- Observation mode.
- WordPress Privacy API integration.
- Multisite support.
1.0.0
- First release.
