Comments are the part of a WordPress site that never sleeps. They arrive overnight, on weekends, and in bursts after a post does well, and a chunk of them are spam, a smaller chunk are abuse, and the rest are the real conversation you actually wanted. Sorting that pile by hand is dull work, and the longer a good comment sits unapproved, the more the discussion stalls and the commenter feels ignored.

A comment-moderation agent does the first pass the moment a comment lands. It scores each one for spam, toxicity, and sentiment, then approves it, holds it for review, or trashes obvious junk, all according to rules you set. It never silently deletes a borderline comment and never bans a user on its own. It sorts the queue and tells you what needs a human; you keep the final say.

What this agent does

On every new comment, the agent runs a short, fixed sequence: read the comment, score it for spam, toxicity, and sentiment, compare those scores to your thresholds, set a status, and notify you when something needs a look. Each step is logged, so when you ask why a comment was held, the scores and the matching rule are right there in the record.

It is a sorter, not a censor. It does not rewrite what a commenter said, does not ban accounts, and does not silently delete anything borderline. Those are deliberate boundaries, and they are why the agent earns trust on a public comment section quickly. For the wider picture of where these limits come from, see what an AI agent can actually do and how to limit agent actions.

The same discipline shows up wherever an agent touches a public conversation. Moderating a forum, a chat server, or a comment thread all share one rule: act on placement, leave the words alone. That is exactly the model behind Discord community moderation, where holding a message for review beats deleting it outright.

Connections and permissions

WordPress exposes comments through its REST API, where the comments endpoint lets an authorized client read a comment and change its status to approved, hold, or spam (WordPress REST API, comments reference, retrieved 2026-06-05). The agent uses a scoped application password, so it can do exactly that and nothing else.

Least privilege matters more here than usual, because a comment form is public and bots will hammer it. Scope the application password to comments only, so a leaked credential cannot touch your posts or your users. The credential hygiene is the same idea covered in how to limit agent actions: grant the narrowest permission that still gets the job done.

How it fits with Akismet

Akismet runs its own spam check the moment a comment is submitted, drawing on a global database of known spam patterns (Akismet support documentation, retrieved 2026-06-05). The agent does not turn that off. Akismet handles the bulk-spam networks it already knows; the agent adds toxicity, sentiment, and your custom rules on the comments that get through. Two layers, each doing what it is best at.

Scoring and rules

Scoring is where the agent earns its keep, and the score is three numbers, not one. WordPress already lets you hold comments by keyword, link count, and author history through its built-in moderation settings (WordPress.org, comment moderation, retrieved 2026-06-05). The agent reads those same signals and adds judgment the settings page cannot express.

The three scores

How the rules map to actions

You set the thresholds; the agent classifies into them. A clean, on-topic comment with low scores across the board is approved. A comment with high toxicity, or one that the agent is simply unsure about, is held for human review. Only a comment that is unambiguous junk, high spam score and nothing salvageable, is marked as spam. Explicit rules win every time, and the agent never invents a new outcome beyond those three.

This intent-first read is the same logic behind Figma comment triage and Instagram comment engagement. The platform changes, the sorting discipline does not: read the signal, match the rule, and leave anything uncertain for a person.

Queues and notifications

The whole design rests on one promise: a borderline comment is never lost. Instead of deleting anything it is unsure about, the agent moves it to WordPress's hold queue, the same Pending pile you already use, so a human can approve or reject it. WordPress treats a held comment as awaiting moderation rather than published or deleted (WordPress.org, comment moderation, retrieved 2026-06-05).

Notifications carry context, not just a count. When a comment is held, the agent can post to a Slack channel or send a digest with the comment text, its three scores, and the rule it tripped, so a moderator decides in seconds rather than opening the dashboard to investigate. For the patterns behind routing those alerts into a chat tool, Slack triage covers threading and approval steps that carry over cleanly here.

Common mistakes

The thread through all five is the same boundary the agent starts with: change status, notify a person, and leave the irreversible calls to you. That boundary is what makes a moderation agent safe to run unattended on a public site.

Frequently asked questions

How does the agent decide whether to approve, hold, or trash a WordPress comment?

It scores each comment for spam, toxicity, and sentiment, then compares those scores to the thresholds you set. A clean, on-topic comment is approved; an abusive or low-confidence one is held for review; only obvious junk is trashed. Every decision is logged with its scores, so you can see exactly why a comment landed where it did.

Does the WordPress comment moderation agent replace Akismet?

No, it works alongside Akismet and WordPress native moderation rather than replacing them. Akismet catches known spam networks; the agent adds toxicity and sentiment judgment plus your custom rules. You keep Akismet and the built-in comment blocklist switched on, and the agent acts as a second layer of context-aware review on top of both.

Can the agent delete comments or ban users by itself?

No. The agent never silently deletes a borderline comment and never bans a user on its own. Anything ambiguous goes to a hold or review queue where a human decides. It can mark obvious spam as spam, but account bans, blocklist edits, and permanent deletions stay with you, since those actions are hard to reverse.

Does the agent edit the text of users comments?

No, the agent does not rewrite or edit a commenter's words. It reads each comment, scores it, and changes only the comment status: approved, held, or spam. Editing user text would misrepresent what someone said and break trust, so the agent leaves the content untouched and acts only on placement.

What does WordPress need for the agent to moderate comments?

The agent reads and updates comment status through the WordPress REST API comments endpoint, using a scoped application password or token. You grant it permission to read comments and change their status, nothing more. It does not need access to posts, users, themes, or settings, so the blast radius stays small if a credential leaks.

Three takeaways before you close this tab

Sources