Comments, Spam, Moderation & Approvals
By default, WordPress lets visitors leave comments on posts. New comments from first-time commenters usually sit in a Pending state until you approve them, based on your discussion settings.
How the comment system works by default
By default, WordPress lets visitors leave comments on posts. New comments from first-time commenters usually sit in a Pending state until you approve them, based on your discussion settings.
Go to Comments in the sidebar to see all comments across your site, filterable by Pending, Approved, Spam, and Trash.
Real-life example: Comment moderation is like a suggestion box at a restaurant — the manager reads notes before pinning the good ones on the public board.
- Approve — makes the comment visible to all visitors
- Reply — respond directly from the admin screen
- Spam — flags it as unwanted, trains the spam filter
- Trash — removes it from public view, recoverable
Fighting spam comments
Akismet, which comes pre-installed with most WordPress sites, automatically filters obvious spam comments into a Spam folder using a shared database of known spam patterns.
For heavily spammed sites, adding a CAPTCHA plugin or requiring users to be registered/logged-in to comment cuts down spam significantly.
Settings → Discussion:
[x] Comment author must fill out name and email
[x] Comment must be manually approved
[x] Comment author must have a previously approved comment
Hold a comment in queue if it contains: 2 (or more) linksDisabling comments entirely
Many business sites (portfolios, service pages) turn comments off completely. Under Settings → Discussion, uncheck “Allow people to submit comments on new posts.”
This only applies going forward — to disable comments on existing posts in bulk, select all posts in Posts → All Posts, choose Edit from the Bulk actions dropdown, and set Comments to Do not allow.
- New sites: disable at Settings → Discussion before publishing anything
- Existing sites: use Bulk Edit to turn off comments on old posts too
- Pages rarely need comments enabled by default in WordPress