Comments are where readers engage with content, ask questions, share expertise, and build community around a site’s topics. Without systematic management, the comment section becomes a spam dump, a moderation queue of hundreds of unreviewed submissions, or a legal liability from hate speech and defamatory content. WordPress comment moderation is the system WordPress provides for controlling which comments appear, in what timeframe, and with what level of editorial oversight — configuring it correctly keeps the comment section valuable while minimising the moderation workload. For the bigger picture, our Complete Guide to WordPress How pulls everything together.
WordPress Comment Moderation — Built-In Settings
WordPress ships with a comprehensive set of WordPress comment moderation controls at Settings → Discussion. These settings control who can comment, what triggers automatic approval versus manual moderation, what content triggers automatic spam flagging, and how the site notifies administrators of new comments.
Key settings to configure for effective WordPress comment moderation:
- Allow people to post comments on new articles — enable or disable comments site-wide. Individual post settings override this globally.
- Comment author must fill out name and email — prevents completely anonymous submissions that are more likely to be spam.
- Users must be registered and logged in to comment — eliminates anonymous commenting entirely, significantly reducing spam at the cost of discouraging casual commenters.
- Before a comment appears: Comment must be manually approved — holds every comment for moderation regardless of author history. Use for high-spam sites or controversial content. Comment author must have a previously approved comment — only new commenters require moderation; return commenters with approved history post immediately. The second option is the most practical balance for most sites.
- Hold a comment in the queue if it contains X or more links — setting to 1 or 2 catches the majority of link spam since most spam comments contain multiple URLs. Setting to 0 holds all comments with any links.
The Comment Blacklist field at Settings → Discussion holds a list of words, URLs, email addresses, and IP addresses — any comment containing a blacklisted term is automatically marked as spam rather than held for moderation. Add known spammer email domains, recurring spam keywords, and spammer IP addresses to this list. Unlike the moderation queue, blacklisted comments require manual unspam action if a legitimate comment is incorrectly matched — use this list conservatively to avoid blocking genuine comments from terms that appear in both spam and legitimate discussions. According to the WordPress documentation on discussion settings, the Comment Moderation and Blacklist fields support wildcards using regex patterns, allowing complex matching rules beyond simple keyword matching for advanced WordPress comment moderation filtering.
Approving and Rejecting Comments in Bulk
Efficient WordPress comment moderation at high volumes requires bulk actions rather than clicking through each comment individually. WordPress’s comment management interface provides bulk approve, bulk mark as spam, and bulk delete — the tools for clearing a backlog quickly.
Navigate to the WordPress comment moderation queue — Comments → Pending next to all comments to review (or the header checkbox to select all visible) → Bulk Actions → Approve (for legitimate comments) or Spam (for spam) or Delete Permanently → Apply. The view shows 20 comments per page by default — increase this using Screen Options → Number of items per page → 100 to process larger batches efficiently. For spam cleanup specifically: Comments → filter to Spam → select all → Bulk Actions → Delete Permanently → Apply. Repeat across pages until the spam queue is empty. Keeping the Spam folder clear improves database performance and prevents the Comments admin from becoming sluggish when navigating through thousands of accumulated spam entries.
Bulk-closing comments on old posts prevents new spam from accumulating on content that is no longer actively receiving engagement: Settings → Discussion → “Automatically close comments on posts older than X days” → set to 180 or 365 days. For existing old posts that already have comments open: Posts → All Posts → date filter → select all posts from the target period → Bulk Actions → Edit → Comments → “Do not allow” → Update. This closes comments on all selected old posts simultaneously. The combination of automatic closure for new old posts and bulk closure for existing old posts eliminates the continuous spam accumulation on older content that is the most persistent WordPress comment moderation burden on long-running WordPress sites. Our guide on managing WordPress spam comments covers the Akismet and server-level filtering that reduces the volume reaching the moderation queue in the first place, complementing the queue management workflow described here.
Comment Notifications and Moderation Email Workflow
The WordPress comment moderation notification system alerts administrators to the administrator (and optionally to authors of the post being commented on) when comments require attention. Correctly configured notifications ensure comments are reviewed promptly without creating email overload.
Configure WordPress comment moderation notifications at Settings → Discussion: “Email me whenever: anyone posts a comment” (sends an email for every comment, including auto-approved ones — appropriate only for low-volume sites) versus “Email me whenever: a comment is held for moderation” (only emails when manual action is required — better for higher-volume sites). “Email me whenever: anyone posts a comment” floods the inbox on sites with active comment sections; the moderation-only notification is the more practical default for most sites. The notification email includes a direct link to approve, reply, edit, or delete the comment without navigating to the WordPress admin — enabling quick moderation directly from email, which is particularly useful for site owners who check email on mobile throughout the day.
For WordPress comment moderation on multi-author sites where each post author should receive comment notifications for their own posts, enable “Send me an email when: Anyone posts a comment” at the individual user level (Users → Your Profile → Comment notifications) rather than the global admin setting. This allows each author to manage notifications for their own content independently of the global admin notification settings. On high-traffic multi-author sites, consider a dedicated comment management email address separate from the site administrator’s main address — all comment notifications go to this dedicated inbox, where it can be processed on a schedule rather than mixed with other site management emails. The dedicated inbox approach also enables sharing comment moderation responsibility between team members without sharing the main admin credentials. Our guide on fixing WordPress not sending emails covers the email delivery configuration that must be correct before comment notification emails reliably reach the intended recipients — SMTP configuration is required on most hosting environments for WordPress emails to avoid spam folder delivery.
Nested Comments and Comment Display Settings
WordPress comment moderation decisions affect not just which comments appear but how they are presented — threading depth, pagination, and sort order all affect the user experience of the comment section and the perception of community activity.
Enable threaded comments — a key WordPress comment moderation display decision: Settings → Discussion (nested) comments up to X levels deep” → set to 3–4 levels. Deeper nesting (5+ levels) produces narrow, hard-to-read comment threads on mobile screens. Shallow nesting (1–2 levels) prevents the conversational thread flow that makes comment sections engaging. Three levels (reply to a comment, reply to a reply) covers most legitimate conversation depth without producing layout problems on any device. For very active communities with deeply nested conversations, consider a dedicated commenting platform (Disqus, Commento) that handles thread display more elegantly than WordPress’s native system.
Pagination for long comment sections improves WordPress comment moderation usability: Settings → Discussion → “Break comments into pages with X top level comments per page, and the X page displayed by default.” Enabling pagination with 20–50 comments per page prevents very long pages that are slow to load and hard to navigate. The “last page displayed by default” setting shows the most recent comments first to new visitors — appropriate for active discussions. “First page displayed by default” shows older, more established comments — appropriate for technical Q&A where the older, verified answers are more valuable than recent activity. Adjusting this setting based on the site’s content type and comment culture produces a comment section display that matches what visitors actually want to read first in the context of that specific site’s community. Reviews from the WordPress developer community confirm that the combination of “previously approved commenter” auto-approval, automatic closure of old posts, and Akismet integration covers the vast majority of WordPress comment moderation needs on standard WordPress sites without requiring additional plugins or significant ongoing moderation time investment.
Comment Policies and Community Management
Technical WordPress comment moderation settings alone are not enough — a published comment policy that sets expectations for acceptable discussion is the editorial foundation that technical controls enforce.
A written comment policy is the editorial foundation for WordPress comment moderation — it specifies what types are not permitted (hate speech, personal attacks, off-topic spam, self-promotion, advertising), how the site handles disagreements (constructive criticism welcome, abusive responses not), and what happens to policy-violating comments (edited, deleted, or commenter banned). Publish the policy on a dedicated Comments Policy page and link to it from the comment form (use the “Comment form before” or “Comment form after” settings in some themes, or add the link via a hook). Having a written policy makes moderation decisions defensible — when a comment is deleted, pointing to the specific policy violation rather than exercising unexplained editorial discretion reduces complaints and confrontations about moderation decisions.
Banning repeat offenders is part of complete WordPress comment moderation uses WordPress’s built-in blacklist (Settings → Discussion → Comment Blacklist) to add their email addresses, IP addresses, and user names. For persistent harassers who change email addresses, IP blocking via the hosting provider’s firewall (cPanel → IP Blocker) or via the .htaccess file provides a more reliable ban than WordPress-level email matching. Security plugins like Wordfence can also block specific IPs at the PHP level — more effective than .htaccess for dynamic IP blocks that need to be managed without server file access. Document all bans with the reason and date in a site administration log — this documentation is valuable if banned users dispute the decision or if the situation escalates beyond the site’s comment section to other channels. Our guide on setting up WordPress two factor authentication covers the account security that protects the WordPress admin comment moderation interface from unauthorised access by disgruntled commenters who may attempt to access the admin to undo moderation decisions.
Comment subscription and reply notifications improve community engagement alongside WordPress comment moderation — when a commenter can subscribe to receive email notifications when someone replies to their comment, they are more likely to return and continue the conversation. Subscribe to Comments Reloaded (free plugin) adds a subscription checkbox to the comment form: commenters check “Notify me of new comments via email” → when a reply appears, they receive an email notification with a link to the conversation. This drives return visits from engaged commenters who have already demonstrated interest in the discussion. Combine comment subscriptions with proper WordPress comment moderation workflows — a reply notification email that brings a commenter back to a moderated conversation creates a positive engagement loop where fast moderation response times directly translate to higher return visitor rates and more active community participation in the comment section.
GDPR compliance for WordPress comment moderation requires handling the personal data collected from commenters — name, email address, and IP address — in accordance with data subject rights. WordPress 4.9.6+ includes the “Comment Cookie Consent” feature that adds a checkbox to the comment form asking commenters to consent to data storage (Settings → Discussion → “Show comments cookies opt-in checkbox”). Enable this for GDPR-compliant comment data collection. For data erasure requests, WordPress’s built-in Tools → Erase Personal Data handles commenter email-based erasure — entering a commenter’s email address finds and anonymises all comments from that address. The commenter data retained in WordPress (name, email, IP, website URL stored in wp_comments) must be included in the site’s privacy policy as a documented data collection activity, specifying the retention period for comment data and the commenter’s right to erasure. Our guide on WordPress GDPR compliance covers the complete privacy policy and data subject rights implementation that provides the legal framework for WordPress comment moderation data handling practices.
Comment avatars in WordPress comment moderation are provided by Gravatar (Globally Recognised Avatar) — a service operated by Automattic where users associate a profile photo with their email address. WordPress fetches the avatar image from Gravatar when displaying comments, using the commenter’s email address as the key. This is a privacy consideration: even if the email address is not displayed publicly on the comment, WordPress sends a hash of the email to Gravatar’s servers to retrieve the avatar, potentially revealing to Gravatar which email addresses are commenting on the site. For GDPR-compliant sites that minimise data sharing with third parties, replace Gravatar with a local avatar solution: the local avatar generated from the commenter’s initials (handled by plugins like Simple Local Avatars) or a single default avatar image for all unauthenticated commenters, eliminating the Gravatar data transfer entirely without changing the visual appearance of the comment section for most visitors who do not have a Gravatar account anyway. If you would rather not manage comments at all, our guide to disabling comments in WordPress covers switching them off cleanly, site-wide or per post.






