Directory / plugin
Disable Comments
v2.9.1 · by WPDeveloper
Disable comments site-wide or by post type, delete existing comments in bulk, and block comment spam via REST API and XML-RPC. Multisite ready.
About this plugin
Disable Comments – Remove Comments & Stop Spam [Multi-Site Support]
Enable/Disable comments on any WordPress content (Pages, Posts, or Media) to stop spammers. WP-CLI, XML-RPC & REST-API support to stop spam comments.
More About Plugin ◼️ Documentation ◼️ Support Forum
Take Global Control Over Your WordPress Site
Override all comments-related settings throughout your website & manage your comments just the way you want.
Disable Comments On Posts, Pages & Media
Choose which posts, pages or media should allow comments from site visitors & configure Disable Comments accordingly
Disallow Comments On Multi-Site Network
Have multiple websites? Get rid of irrelevant comments on the entire network using Disable Comments Plugin
KEY FEATURES OF DISABLE COMMENTS
- All “Comments” links are hidden from the Admin Menu and Admin Bar.
- All comment-related sections (“Recent Comments”, “Discussion” etc.) are hidden from the WordPress Dashboard.
- All comment-related widgets are disabled (so your theme cannot use them).
- The “Discussion” settings page is hidden.
- All comment RSS/Atom feeds are disabled (and requests for these will be redirected to the parent post).
- The X-Pingback HTTP header is removed from all pages.
- Outgoing pingbacks are disabled.
- Stop spam comments entirely from the site with one click.
- Delete comments by type, including WooCommerce product reviews.
- Disable comments via XML-RPC & REST-API
- Fully Multi-site Network supported.
- Manage multiple website network-specific subsites or entire network comments in advance.
- Exclude Disable Comments Settings based on user roles.
- Keep the WordPress 6.9+ Block Editor “Notes” comment type working while every other comment stays off.
- [New in 2.8.0] AI-agent ready: supports the WordPress Abilities API (WP 6.9+), so AI assistants and MCP clients can read your comment settings.
Please delete any existing comments on your site before applying this setting, otherwise (depending on your theme) those comments may still be displayed to visitors. You can use the Delete Comments tool to delete any existing comments on your site.
🌟 WHAT’S NEW WITH DISABLE COMMENTS 2.0
AMAZING USER FRIENDLY INTERFACE
Easily configure your comment-related settings with an amazing and attractive app-like user interface.
WP-CLI COMMANDS TO DISABLE COMMENTS
Use WP-CLI control for comment-related settings to disable comments on posts, pages, attachments or everywhere on your website.
GET STARTED WITH QUICK SETUP WIZARD
Use the quick setup wizard after activating the plugin to instantly configure comment-related settings for your WordPress website.
DISABLE COMMENTS ON DOCS
Instantly disable comments on your documentation pages or WordPress knowledge base with a single click.
DELETE CERTAIN COMMENT TYPE(S)
Permanently delete certain comment types from your WordPress website including WooCommerce product reviews as well as generic comments.
DISABLE COMMENTS VIA XML-RPC And REST API
Block any comments made on your WordPress website via XML-RPC specification and REST API.
Important note: Use this plugin if you don’t want comments at all on your site (or on certain post types). Don’t use it if you want to selectively disable comments on individual posts – WordPress lets you do that anyway. If you don’t know how to disable comments on individual posts, there are instructions in the FAQ.
If you come across any bugs or have suggestions, please use the plugin support forum. I can’t fix it if I don’t know it’s broken! Please check the FAQ for common issues.
Want to contribute? Here’s the GitHub development repository.
A must-use version of the plugin is also available.
Advanced Configuration
Some of the plugin’s behavior can be modified by site administrators and plugin/theme developers through code:
-
Define
DISABLE_COMMENTS_REMOVE_COMMENTS_TEMPLATEand set it tofalseto prevent the plugin from replacing the theme’s comment template with an empty one. -
Define
DISABLE_COMMENTS_ALLOW_DISCUSSION_SETTINGSand set it totrueto prevent the plugin from hiding the Discussion settings page.
These definitions can be made either in your main wp-config.php or in your theme’s functions.php file.
THIS PLUGIN IS NOW MAINTAINED BY THE TEAM WPDeveloper.
💙 LOVED DISABLE COMMENTS?
-
For documentation and tutorials go to our Documentation
-
For video tutorials go to our YouTube Playlist
-
Join our Facebook Group
-
If you love Disable Comments, rate us on WordPress
-
For more information about features, FAQs, and documentation, check out our website at Disable Comments
🔥 GET FREEBIES FOR YOUR WORDPRESS SITE
Consider checking out our other WordPress solutions & boost your WordPress website:
🔝 Essential Addons For Elementor: Most popular Elementor addons with 2 million+ happy users & 95+ widgets & ready blocks
🔔 NotificationX – Best Social Proof & FOMO Marketing Solution to increase conversion rates.
🔗 BetterLinks: Latest best WordPress link management plugin for link shortening, tracking & analyzing.
📄 EmbedPress: EmbedPress lets you embed anything including videos, images, posts, audio, maps and upload PDF, DOC, PPT etc.
☁ Templately: 6000+ Free templates library for Elementor & Gutenberg along with the cloud collaboration for WordPress.
📚 BetterDocs: Best Documentation & Knowledge Base Plugin for WordPress reduce manual support tickets & improve user experience.
⏰ SchedulePress: Advanced editorial calendar with WordPress Post Scheduling, Social Sharing, Missed scheduled alerts, and more.
⚡ Flexia: Most lightweight, customizable & multi purpose theme for WordPress.
Visit WPDeveloper to learn more about how to do better in WordPress with Help Tutorial, Tips & Tricks.
Source Code
The plugin build compiles assets/js/disable-comments.js from src/disable-comments.js with Babel and assets/css/style.css from assets/scss/style.scss with Sass, using Grunt. These sources are not included in the plugin zip. Other first-party JavaScript and CSS files in assets/ are maintained directly.
Both the sources and the build configuration live in the GitHub development repository. To build them yourself:
npm install
npm run build
Bundled third-party assets
The Select2, pagination.js, and SweetAlert2 JavaScript/CSS distributions are bundled separately from the Grunt build. Their full license notices are in assets/licenses/. The DM Sans webfont notice and SIL Open Font License 1.1 are in assets/fonts/OFL.txt. The plugin license is in LICENSE.txt.
- Select2 4.1.0-rc.0: source and build files, MIT license.
- pagination.js, bundled header 2.1.5: upstream source, MIT license. The CSS matches upstream 2.1.5; the modified JavaScript is shipped in readable form at
assets/js/pagination.min.jsand is not rebuilt by Grunt. - SweetAlert2 10.10.1: source and build files, MIT license.
- DM Sans latin webfonts, distribution v11: upstream source, SIL Open Font License 1.1.
External services
Disable Comments connects to one external service, and only if you opt in.
WPInsight usage analytics (opt-in, off by default)
WPInsight is WPDeveloper’s usage-analytics service. We use it to learn which WordPress versions, PHP versions, plugins and themes people run alongside Disable Comments, so we can keep the plugin compatible with them.
- When data is sent: only after an administrator clicks “Sure, I’d like to help” in the opt-in notice. It is sent once at that moment, then about once a day by WP-Cron (only the details that changed since the last report), and once more when the plugin is deactivated. If you click “No Thanks.” or ignore the notice, nothing is ever sent.
- What is sent: your site URL and site name, WordPress version, site language and charset, PHP version, server software, whether the site is a multisite, text direction, the server path of the plugin, the lists of active and inactive plugins, the active theme and its version, the Disable Comments version, and the account email address of the administrator who clicks the opt-in button (used to send the discount coupon). A daily report can also include the current logged-in user account email; a background report without a logged-in user omits email. Reports also include the plugin name and identifier, tracker version, activation status and marketing flag, service-assigned site identifier, and original site URL when available. On deactivation it sends the same details again, plus the account email address of the administrator who deactivates the plugin, the deactivation time, and the reason and any note they enter in the deactivation form. Like any web request, the connection also reveals your server’s IP address to the service.
- Where it is sent:
https://send.wpinsight.com/process-plugin-data - Terms and privacy: Terms and Conditions, Privacy Policy
The “Still Seeing a Comment Form?” check on the plugin’s settings page also requests pages of your own site to check what your theme outputs. Those requests go to your own site only and send nothing to a third party.