Beginner's Guide for WordPress / Start your WordPress Blog in minutes

How to Completely Disable Comments in WordPress (Ultimate Guide)

Are you wondering how to completely or partially turn off WordPress comments?

While comments are a great way to engage your site visitors, you might not want to allow comments on your site for any number of reasons. There are a lot of ways you can disable comments, from only on specific posts, pages, or custom post types, to even completely removing comments from your entire website.

In this article, we’ll show you the step-by-step process of how to disable comments in WordPress.

How to Completely Disable Comments in WordPress

Why Disable Comments in WordPress?

There are many reasons why you might want to turn off comments on specific posts or pages or disable comments on your whole website.

For example, bloggers may publish certain posts like announcements that they don’t want to allow comments on. In these cases, you can easily disable comments on those specific posts or pages.

Many small business owners use WordPress to create their website. These business websites often don’t have a blog section and mostly have static pages like services, about us, contact, etc. In such cases, it doesn’t make sense to allow comments at all.

Another common scenario is some business blogs choose to disable comments entirely to prevent spam. Although you can always use spam protection techniques (which we’ll share later in this article), disabling the comment section will definitely solve the problem.

Whatever your reason may be, you can certainly disable comments and even remove the comment section from your WordPress site entirely.

Here’s a quick overview of what you’ll learn in this article:

The first few methods will explain how you can disable comments on pages, posts, or media without using a plugin. We’ll later explain how to remove the comment section from your WordPress blog with the help of a plugin.

With that said, let’s take a look at various ways to disable comments in WordPress.

Video Tutorial

Subscribe to WPBeginner

If you don’t like the video or need more instructions, then continue reading.

Completely Disable Comments

It is very easy to completely disable comments and remove all comments-related features from the admin panel as well as the front end of your website.

The free WPCode plugin comes with a library of pre-configured code snippets, and you can use the ‘Completely Disable Comments’ snippet to remove all traces of them from your site.

Simply install and activate WPCode, and then navigate to Code Snippets » Library in your WordPress admin panel. Here, you can search for ‘completely disable comments’ and hover your mouse over the result named the same thing.

You can then click on ‘Use Snippet.’

Use new snippet in wpcode

WPCode will then take you to the ‘Edit Snippet’ page where the plugin has already configured everything for you.

All you need to do is toggle the switch to ‘Active’ and click ‘Update.’

The edit snippet page for WPCode

Now, WPCode will disable all comments-related features from your website.

If you prefer to remove all comments manually from your site, you can paste the following code into your theme’s functions.php file.

add_action('admin_init', function () {
    // Redirect any user trying to access comments page
    global $pagenow;
    
    if ($pagenow === 'edit-comments.php') {
        wp_safe_redirect(admin_url());
        exit;
    }

    // Remove comments metabox from dashboard
    remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal');

    // Disable support for comments and trackbacks in post types
    foreach (get_post_types() as $post_type) {
        if (post_type_supports($post_type, 'comments')) {
            remove_post_type_support($post_type, 'comments');
            remove_post_type_support($post_type, 'trackbacks');
        }
    }
});

// Close comments on the front-end
add_filter('comments_open', '__return_false', 20, 2);
add_filter('pings_open', '__return_false', 20, 2);

// Hide existing comments
add_filter('comments_array', '__return_empty_array', 10, 2);

// Remove comments page in menu
add_action('admin_menu', function () {
    remove_menu_page('edit-comments.php');
});

// Remove comments links from admin bar
add_action('init', function () {
    if (is_admin_bar_showing()) {
        remove_action('admin_bar_menu', 'wp_admin_bar_comments_menu', 60);
    }
});

Note: Pasting code snippets directly into your theme files should only be done by advanced users, as editing your core WordPress files can easily break your site.

Disable Comments on Future Posts

If you’ve just started your WordPress site, you can easily stop comments on your future posts.

To do that, go to Settings » Discussion from the left sidebar of your WordPress admin panel.

On this page, you need to uncheck the option that says “Allow people to post comments on new articles” and then click on the Save Changes button to store your settings.

Disable comments on future posts

This will disable comments on all your future posts. However, if you want to allow or disallow comments on a specific post, then you can still do it without changing this setting.

We’ll cover that in the next section.

Disable Comments on a Specific Page or Post

