WordPress ships with comments enabled by default. On every page, every post, every custom post type. For blogs that thrive on reader interaction, that makes sense. But for business sites, portfolios, landing pages, and most modern WordPress projects, comments are just noise — and a security surface you don’t need.
Spam bots love comment forms. Even with Akismet or reCAPTCHA, you’ll still spend time moderating, cleaning up, and wondering why your database keeps growing. The simplest fix? Remove comments entirely.
Why WordPress Comments Are Still a Problem in 2026
Comment spam hasn’t slowed down. Bots submit thousands of junk comments daily across WordPress sites. Even if they get caught by filters, they still end up in your database, bloating your wp_comments and wp_commentmeta tables.
But spam isn’t the only issue:
- Performance: Comment queries add overhead to every page load, even when no comments exist.
- Security: Comment forms are an attack vector for XSS and SQL injection attempts.
- Clutter: The admin dashboard shows comment counts, menus, metaboxes, and widgets you never use.
- Pingbacks: The
X-Pingbackheader and XML-RPC endpoint expose your site to DDoS amplification attacks.
Unchecking “Allow comments” in Settings > Discussion doesn’t solve most of these. It only affects new posts. Existing posts keep their comment status open. The admin menu stays. The database tables remain. Pingbacks keep working.
The Nuclear Option: Remove Everything
What you actually want is a complete removal. Not just closing comments on future posts, but:
- Close comments and pingbacks on all existing posts in the database.
- Remove comment support from every post type (posts, pages, custom types).
- Hide the Comments menu, dashboard widget, and comment columns from the admin.
- Remove the comment feed links from your HTML head.
- Strip the
X-Pingbackheader from HTTP responses. - Unregister the Recent Comments widget.
- Optionally, delete all existing comments from the database.
Doing this manually means editing functions.php, adding filters, removing actions, writing SQL queries, and hoping you didn’t miss anything. Or you install a dedicated plugin — which often comes with its own overhead and settings bloat.
How to Do It with Blaminhor Essentials
Blaminhor Essentials includes a Disable Comments module that handles all of the above in one click. Here’s how to set it up:
Step 1: Activate the Module
Go to Blaminhor Essentials > Modules and enable “Disable Comments”. That’s it — comments are now disabled site-wide. The module hooks into WordPress at every level:
comments_openandpings_openfilters return false.- Comment support is removed from all post types.
- The comment feed link is stripped from the HTML head.
- The
X-Pingbackheader is removed from responses. - The Recent Comments widget is unregistered.
Step 2: Clean Up the Admin
With the “Hide from Admin” option (enabled by default), the module also removes every trace of comments from your WordPress dashboard:
- The Comments menu disappears from the sidebar.
- Comment columns are removed from post and page lists.
- The comment metabox is removed from the post editor.
- The Recent Comments dashboard widget is gone.
- Navigating to
edit-comments.phpredirects to the dashboard.
Step 3: Close Existing Comments
Disabling comments only affects future behavior. If you have old posts with comment_status = 'open', they technically still accept comments at the database level (even though the module blocks them in practice).
Click “Close Existing Comments” to run a single SQL update that sets comment_status and ping_status to 'closed' on every post in your database. The module shows you exactly how many posts were affected.
Step 4 (Optional): Delete All Comments
If you want a completely clean slate, the “Delete All Comments” button permanently removes every comment and its metadata from the database. This cleans up wp_comments, wp_commentmeta, and resets comment_count on all posts to zero.
This action is irreversible, so the module asks for confirmation before proceeding. Make a backup first if you’re unsure.
What About Re-enabling Comments Later?
Everything is reversible (except deleting comments, obviously). Deactivate the module, and WordPress goes back to its default behavior. Comments reopen, menus reappear, widgets come back. No residual code, no leftover settings polluting your database.
If you only closed existing comments, those stay closed — but you can reopen them from WordPress’s bulk edit screen if needed.
Lighter, Cleaner, Safer
Disabling comments isn’t just about aesthetics. It reduces your attack surface, shrinks your database, speeds up queries, and removes an entire category of admin work. For sites that don’t need reader interaction, there’s no reason to keep comments around.
The Disable Comments module in Blaminhor Essentials does it all with two checkboxes and two buttons. No code, no config files, no bloat.