To disable WordPress comments without deleting old replies, close comments rather than deleting them. Use Settings > Discussion for the default on new posts, then review the Discussion setting on content that already exists. Turning off the default alone does not close your older articles.
For a business website, the aim may be to stop an unmonitored public discussion while keeping helpful answers visible and enquiries working. That needs a narrower decision than hiding every comment-related element or installing a sitewide disabling plugin.
This guide covers native WordPress comments. Contact forms, product reviews and third-party discussion services need their own checks. No comment records, site settings or customer messages need to be deleted to follow the closing-comments approach.
Choose what should stop and what should stay
Write the desired result before changing anything. A blog with useful historical replies may need a different outcome from a newly launched brochure website.
| Your goal | Control to review | Keep separate |
|---|---|---|
| No comments on future blog posts | Default comment permission in Settings > Discussion | Existing posts retain their own status |
| No new replies on selected old articles | Those posts’ Discussion setting or a controlled Bulk Edit | Previously published replies are not deleted by closing comments |
| Keep discussion but approve replies first | Comment moderation settings | Moderation is not the same as disabling submissions |
| Stop spam reaching the sales inbox | The actual contact form and its delivery/filtering setup | Closing blog comments is not a contact-form repair |
WordPress’s comment moderation guide distinguishes review of incoming comments from closing a post to further comments. Choose the behaviour you want instead of treating every unwanted message as the same channel.
Disable comments on new WordPress posts
In your site’s WordPress dashboard, open Settings > Discussion. Find the default-post option labelled Allow people to submit comments on new posts, or the equivalent wording for new articles. Clear it and choose Save Changes.
This is a default for new content, not a retroactive update to every existing article. The official WordPress FAQ explicitly separates future posts from past posts. A particular post can also have its own Discussion choice.
Review saved drafts as well. A draft can already carry a Discussion choice from when it was created. WordPress’s new-post initialization sets initial comment status; do not assume that publishing an older draft will replace its saved choice with today’s default.
Before changing this setting, record its current value and who is authorized to reopen discussion. Do not use a global change if the actual request is to close only one old article.
Close comments on one existing post
Open Posts > All Posts and edit the relevant article. In the editor’s post settings, open Discussion and choose Closed. Some editor versions present an Allow comments checkbox instead; clear it, then save or update the post.
Reopen the saved post settings to confirm the result. Then check the public page as a visitor. Previously approved replies can remain visible even when there is no longer a place to add another reply. A message saying that comments are closed is not evidence that the change failed.
If the panel is absent, first check the editor’s available settings and your account’s permissions. A custom content type or external discussion system may have a different owner. Stop before adding code or switching themes just to make a tutorial’s panel appear.
Close comments on a reviewed batch of older posts
For several articles, WordPress provides a native bulk-edit route:
- In Posts > All Posts, filter to the content you intend to change.
- Select a small, reviewable batch and note which posts it contains.
- Choose Edit from Bulk actions, then choose Apply.
- Set Comments to Do not allow. Leave unrelated bulk fields unchanged.
- Choose Update and check representative public articles before continuing.
The selection belongs to the items you actually selected, not automatically every article on every results page. Repeat deliberately where needed. Do not mix pages, products and custom content into one broad operation merely because they also support discussion.
A worked example: preserve answers, close further replies
Imagine a business blog with twelve older articles. Three contain useful questions and answers, but nobody will moderate new replies after a team handover. The owner wants those answers to stay, future blog posts to start closed, and the contact form to remain the enquiry route. This is a hypothetical example, not a client result.
First, record the current default and the twelve posts’ existing statuses. Next, close the future-post default. Then close the reviewed existing articles through their own controls or a small bulk edit. Do not select Delete in the Comments screen.
The acceptance check has three separate parts: an old article still shows its approved answers, that article no longer accepts a new native comment, and a newly created test post starts with the intended Discussion status. Review the contact page separately; its form should not disappear because blog discussion was closed.
Only run a real submission test when the responsible owner approves it. Use a protected test environment and approved test data where practical. A screenshot of a missing comment box is not proof that every submission route is closed or that enquiry delivery works.
Keep pingbacks, reviews and enquiries separate
Pingbacks and trackbacks are link notifications, with their own default and per-post controls. Review them separately if those notifications are the problem. The Discussion settings documentation also covers age-based closing and moderation. Avoid changing several of these at once without recording their previous values.
If your site uses WooCommerce, do not assume that a blanket comments plugin will preserve the product-review journey you want. WooCommerce documents global and individual-product controls in its product reviews guide. Check those separately before applying a sitewide rule.
For spam or missing messages from a lead form, follow the relevant form’s controls instead. Our WordPress contact-form spam guide explains why screening must protect genuine enquiries as well as reject unwanted submissions.
If the comment form remains visible
Confirm the saved status of that exact post before blaming caching. A builder template may display a comments component, or a separate discussion service may render its own form. The native WordPress comments-open check uses the post’s comment status and allows integrations to influence the result.
A developer should identify whether the visible element is the native form, an old cached page or another service. Refresh the relevant page cache after a verified change and compare the same public URL. Do not hide the box with CSS and assume that you have changed the underlying permission.
For stale public output, use the WordPress changes-not-showing guide. If old replies vanish or a product-review or enquiry path changes unexpectedly, stop the rollout and restore the exact setting or component you changed. Reopening comments does not restore records that somebody permanently deleted.
Make the handover explicit
Record which content is closed, which discussions remain open, who handles moderation and which contact route readers should use. Preserve a current recovery point before a large batch change, and keep a list of the affected posts so rollback does not reopen unrelated content.
For a site with several editors, custom templates or connected discussion tools, WordPress maintenance can help establish those boundaries and verify the public result. Closing the right channel is the task; deleting the site’s conversation history is a different decision.