By default, comments are turned off on all your pages.

However, WordPress gives you the freedom to enable or disable comments on individual pages and posts.

Simply head over to Pages » All Pages from the left sidebar. On the next page, you need to hover your mouse cursor over the title of a page that you want to enable or disable comments and click the Edit link.

WordPress Page edit option

On the top-right corner of your page, you’ll see the 3 vertical dots icon. You need to click on it to open a dropdown menu and then click on Options.

This will open a popup box, and you need to make sure the Discussion box is enabled here.

Page document options

Once you close this modal box, you’ll see the Discussion meta box on the right side of your editor.

If you don’t see it, then please make sure that you click on the Document tab to view it.

Discussion meta box

Now, you can uncheck the Allow Comments box to disable comments on this page and click on Update to save the changes.

On the other hand, if you want to selectively enable comments, then you can just check the box to enable it for certain pages.

You can follow the same process for turning off comments on individual posts or other custom post types.

Disable Comments on Pages and Posts in Bulk

Want to disable comments on all your published posts and pages without doing it individually? You can do that without the use of a plugin.

First of all, go to Posts » All Posts to see all your articles.

Next, select all the posts, choose Edit from the Bulk Actions dropdown box, and click on Apply.

Edit Posts in bulk

You’ll now be able to perform bulk actions to all the posts selected, including changing the author name and turning off comments for all the selected posts.

Select ‘Do not allow’ from the comments dropdown box and click on the Update button. This will disable comments on all the selected posts.

Disable comments on posts in bulk

You can follow the same process to turn off comments on your pages.

Delete All WordPress Comments

While the above methods will disable comments on your posts and pages, they will not remove the existing comments from your WordPress site.

To delete all the comments from your site, click on Comments from the left sidebar of your admin panel.

Delete all WordPress comments

Next, select all the comments, choose the ‘Move to Trash’ option from the Bulk Actions dropdown box, and click on Apply. This will delete all the existing comments from your site.

If your website has a lot of comments, then you will have to repeat this step multiple times because WordPress only displays a certain number of comments per page.

Disable Comments on Media Pages

If you are looking to disable comments on media attachment pages, then there are two ways to go about it.

You can manually disable comments on individual media attachment files by following the methods we discussed above, but that can be really time-consuming.

The easier way to bulk disable comments is by using a code snippet. If you’re an advanced user, you can paste the following code into your theme’s functions.php file. We don’t recommend this method as it’s very easy to break your WordPress site by editing core files.

function filter_media_comment_status( $open, $post_id ) {
    $post = get_post( $post_id );
    if( $post->post_type == 'attachment' ) {
        return false;
    }
    return $open;
}
add_filter( 'comments_open', 'filter_media_comment_status', 10 , 2 );

We recommend everyone use WPCode, the simplest and easiest way for anyone to add code to their WordPress site.

Simple install and activate the free WPCode plugin. For more information, you can see our step-by-step guide on how to install a WordPress plugin.

Upon activation, head to Code Snippets in your WordPress dashboard. Hover your mouse over ‘Add Your Custom Code (New Snippet)’ and click the ‘Use Snippet’ button.

WPCode Add new Snippet

Next, you will see the ‘Create Custom Snippet’ screen.

Here you can give your snippet a title such as ‘Disable Comments on Media Pages’ and paste the code above into the ‘Code Preview’ area.

WPCode disabling all comments on media

Note that you should have ‘PHP Snippet’ selected from the dropdown menu under ‘Code Type’ and the switch toggled to ‘Active.’

Now, you can simply press the ‘Save Snippet’ button, and the code will be live on your site.

Disable WordPress Comments the Easy Way Using a Plugin

If you don’t want to disable comments manually, then you can use the Disable Comments plugin to do it with just a click.

It allows you to completely disable comments everywhere on your WordPress site. You can also disable them on specific post types like posts, pages, media, and others. It also removes the comment form and stops displaying existing comments.

Disable Comments

The first thing you need to do is install and activate the Disable Comments plugin. You can follow our step-by-step guide on how to install a WordPress plugin for detailed instructions.

After activating the plugin, head over to Settings » Disable Comments from the left sidebar of your admin panel.

Selecting the ‘Everywhere’ option allows you to disable comments on your entire WordPress site. The plugin will also remove the comments menu item from your WordPress admin area.

