Если в разделе «Комментарии» ежедневно появляются рекламные ссылки, бессмысленные сообщения и заявки на публикацию гостевых постов, одного удаления спама недостаточно. Настройте фильтры WordPress и добавьте антиспам-проверку: тогда подозрительные комментарии будут попадать в очередь или в спам, а не публиковаться автоматически. Начать лучше со встроенных настроек — они работают без установки плагинов и позволяют быстро снизить поток мусора.
Настройте очередь модерации в WordPress
Откройте Настройки → Обсуждение. Названия пунктов могут немного отличаться в зависимости от перевода WordPress, но нужные параметры находятся на этой странице. Если новые комментарии сразу видны на сайте, сначала включите ручную проверку: отметьте пункт, требующий одобрять каждый комментарий. Это остановит публикацию спама, но увеличит число сообщений, которые придётся разбирать вручную. Поэтому для постоянно обновляемого сайта такой режим лучше использовать как временную меру или дополнить автоматическим фильтром.
Более удобный компромисс — разрешать публикацию автору, чей предыдущий комментарий уже был одобрен. Включите настройку, согласно которой автор должен иметь ранее одобренный комментарий. Первый комментарий нового посетителя тогда останется на проверке, а последующие смогут публиковаться автоматически. Учитывайте, что это не полноценная защита: спамер может написать с другого адреса электронной почты, а украденный или скомпрометированный адрес может уже иметь одобренный комментарий.
Если на сайте нет необходимости принимать ссылки от читателей, настройте порог модерации по количеству ссылок. В параметрах обсуждения можно отправлять комментарий на проверку, если в нём указано заданное число ссылок или больше. Для большинства обычных блогов разумно проверять сообщения уже с одной-двумя ссылками: рекламный спам часто содержит несколько URL. Не устанавливайте слишком высокий порог, иначе часть ссылочного спама будет проходить, а слишком низкий может отправлять на проверку полезные ответы с одной ссылкой.
Добавьте слова и адреса в фильтры комментариев
В том же разделе есть поля для фраз и данных, которые нужно модерировать или отправлять в спам. Если рекламные сообщения повторяются, добавьте характерные слова, домены, адреса электронной почты или другие устойчивые признаки. Каждый элемент указывают с новой строки. WordPress проверяет содержимое комментария и связанные с ним данные; совпадение с записью в списке может отправить комментарий на модерацию или в корзину спама — в зависимости от выбранного поля.
Не добавляйте туда слишком общие слова вроде «сайт», «купить» или «скидка»: они встречаются и в нормальных обсуждениях. Для начала используйте конкретные домены, повторяющиеся рекламные формулировки и адреса, с которых приходит поток сообщений. Несколько дней проверяйте, не попали ли в спам реальные комментарии. Если фильтр слишком часто срабатывает на полезные сообщения, удалите или уточните соответствующее правило.
Отдельно проверьте, требуется ли автору указывать имя и адрес электронной почты. Это не остановит ботов само по себе, но уберёт часть анонимного мусора. Обязательная регистрация обычно создаёт больше препятствий для обычных читателей, поэтому включайте её только если обсуждения действительно рассчитаны на зарегистрированных пользователей.
Закройте комментарии там, где они уже не нужны
Старые записи нередко становятся мишенью для автоматических рассылок, хотя обсуждение под ними давно не ведётся. В настройках обсуждения можно автоматически закрывать комментарии к записям старше заданного числа дней. Выберите срок по реальному поведению аудитории: например, если читатели активно обсуждают публикации только в первые недели, нет смысла оставлять форму открытой годами.
Закрытие новых комментариев не удаляет уже опубликованные сообщения и не отключает обсуждения на всех записях независимо от их настроек. Если нужно убрать форму только с отдельных страниц, откройте редактор записи и найдите в настройках публикации раздел обсуждения. Если параметр не отображается, проверьте настройки панели редактора: часть блоков можно скрыть в меню настроек интерфейса. Перед массовым закрытием комментариев на большом сайте убедитесь, что это не затронет страницы, где обсуждение по-прежнему важно.
Подключите антиспам-плагин
Встроенные фильтры удобны для повторяющихся шаблонов, но плохо справляются с постоянно меняющимся содержимым. Для автоматической проверки установите один антиспам-плагин и сначала изучите его настройки, журнал и порядок обработки подозрительных сообщений. Не подключайте одновременно несколько плагинов, которые проверяют один и тот же комментарий: это может усложнить диагностику и привести к ложным срабатываниям.
Akismet проверяет комментарии с помощью внешнего сервиса и может помечать предполагаемый спам автоматически. После установки потребуется настроить плагин и получить API-ключ. Условия использования и доступные тарифы зависят от типа сайта и могут меняться, поэтому проверьте их перед подключением. Поскольку данные комментариев передаются внешнему сервису, учитывайте требования своей политики конфиденциальности.
Antispam Bee — другой вариант для фильтрации комментариев; у него есть настройки, позволяющие выбирать, как обрабатывать подозрительные сообщения. Перед включением проверьте текущие параметры плагина и протестируйте их на реальных комментариях. Не все сайты одинаковы: защита, которая хорошо работает на блоге с обычными обсуждениями, может быть неудобна на проекте с активными ссылками и большим числом новых авторов.
Если спама много и встроенных правил вместе с плагином недостаточно, можно рассмотреть облачный антиспам-сервис, например CleanTalk. Он проверяет отправки на стороне сервиса, поэтому перед использованием проверьте стоимость, условия обработки данных и совместимость с вашей формой комментариев. Для большинства небольших сайтов сначала достаточно настроек WordPress и одного антиспам-плагина.
Проверьте, что фильтрация работает
После изменения настроек оставьте форму комментариев открытой и проверьте несколько сценариев: обычный комментарий без ссылки, сообщение со ссылкой и комментарий, содержащий известный спам-шаблон. Для теста используйте собственную запись и адрес электронной почты, доступ к которому у вас есть. Убедитесь, что нормальное сообщение публикуется или попадает в ожидаемую очередь, а подозрительное не появляется на сайте без проверки. Если тестовый комментарий не виден, откройте список «Комментарии» и проверьте вкладки ожидания модерации и спама.
Периодически просматривайте папку спама: автоматический фильтр может ошибиться. В списке комментариев можно восстановить ошибочно помеченное сообщение и отметить его как не спам. Не очищайте спам вслепую сразу после установки фильтра — сначала убедитесь, что среди задержанных комментариев нет ответов читателей. Когда вы подтвердили, что правила работают корректно, удалите накопившийся спам штатной очисткой в разделе комментариев.
Если после настройки спам всё ещё проходит
Сначала выясните, что именно публикуется: обычный комментарий WordPress или запись из формы, созданной плагином. Настройки обсуждения и антиспам-проверка для комментариев могут не распространяться на формы обратной связи, отзывы и другие отдельные модули. Проверьте, включён ли нужный фильтр в самом плагине формы, а также нет ли конфликта с кешированием или сторонним расширением.
Затем посмотрите, какие признаки повторяются у прошедших сообщений: ссылки, одинаковые фразы, домены или адреса. Добавьте конкретные признаки в модерацию, но после этого проверьте очередь на ложные срабатывания. Если у сайта много комментариев и боты постоянно меняют текст, усилите автоматическую проверку или ограничьте обсуждение на старых записях. CAPTCHA может стать дополнительным барьером, однако она добавляет неудобство посетителям и не должна быть первым шагом, если проблему решают очередь модерации и антиспам-фильтр.
Практичная базовая схема для открытого блога — фильтр спама, отправка первого комментария нового автора на проверку и автоматическое закрытие обсуждений на старых публикациях. Порог по ссылкам и список подозрительных фраз стоит подстроить под реальные сообщения на сайте. Такая комбинация обычно уменьшает объём ручной работы, сохраняя возможность оставлять комментарии без обязательной регистрации.