Как отключить комментарии в WordPress или избавиться от спама в комментариях?
Автор: Eureka Studio · Обновлено
Коротко
Сначала решите, нужны ли вам комментарии вообще. Если нет — закройте их везде, включая старые записи и пингбэки. Если нужны — оставьте открытыми, но с фильтрацией: невидимое поле-ловушка, минимальное время заполнения, лимит ссылок и лимиты на IP, а сомнительные комментарии — в карантин. Записи и отзывы о товарах WooCommerce — это отдельные решения. В Hushfort бесплатная «Защита от спама» даёт поле-ловушку и проверку времени заполнения, а лимит ссылок, лимиты на IP и карантин доступны в Pro.
Шаги
1Шаг 1
Решайте для каждого раздела отдельно
Комментарии в блоге и отзывы о товарах — разные вещи. В «Защите от спама» настройте «Комментарии к записям» и «Отзывы о товарах» по отдельности: магазин может выставить для комментариев к записям «Выкл. — отключить полностью», а отзывы оставить в режиме «Защищено — открыто, боты отсеиваются».

2Шаг 2
Отключите пингбэки и трекбэки
Установите для «Пингбэки / трекбэки» значение «Отключить (рекомендуется)». Почти каждый пингбэк — спам; это также убирает метод pingback в XML-RPC и заголовок X-Pingback.

3Шаг 3
Пусть невидимые проверки фильтруют то, что осталось открытым
Боты, которые отправляют данные прямо в wp-comments-post.php или заполняют скрытые поля, останавливаются. В Pro отзывы со слишком большим числом ссылок ждут в карантине, где их может просмотреть человек.
4Шаг 4
Разбирайте карантин в один щелчок (Pro)
В Pro время от времени просматривайте записи в карантине. Нажмите «Не спам» на настоящем отзыве — и этот IP и email будут запомнены и больше не попадут в фильтр.