If you select the second option of ‘On Specific Post Types’, then you can selectively disable comments on your posts, pages, or media.

Disable Comments settings

For example, if you want to remove comments only from the media attachments, then you can select ‘On Specific Post Types’ radio button and then check the Media checkbox.

You can do the same if you only want to turn off comments on WordPress pages. Using the plugin is the easiest way to disable comments on WordPress pages.

When you’re done, simply click on Save Changes to complete the process.

Remove “Comments Are Closed” in WordPress

If your WordPress theme is not checking the comment status properly, then it may still display the comment form, existing comments, or even show the “Comments are closed” message.

You can ask your theme developer to fix this because this is not a standard compliant approach.

Alternatively, you can also try fixing it yourself by following the instructions below.

First, connect to your WordPress site using an FTP client or the File Manager in your WordPress hosting control panel. Next, you can navigate to your current theme folder which will be located in /wp-content/themes/ folder.

In your theme folder, you need to locate the file comments.php, right-click on that file, and rename it to comments_old.php.

Rename comments php file

Next, you need to right-click in the right panel of your FTP client and select Create new file option.

And then, name your new file as comments.php and click the ‘OK’ button.

Create a new comments file

This trick simply serves as an empty comments template for your WordPress theme, so no comments or comment-related messages will be shown.

If your WordPress theme does not have the comments.php file, then you need to ask your theme developer which file you need to edit.

BONUS: Spam Protection Techniques

If you’re planning to disable WordPress comments just for the sake of protecting your site from spammers and link builders, then we would recommend you use some of the following techniques to combat spam.

Akismet

Akismet WordPress Plugin

Akismet is one of the best plugins for dealing with spam comments. And the best part is it has been built by the team behind WordPress.

This plugin checks each comment on your site and verifies whether it’s spam or not. For more details, you can check out our guide on the Akismet plugin.

Closing Comments

Did you know that you can close comments after a certain period of time?

Close comments after a specific period

Head over to Settings » Discussion and check the field that says “Automatically close comments on articles older than 14 days.”

This will close the comments form after 14 days automatically. You can also change the number of days based on your needs.

Typically spammers target older posts, so several users change this setting to 180 days which significantly reduces spam.

Honeypot with Antispam Bee

On WPBeginner, we have found it helpful to add a second plugin called Antispam Bee which works alongside Akismet to significantly reduce comment spam on your site.

It adds an invisible honeypot that blocks 99% of spam bot comments.

Comment CAPTCHA

Adding a CAPTCHA or reCAPTCHA to your comment form is not user-friendly, but it helps you to protect your site from spammers.

You can use the CAPTCHA 4WP plugin to add reCaptcha just before the submit button of your comment form.

Remove Website URL Form Field

Another way to deal with link builders and spammers is to remove the website URL field from the comment form. Many spam comments are from bots and users simply looking for a link back to their site.

And you can use Comment Link Remove and Other Comment Tool for this purpose. This plugin allows you to remove the website URL field from your comment form without touching a single line of code. Isn’t that great?

Blocking Bad IPs

You can also block bad IP addresses from accessing your WordPress site. This will help you to block spammers and hacking attacks.

To do that, you can check our guide on how to block IP addresses in WordPress.

We hope this detailed guide helped you to understand how to completely disable comments in WordPress with and without using a plugin. You may also want to see our ultimate WordPress security guide or our expert comparison of the best plugins and tools for business websites.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

