Если на сайте комментарии не нужны, их лучше отключить сразу, а не просто перестать на них отвечать. Иначе вы продолжите получать спам, уведомления о модерации и лишние запросы к базе данных. Для сайтов-визиток, лендингов и контентных проектов без общения в комментариях это обычно только мешает.
В WordPress есть несколько способов убрать комментарии: через настройки для новых записей, массово для уже опубликованных материалов, с помощью плагина или вручную через код. Выбор зависит от того, нужно ли отключить комментарии на всём сайте или только на части страниц.
Когда достаточно отключить комментарии в настройках
Если вы больше не хотите, чтобы новые записи и страницы получали комментарии, начните с встроенных настроек WordPress. Это самый безопасный вариант: он не требует правки темы и не ломает сайт при обновлениях.
Откройте админку WordPress и перейдите в Настройки → Обсуждение. Снимите галочку с пункта «Разрешить оставлять комментарии к новым записям». После этого все новые материалы по умолчанию будут публиковаться без формы комментариев.
Этот способ не влияет на уже опубликованные записи. Если на сайте есть старые статьи, у которых комментарии уже открыты, их нужно закрывать отдельно.
Как отключить комментарии на уже опубликованных записях и страницах
Для существующего контента удобнее использовать массовое редактирование. Это особенно полезно, если на сайте уже накопились десятки или сотни материалов.
Перейдите в раздел Записи или Страницы, отметьте нужные элементы и выберите Изменить в выпадающем списке массовых действий. Нажмите Применить. В блоке массового редактирования найдите параметр Комментарии и установите значение Закрыть. Затем сохраните изменения.
Если материалов много, удобнее обрабатывать их партиями. WordPress обычно показывает ограниченное количество записей на странице, поэтому массовое закрытие комментариев может занять несколько проходов.
Что делать, если нужно закрыть комментарии только на части контента
Иногда комментарии нужны на блоге, но не нужны на служебных страницах вроде О нас, Контакты или посадочных страниц. В этом случае не отключайте комментарии глобально. Проще оставить их включёнными в настройках и закрыть только нужные записи и страницы через массовое редактирование или вручную в редакторе.
Такой подход удобен, если сайт совмещает разные типы контента: например, статьи с обсуждением и лендинги без формы комментариев.
Как полностью убрать комментарии со всего сайта
Если комментарии не нужны вообще нигде, одного отключения в настройках может быть мало. На сайте всё равно могут остаться:
- форма комментариев в шаблоне;
- счётчики комментариев в теме;
- старые комментарии под опубликованными материалами;
- пункты меню или блоки, связанные с обсуждениями.
В этом случае нужно не только закрыть комментарии для новых записей, но и убрать их из уже существующего контента. Сначала закройте комментарии массово для записей и страниц, затем проверьте, не выводит ли тема форму комментариев на отдельных шаблонах.
Если тема сделана корректно, после закрытия комментариев форма исчезнет автоматически. Но некоторые шаблоны выводят блок комментариев принудительно, даже когда обсуждение закрыто. Тогда понадобится правка шаблона темы или использование плагина, который скрывает комментарии на уровне интерфейса и админки.
Когда удобнее использовать плагин
Плагин имеет смысл, если вы хотите отключить комментарии быстро и без ручной обработки каждого типа контента. Это особенно полезно, когда на сайте есть записи, страницы, вложения и другие сущности WordPress, у которых комментарии могут быть включены по-разному.
Плагин обычно помогает не только закрыть комментарии, но и убрать связанные элементы из админки: разделы обсуждений, метабоксы, уведомления и иногда лишние поля в интерфейсе. Для владельца сайта это удобнее, чем вручную проверять каждый шаблон и каждый тип записи.
Если вы уже используете плагины для оптимизации и чистки WordPress, посмотрите на Clearfy Pro. Он подходит, когда нужно централизованно отключать лишние функции WordPress, в том числе комментарии, без ручной правки темы.
Как отключить комментарии через код
Этот вариант нужен, если вы делаете сайт под ключ, поддерживаете собственную тему или хотите жёстко зафиксировать поведение сайта без зависимости от плагинов. Но здесь важно понимать риск: неудачная правка темы может сломать вывод страницы. Перед изменениями сделайте резервную копию и работайте в дочерней теме или в собственном плагине.
Чтобы отключить комментарии для новых материалов на уровне кода, можно добавить фильтр в файл functions.php дочерней темы:
add_filter( 'comments_open', '__return_false', 20, 2 );Этот фильтр закрывает комментарии для отображения на фронтенде. Но он не удаляет уже существующие комментарии из базы данных и не убирает их из админки.
Если нужно отключить комментарии для конкретного типа записей, лучше использовать более точечное решение через регистрацию типа записи или плагин, а не глобально закрывать всё подряд. Глобальный фильтр подходит только тогда, когда комментарии не нужны нигде.
Как проверить, что комментарии действительно отключены
После настройки откройте несколько страниц сайта в обычном режиме, не из админки. Проверьте три вещи:
- под записью или страницей больше нет формы комментариев;
- в админке у новых материалов комментарии закрыты по умолчанию;
- на старых записях не осталось открытых обсуждений, если вы закрывали их массово.
Если форма всё ещё отображается, причина обычно в теме или в кэше. Сначала очистите кэш сайта и браузера. Если не помогло, проверьте шаблон записи: некоторые темы выводят блок комментариев вручную, и тогда настройки WordPress на него не влияют.
Что важно учесть перед отключением
Отключение комментариев не удаляет их автоматически из базы данных. Если на сайте уже много спама и старых обсуждений, они останутся в админке, пока вы не удалите их вручную или отдельным инструментом. Это нормально: WordPress разделяет закрытие комментариев и удаление уже существующих данных.
Ещё один момент — уведомления. Если комментарии были включены давно, у вас могли накопиться письма о модерации, ответы на комментарии и другие связанные уведомления. После отключения они обычно перестают приходить, но только для новых событий. Старые уведомления, конечно, никуда не исчезнут.
Для сайта без обсуждений самый практичный порядок такой: сначала закрыть комментарии в настройках, затем массово отключить их на старом контенте, после этого проверить шаблон и при необходимости убрать остатки через плагин или правку темы. Так вы избавитесь от спама и лишней модерации без лишних экспериментов с кодом.