Если комментарии на сайте не используются, их лучше отключить полностью, а не просто убрать форму с пары страниц. Иначе останутся старые обсуждения, лишние поля в админке, уведомления о модерации и спам, который продолжит приходить через уже открытые записи. В WordPress это можно сделать несколькими способами: через настройки, массово для существующих материалов, точечно для отдельных страниц и при необходимости — через код.
Ниже разберу именно практический сценарий: как убрать комментарии с сайта, закрыть старые записи и не оставить после этого лишних элементов интерфейса.
Что именно нужно отключить
В WordPress комментарии состоят не только из формы под записью. Обычно нужно убрать сразу несколько вещей:
- форму комментариев на новых и старых записях;
- возможность оставлять комментарии к уже опубликованным материалам;
- блоки комментариев в теме, если она их выводит;
- ссылки и счётчики комментариев в списках записей, виджетах и шаблонах;
- уведомления и очередь модерации, если они больше не нужны.
Если отключить только форму, но оставить открытые записи, спам может продолжать попадать в базу через старые материалы. Поэтому лучше сначала закрыть комментарии в настройках, а потом проверить существующий контент.
Самый простой способ: отключить комментарии в настройках
Для новых записей и страниц базовая настройка находится в админке WordPress. Откройте Настройки → Обсуждение и снимите галочку «Разрешить оставлять комментарии к новым записям».
Это действие влияет только на новые материалы, которые будут создаваться после изменения настройки. Уже опубликованные записи и страницы останутся в том состоянии, в котором были раньше.
Здесь же стоит проверить ещё несколько параметров:
- если включены уведомления о комментариях, их можно оставить или отключить — это зависит от того, нужны ли они вам вообще;
- если сайт раньше активно комментировали, проверьте, не требуется ли вам ручная модерация старых записей до полного закрытия обсуждений;
- если тема показывает счётчик комментариев, он может остаться в интерфейсе до дополнительной настройки темы.
Как закрыть комментарии у уже опубликованных записей
Это важный шаг, который часто пропускают. Если на сайте уже есть материалы, в них комментарии могут быть открыты независимо от новых настроек.
Для массового отключения откройте Записи → Все записи. Отметьте нужные материалы, в выпадающем списке массовых действий выберите Изменить, нажмите Применить, а затем найдите параметр Комментарии и установите значение Закрыть. После этого сохраните изменения.
Тот же подход работает и для страниц, если на сайте они тоже принимали комментарии: Страницы → Все страницы и аналогичное массовое изменение.
Если записей много, WordPress покажет только часть списка на странице. Тогда придётся повторить действие для следующих страниц списка. Это нормальная ситуация: массовое изменение работает только с теми объектами, которые вы отметили в текущем экране.
Как отключить комментарии только для отдельных материалов
Иногда комментарии нужны не везде. Например, на новостях они полезны, а на служебных страницах, лендингах или карточках услуг — нет. В этом случае не отключайте их глобально, а управляйте настройкой на уровне записи.
При редактировании записи или страницы откройте блок настроек документа и найдите раздел, связанный с обсуждением. Если он скрыт, включите его в настройках экрана редактора. В классическом редакторе это делается через «Параметры экрана», в редакторе блоков — через панель настроек и дополнительные параметры записи.
Если в теме или редакторе нет явного переключателя, можно использовать стандартный метабокс Обсуждение. Когда он доступен, достаточно снять разрешение на комментарии для конкретного материала и обновить запись.
Убрать форму комментариев с сайта через код
Если нужно отключить комментарии сразу и без ручной правки каждой записи, можно сделать это через небольшой код в теме или, что безопаснее, в дочерней теме либо через плагин для сниппетов. Этот способ полезен, когда вы хотите закрыть комментарии на уровне сайта, а не только через админку.
Перед изменениями сделайте резервную копию. Неправильно вставленный код может сломать сайт, если редактировать файлы темы напрямую.
Чтобы полностью отключить поддержку комментариев и пингов для записей и страниц, можно добавить такой код:
add_action('init', function () {
$post_types = get_post_types([], 'names');
foreach ($post_types as $post_type) {
if (post_type_supports($post_type, 'comments')) {
remove_post_type_support($post_type, 'comments');
}
if (post_type_supports($post_type, 'trackbacks')) {
remove_post_type_support($post_type, 'trackbacks');
}
}
});
add_filter('comments_open', '__return_false', 20, 2);
add_filter('pings_open', '__return_false', 20, 2);
add_filter('comments_array', '__return_empty_array', 10, 2);Этот вариант делает три вещи: убирает поддержку комментариев у типов записей, запрещает открытие комментариев и пингов, а также не даёт выводить уже существующие комментарии в шаблоне. Но он не удаляет сами комментарии из базы данных — только отключает их показ и добавление.
Если вы не уверены, где именно вставлять код, лучше использовать плагин для сниппетов или обратиться к разработчику. Для большинства владельцев сайтов настройка через админку и массовое закрытие записей проще и безопаснее.
Как убрать старые комментарии и связанные элементы интерфейса
После отключения формы на сайте могут остаться следы старой системы комментариев: блок в шаблоне, счётчик, ссылка «Оставить комментарий», виджет последних комментариев, а иногда и пункт меню в админке, если тема или плагины его добавляют.
Что имеет смысл проверить вручную:
- открыть несколько старых записей и убедиться, что форма под ними не отображается;
- проверить архивы, главную страницу и шаблоны записей, если тема выводит счётчик комментариев;
- посмотреть, нет ли в сайдбаре виджета последних комментариев;
- проверить, не остались ли в меню или в блоках темы ссылки на раздел обсуждений.
Если тема жёстко выводит комментарии в шаблоне, одной настройкой WordPress вы их не уберёте. Тогда нужно либо отключать вывод в настройках темы, либо править шаблон. Это уже зависит от конкретной темы и её кода.
Как проверить, что комментарии действительно отключены
После изменений откройте несколько опубликованных записей в браузере без входа в админку. На странице не должно быть формы комментариев, кнопки отправки и блока с уже опубликованными обсуждениями, если вы отключали их полностью.
Затем проверьте админку:
- в редакторе записи не должно быть активной возможности включить комментарии, если вы убрали поддержку на уровне типа записи;
- в списке записей не должно появляться новых комментариев после тестового просмотра страницы;
- в разделе Комментарии не должно расти количество новых сообщений.
Если форма всё ещё видна, обычно причина одна из трёх: комментарии закрыты не у всех записей, тема выводит форму вручную, либо на странице кэшируется старая версия. В последнем случае очистите кэш сайта и браузера.
Что делать с уже накопившимся спамом и старыми комментариями
Если комментарии больше не нужны, старые записи можно не только закрыть, но и удалить. Делать это стоит аккуратно: сначала убедитесь, что среди них нет полезных отзывов или служебных сообщений.
В разделе Комментарии можно выбрать все записи и отправить их в корзину. После этого при необходимости очистите корзину. Если комментариев очень много, удаление лучше делать поэтапно, чтобы не перегрузить админку и базу данных.
Если на сайте накопилось много спама, а комментарии больше не будут использоваться, удаление старой очереди обычно полезнее, чем её хранение. Но перед массовым удалением всё равно стоит сделать резервную копию базы данных.
Когда лучше не отключать комментарии полностью
Полное отключение подходит не всем. Если сайт живёт за счёт обсуждений, отзывов или пользовательского контента, лучше не рубить комментарии целиком. В таком случае разумнее ограничить их модерацией, антиспамом и закрытием только на части материалов.
Но для корпоративных сайтов, лендингов, портфолио, страниц услуг и большинства информационных сайтов без активного сообщества отключение комментариев обычно оправдано: меньше спама, меньше лишней нагрузки и чище интерфейс.
Если вам нужно именно убрать комментарии как часть интерфейса сайта, а не просто временно закрыть обсуждения, действуйте в таком порядке: отключите новые комментарии в настройках, массово закройте старые записи, проверьте шаблон темы и удалите накопившийся спам. Тогда сайт действительно перестанет показывать и принимать комментарии, а не просто скроет форму на части страниц.