57 CommentsLeave a Reply

  1. Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Additional PHP code on how to get rid of the comment icon within the admin bar.

    // Remove comments icon from the admin bar
    add_action( ‘wp_before_admin_bar_render’, function () {
    global $wp_admin_bar;
    $wp_admin_bar->remove_menu(‘comments’);
    });

  3. Excellent article, thank you. Exactly what I was looking for, and installing the WPCode plugin then following the steps did precisely what I was trying to do. Thanks again!

  4. Thanks for the video. Turning off comments in bulk is not working for me. I followed the steps and it shows, but I keep getting comments. Any suggestions?

    • You would want to check where the comments are on your site and see if the comments settings for the specific post/page that they are being added to is not set to disable comments.

      Admin

      • Ok, but the point of the video is to turn off comments globally. That is what I am trying to accomplish. I don’t want anymore comments on my site. Any suggestions?

        • Correct, following our guide you should no longer have any comments. If you are still receiving comments then you would want to check the specific page/post you are receiving comments on in case that specific page has settings that would override the global settings.

          This could happen if you missed the page in the bulk edit option or if you accidentally changed the settings when editing that post or page.

  5. Excellent article, and provided me with several options.

    Why would or should I use Akismet instead of Disable Comments?

    The site in question has been designed purely as a “yellow page” display ad, with some text and images of work done.

    • Akismet is a tool to help reduce spam if you want to keep the comments available to your users instead of completely closing them.

      Admin

  6. Great ways and thank you. But, how we should do to prevent someone that they are trying to insert link on comment body with html tag and css modification for color?

    • You would want to check with the support for your specific theme if that is not hidden when comments are disabled.

      Admin

    • You may have another setting for the specific post overriding or a plugin conflict may be adding the comment area.

      Admin

    • On the product page when you are editing it in the admin area of your site there would be the option to disable comments.

      Admin

  7. I have disabled comment from setting>discussion but still comment is visible on previous posts. how can i remove these on previous post or what is the manual process to remove these comments

    • You would either want to use the plugin or manually update the old posts and pages to disable the comments.

      Admin

  8. Thank you. Your directions and screen shots were very clear and easy to follow. I am grateful for your help.

  9. The comment section/box is a form. You just need to disable it. You can do this through Appearance > Customization > Additional CSS. Just right-click and inspect your comment box to find its id or class (you actually need to find the id or class of its correct parent div). Then you disable like this:

    #idname { display: none; }

    Evidently, “idname” is the name of the correct id you’ve found.

    For example, if you inspect this very comment box, you’ll see that it’s a element and it has a element as a parent. Then if you go up you see this p element is a descendant of a form, which is a child of a div with a “respond” id. If you hide this div, you’ll see that this comment section disappears.

    • While this is technically an option if none of the other options work, it does not remove the comment form it only hides it which means it can still be found by spam tools that crawl pages for the comments section.

      Admin

  10. I think employing a plugin was an honest idea if your website has many posts and much of latest ones coming daily except for a little blog or sites, it are often done manually.

    • You’re correct, if you’re just starting and never want comments then you can do this manually. The plugin is mainly for if removing comments was decided later :)

      Admin

  11. Thank you for a very clear and easy to follow tutorial.
    My only question however would be, how to I stop the words ‘no comment’ appearing next to each post?
    Thank you.
    M.

    • It would depend on where this is located. If you reach out to your theme’s support they should be able to let you know what options they have available.

      Admin

  12. Hi,

    This was very simple, clean, clear way to help me disable post comments on my site!

    Great work

  13. I think using a plugin was a good idea if your website has lots of posts and lots of new ones coming daily but for a small blog or sites, it can be done manually.

    • That is another option, the plugin is to ensure someone does not forget to disable the comments on a post

      Admin

  14. Why you should be encouraging people to close or disallow comments on their blogs and websites beats me! This may be necessary for pages, but certainly not for posts! We should be encouraging commenting as much as possible, and educate them in spam moderation and how to overcome trolling behaviour. Even the simple ability to close comments after a number of days will keep the spammers down to a minimum. But closing comments completely is an absolute no-no.

    I note you don’t allow URLs with your commenting – so I will not be benefiting from this comment in any way apart from expressing my disgust!

    • It is a personal preference for if someone should use comments. If someone lacks the time or does not want to have comments on their site, this is an option for them. This guide is to show them how to do it, not recommending it for every site :)

      Admin

    • I don’t want visitors to comment on my site even on my posts.
      Imagine a job posting site… you probably don’t want to see comments below every job post but for a blog like wpbeginner comment makes sense.

      It depends on the type of website. and…

      Links in comments generate lots of spam sometimes even they are nofollow some people or bots just want to post a link in the comment for improving their SEO rankings.

    • Alice, The majority of my clients are corporations using WordPress as a CMS, oftentimes using Posts for a News section or the like. They have no interest in engaging readers via a comment section. That’s what they use Facebook and Twitter for, and it’s why they publish their WordPress content to those platforms. It only makes sense to shut down the commenting feature completely.

      Not every WordPress site is a personal blog.

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.