kitepod

Home / WordPress guides

How to disable comments in WordPress, old posts included

Updated October 30, 2026

You can disable comments in WordPress in about 5 minutes. It's 3 separate jobs, though, not one checkbox.

The checkbox in Settings → Discussion is the one everyone finds. But WordPress prints a warning right under it: changes there only apply to new posts. Every post you published before you unticked it keeps its comment form open, and that's where next week's spam lands.

So the full job is:

  1. Stop comments on new posts.
  2. Close them on every post and page you've already published.
  3. If you want old comments off the page too, take the comment section out of your theme.

Or let one plugin do all three, which is the last option below.

1. Stop comments on new posts

  1. Go to Settings → Discussion.
  2. Untick "Allow people to submit comments on new posts".
  3. Untick "Allow link notifications from other blogs (pingbacks and trackbacks) on new posts" as well. Pingbacks land in the comments area too, and these days they're often spam.
  4. Click Save Changes.

2. Close comments on posts you've already published

Bulk Edit does every post in one pass.

  1. Go to Posts → All Posts.
  2. Open Screen Options at the top right and raise "Number of items per page" until all your posts fit (say, 500), then click Apply.
  3. Tick the checkbox in the table header to select every post.
  4. Choose Edit from the Bulk actions dropdown and click Apply.
  5. Set the Comments dropdown to "Do not allow", and the Pings dropdown too, since unticking pingbacks in step 1 only covered new posts.
  6. Click Update.

Then repeat it under Pages → All Pages. Pages keep their own comment status, and some themes show a comment form on them.

For posts there's a shortcut too. In Settings → Discussion, tick "Automatically close comments on old posts" and set the days to 1, and every post older than a day stops taking comments. WordPress applies that to posts only, though, so pages still need Bulk Edit.

To close a single post instead, open it in the editor, click the Discussion value in the sidebar (usually Open) and choose Closed. The editor spells out the result: no new comments or replies, and existing comments stay visible.

3. Remove the comment section from your theme

Closed comments still show under your posts. To take them off the page, remove the Comments block from the template. It's the same template edit as hiding a page title, just a different block. On a block theme like Twenty Twenty-Five:

  1. Go to Appearance → Editor → Templates.
  2. Open Single Posts (the name varies a little by theme).
  3. Select the Comments block. List View in the top toolbar helps if it's buried in a group.
  4. Open the block's ⋮ menu and choose Delete.
  5. Save, then do the same in the Pages template if your theme shows comments there.

Classic themes don't have a template editor in wp-admin, and editing the theme's comments.php gets wiped on its next update. The plugin is the easier path there. Or, if your theme wraps comments in a .comments-area box (many classic themes do), one line of display: none in Additional CSS hides the whole section.

If you'd rather get rid of old comments altogether, go to Comments, select them and choose Move to Trash from Bulk actions.

Or use the Disable Comments plugin

Disable Comments by WPDeveloper does all three jobs from one settings screen. As of October 2026 it has over 1 million active installs and is tested up to WordPress 7.1.4.

It turns comments off for the whole site or for chosen post types, so you don't have to close posts one by one. It also hides the Comments menu and widgets in wp-admin, and switches off comments over XML-RPC and the REST API along with the form. Its bulk delete tool can't be undone, so back up the database before you use it.

Or ask your assistant

With Kitepod connected, you can hand Claude or ChatGPT the whole list:

Ask your assistant

Turn off comments on my site: stop them on new posts, close them on every existing post and page, and take the comments section out of the single post template.

Closing comments on a few hundred posts by hand is the tedious part. If the assistant does it as one bulk WP-CLI write, then on the default setting it waits for your OK first. The template change is staged, and nothing goes live until you publish it. Whatever runs is snapshotted first and can be undone for 90 days, which matters if you decide in a month that you want comments back on a few posts.

What goes wrong

What you seeWhat to do
New comments on posts from last yearThe Discussion setting never touched them. Bulk Edit them to closed (step 2).
A comment form on pagesBulk Edit only changed posts. Repeat it under Pages → All Pages.
Old comments still showing under postsClosing keeps them visible on purpose. Remove the Comments block from the template, or trash them.
A full spam queue after you closed everythingThose arrived before you closed things. Empty Comments → Spam and check Pending.

Finer points

Does disabling comments in WordPress delete existing comments?

No. Closing comments stops new ones and leaves existing ones visible. To remove them, trash them from the Comments screen or use the plugin's delete tool.

How do I disable comments on pages only?

Go to Pages → All Pages, select them all, choose Edit from Bulk actions and close comments in the Comments dropdown. Your posts stay as they were.

Why are comments still showing after I disabled them?

Either the posts were published before you changed the setting, or you're seeing old comments, which stay until you remove the Comments block or trash them.

Will disabling comments stop spam?

For new comments, yes. WordPress rejects comments on a closed post whether they come through the form, XML-RPC or the REST API, and closing pings on existing posts (step 2) as well as new ones shuts out pingbacks. Anything left in your queue arrived before you closed things.

Connect your assistant to WordPress, free

A plugin on your site and one URL in Claude, ChatGPT or Cursor. Unlimited sites and tool calls, staged changes, approvals and a 90-day undo.

Get started free