Почему это важно
Чтобы избавиться от спама в комментариях WordPress, сначала решите, нужны ли комментарии вообще: если нет, закройте их везде, включая старые записи и пингбэки. Если нужны, оставьте их открытыми, но с невидимым полем-ловушкой, минимальным временем заполнения и карантином для сомнительных комментариев.
Спам в комментариях не просто засоряет очередь модерации. Проскочившие спам-ссылки ведут с вашего сайта туда, куда вы бы никогда не отправили читателей. Ожидающие комментарии копятся в базе данных. А в магазине фейковые отзывы могут оказаться рядом с настоящими, и тогда весь раздел отзывов выглядит недостоверным.
Честно говоря, многим сайтам комментарии вообще не нужны. Корпоративный сайт, портфолио или блог магазина часто получают больше спама, чем живого общения. Закрыть там комментарии — не сдаться, а убрать дверь, которой никто не пользуется.
Там, где комментарии важны, работают те же невидимые проверки, что останавливают спам в формах: боты заполняют скрытые поля, отправляют слишком быстро, повторяются с одного IP и вставляют ссылки.
Как быстро решить для каждого раздела:
| Ваш сайт | Комментарии к записям | Отзывы о товарах |
|---|---|---|
| Корпоративный сайт или портфолио | Выкл. | — |
| Блог с активным сообществом | Защищено | — |
| Магазин с малоактивным блогом | Выкл. | Защищено |
| Магазин, который продаёт благодаря отзывам | Защищено или Выкл. | Защищено |
Частые ошибки
- Закрыть комментарии только для новых записей. Настройка обсуждения не затрагивает старые записи, а именно в них целятся боты.
- Скрыть форму комментариев, но оставить открытой конечную точку. Ботам ваша форма не нужна. Они
отправляют данные прямо в
wp-comments-post.php. - Считать отзывы обычными комментариями. Если закрыть всё, чтобы остановить спам в блоге, из магазина могут пропасть и отзывы о товарах, и звёздный рейтинг.
- Оставить пингбэки включёнными. Это постоянный ручеёк спама почти без пользы.
- Автоматически удалять всё подозрительное. Сомнительные комментарии придерживайте, а не выбрасывайте.
Без плагина
Чтобы вручную закрыть комментарии везде:
- Настройки → Обсуждение: снимите отметки «Разрешить оповещения со ссылками с других блогов (пингбэки и трекбэки)» и «Разрешить оставлять комментарии к новым записям».
- Записи → Все записи: выделите все, выберите Изменить в списке действий, установите для комментариев «Не разрешать» и для пингов «Не разрешать».
- При желании закройте комментарии к записям старше заданного числа дней в разделе Настройки → Обсуждение.
Затем отклоняйте прямые отправки в конечную точку комментариев, например в must-use плагине:
<?php
add_filter( 'comments_open', '__return_false', 20 );
add_filter( 'pings_open', '__return_false', 20 );
add_action( 'pre_comment_on_post', function () {
wp_die( 'Comments are closed.', 403 );
} );
Это работает, но закрывает всё, включая отзывы о товарах, если у вас WooCommerce, и не убирает меню «Комментарии» и конечные точки REST для комментариев. Если же вы хотите оставить комментарии открытыми, но с фильтрацией, придётся вручную добавлять поля-ловушки и лимиты или пользоваться облачным сервисом.
Если что-то пошло не так
- Настоящие комментарии не появляются. Сначала загляните в журнал (а в Pro — и в карантин). Если включён режим блокировки, переключитесь на несколько дней в режим наблюдения и проверьте журнал.
- Пропали отзывы о товарах. Скорее всего, вы закрыли отзывы вместе с комментариями. Верните для «Отзывов о товарах» значение «Защищено».
- Спам продолжается после закрытия комментариев. Очистите кэш страниц: кэшированные страницы могут всё ещё показывать старую форму. Боты, отправляющие данные напрямую, отклоняются в любом случае.
С Hushfort
«Защита от спама» в Hushfort Security — бесплатном плагине безопасности для WordPress — настраивает каждый раздел отдельно. Для комментариев к записям и для отзывов о товарах WooCommerce вы выбираете:
- Защищено: открыто, а боты отсеиваются полем-ловушкой, проверкой времени заполнения и подписанным токеном (Pro добавляет лимит ссылок и лимиты на IP);
- Выкл.: убирает форму и список комментариев, конечные точки REST и меню «Комментарии» в админке,
а также отклоняет ботов, отправляющих данные прямо в
wp-comments-post.php; - Не трогать: Hushfort не вмешивается.
Пингбэки и трекбэки можно отключить на том же экране, а режим наблюдения позволяет всё проверить, прежде чем защита начнёт блокировать. В Pro вы также получаете лимиты на IP и на email, лимит ссылок, списки слов и чёрные списки, а также карантин с обучением по кнопке «Не спам». Ничего не отправляется во внешние сервисы.
Частые вопросы
Как полностью отключить комментарии в WordPress?
Почему спам приходит в комментарии к старым записям?
Стоит ли оставлять пингбэки?
Повлияет ли отключение комментариев на заметки к заказам WooCommerce?
Нужен ли мне Akismet?
Похожие инструкции
Как защитить форму обратной связи в WordPress от спама без капчи?
Защитите форму обратной связи от спама без капчи: поле-ловушка, время заполнения и лимиты для Elementor, Contact Form 7 и WPForms. Данные остаются у вас.
Смотреть шагиКак остановить спам-регистрации пользователей в WordPress?
Как остановить спам-регистрации в WordPress и WooCommerce: почасовые лимиты, общий потолок на сайт и невидимые поля-ловушки — без блокировки заказов.
Смотреть шагиЧто такое xmlrpc.php и как отключить XML-RPC в WordPress?
xmlrpc.php — вторая дверь для входа в WordPress, которую скрытый адрес входа не закрывает. Как отключить XML-RPC, сохранить пингбэки и проверить результат.
Смотреть шаги
