
Чтобы устранить спам через форму обратной связи и комментарии к постам в WordPress, нужно применить комплексный подход. Спам — распространённая проблема, но её можно минимизировать с помощью правильных настроек и инструментов. Вот пошаговое руководство по решению обеих задач.
Устранение спама через форму обратной связи
Спам через формы обратной связи чаще всего отправляется ботами, которые автоматически заполняют поля и обходят базовые проверки. Вот что можно сделать:
Использование антиспам-плагинов
- Akismet: Этот плагин часто предустановлен в WordPress и эффективен против спама. Активируйте его, получите API-ключ (бесплатно для личных сайтов) и настройте. Он автоматически фильтрует спам в формах и комментариях.
- CleanTalk: Облачный антиспам-плагин, который защищает формы обратной связи (например, Contact Form 7) и не требует капчи. Бесплатный пробный период — 14 дней, затем платная подписка.
- Honeypot for Contact Form 7: Если вы используете плагин Contact Form 7, установите этот дополнение. Оно добавляет скрытое поле, которое боты заполняют, а люди — нет. Спам блокируется автоматически.
Ручная защита без плагинов
Скрытое поле (Honeypot): Добавьте в форму скрытое поле (например, с помощью CSS display: none). Боты заполняют его, а люди — нет. В обработчике формы настройте проверку: если поле заполнено, сообщение считается спамом. Пример кода для functions.php:
1 2 3 4 5 6 7 |
add_filter('wpcf7_validate', 'custom_honeypot_validation', 10, 2); function custom_honeypot_validation($result, $tag) { if ($_POST['honeypot'] !== '') { // Поле "honeypot" заполнено $result->invalidate($tag, 'Спам-бот обнаружен'); } return $result; } |
В самой форме добавьте:
1 |
<input type="text" name="honeypot" style="display:none;"> |
Ограничение по времени: Установите минимальное время заполнения формы (например, 5 секунд). Боты заполняют формы мгновенно. Добавьте временную метку в форму и проверяйте её на сервере.
Добавление капчи
Google reCAPTCHA: Подключите reCAPTCHA через плагин (например, «reCAPTCHA for Contact Form 7»). Это добавит проверку «Я не робот» и значительно снизит спам. Настройте ключи в консоли Google и интегрируйте с формой.
Проверка на стороне сервера
Убедитесь, что ваш хостинг не блокирует отправку писем, иначе спам может быть связан с ошибками конфигурации. Проверьте папку «Спам» на почте — иногда легитимные письма туда попадают из-за настроек почтового сервера.
Устранение спама в комментариях к постам
Спам в комментариях — ещё одна популярная мишень для ботов. Вот как это исправить:
Настройки WordPress
- Модерация комментариев: В админке перейдите в Настройки → Обсуждение. Включите:
— «Комментарий должен быть одобрен вручную».
— «Автор комментария должен иметь ранее одобренный комментарий».
Это блокирует автоматический спам, но требует вашего времени на модерацию. - Отключение комментариев: Если комментарии не нужны, отключите их полностью:
— В Настройки → Обсуждение снимите галочку «Разрешить оставлять комментарии к новым записям».
— Для старых постов используйте плагин Disable Comments.
Антиспам-плагины
- WP Armour — Honeypot Anti Spam: Отлично работает с комментариями. Настройте его для автоматической фильтрации спама.
- Antispam Bee: Бесплатный плагин, который блокирует спам без капчи. Проверяет IP-адреса, паттерны текста и поведение ботов.
- WP-SpamShield: Защищает комментарии и формы, совместим с большинством плагинов (например, Contact Form 7). Не использует капчу, полагается на алгоритмы.
Дополнительные меры
- Черный список слов: В Настройки → Обсуждение → Черный список комментариев добавьте стоп-слова, часто используемые в спаме (например, «viagra», «casino», ссылки вроде «http»).
- Отключение пингбэков и трекбэков: В Настройки → Обсуждение снимите галочку «Разрешить уведомления о ссылках из других блогов». Это уменьшит спам от обратных ссылок.
Полное отключение комментариев (если не нужны)
Установите плагин Disable Comments и выберите, где отключить комментарии (на всех постах, страницах или выборочно). Или просто снимите галочку «Разрешить комментарии» в редакторе конкретной записи.
Общие рекомендации
- Обновляйте WordPress и плагины: Устаревшие версии уязвимы для атак.
- Ограничьте доступ по IP: Используйте плагин вроде Wordfence или WP Cerber, чтобы блокировать подозрительные IP-адреса или страны, откуда идёт спам.
- Проверьте логи: Если спам продолжается, посмотрите логи сервера или плагина (например, CleanTalk или Wordfence), чтобы понять, как боты обходят защиту.
- Тестирование: После настройки отправьте тестовое сообщение через форму и оставьте комментарий, чтобы убедиться, что всё работает корректно.
Что выбрать?
- Если спам идёт только через форму: начните с Honeypot или reCAPTCHA.
- Если спам в комментариях: настройте Akismet или Antispam Bee.
- Для комплексной защиты: используйте CleanTalk или WP-SpamShield.
Эти шаги должны значительно снизить или полностью устранить спам.
