Skip to content

Все для WordPress, веб-розробки — і не тільки

🚫 Як зупинити спам у коментарях WordPress: усі 18 рішень

🚫 Як зупинити спам у коментарях WordPress: усі 18 рішень

Спам у коментарях приходить мовчки. Вранці три сповіщення, ввечері тридцять. За тиждень адмінка тоне в смітті, а боти штампують запити цілодобово.

Пошукові системи бачать кожне повідомлення. Десятки вихідних посилань на сумнівні домени тягнуть репутацію сайту вниз, а реальні читачі знаходять в обговореннях не діалог, а звалище з реклами та фішингових URL. Довіра падає швидше, ніж ви проходите чергу модерації.

Повністю виключити спам не можна: за ним стоїть тіньова індустрія з ботами, проксі-мережами та прямою фінансовою мотивацією. Але можна вибудувати ешелонований захист, який відсіче майже все сміття ще на підльоті, не зачепивши живі коментарі. У цьому матеріалі, всі 18 робочих методів: від пари кліків у стандартних налаштуваннях WordPress до зв'язки плагінів і зовнішніх сервісів.

💡 Швидкий огляд:

  • Закрити базові діри за 5 хвилин: вимкнути анонімні коментарі, увімкнути премодерацію, обмежити посилання та прибрати поле URL із форми.
  • Підключити антиспам-плагін із honeypot або хмарною перевіркою: Antispam Bee та Akismet відловлюють ботів до того, як коментар потрапить до бази.
  • Додати капчу або міжмережевий екран (Cloudflare / Sucuri) для захисту від масових автоматичних атак на рівні HTTP-запитів.
  • Для максимальної ізоляції замінити стандартну форму коментарів на зовнішню систему (Disqus, Facebook Comments), яка бере фільтрацію на себе.
Черга спам-коментарів в адмінці WordPress

Спам у коментарях — це не хуліганство, а бізнес. За кожним сміттєвим повідомленням стоїть проста математика: бот публікує сотні тисяч коментарів із посиланнями, і навіть мізерна частка кліків приносить трафік і посилальну масу, що піднімає позиції у видачі. Саме масштаб робить модель прибутковою.

Друга мета, фішинг: URL ведуть на підроблені сторінки авторизації або заражені сайти. Користувач, який клікнув, ризикує обліковими даними, а Google може позначити ресурс як шкідливий.

Третій вектор, брудна конкуренція. Масована атака на сайт суперника роздуває базу, вантажить сервер і забиває канал сповіщень. Відновлення забирає години, яких у власника бізнесу зазвичай немає.

Вбудовані методи захисту WordPress

Перші десять рішень не потребують плагінів, усе налаштовується через стандартну адмінку. Де потрібно, додамо пару рядків коду в functions.php.

1. Вимкнути коментарі повністю

Галочка вимкнення коментарів у налаштуваннях обговорення WordPress

Найрадикальніший і найнадійніший метод. Якщо сайт — це візитівка, лендинг або портфоліо, коментарі не потрібні. Навіщо тримати відчиненими двері, в які живі відвідувачі не стукають, а боти ломляться цілодобово?

Спосіб перший: «Налаштування → Обговорення», зняти галочку «Дозволити коментувати нові статті». Другий, плагін Disable Comments, глобально вимикає коментарі на всіх типах записів.

Третій спосіб, код. У page.php замініть <?php comments_template(); ?> на закоментований варіант: WordPress перестане викликати шаблон. Аналогічно для записів, single.php. Наявні коментарі з бази не видаляються, форма зникає.

2. Вимкнути анонімні коментарі

Налаштування обов&#39;язкових полів автора коментаря в адмінці WordPress

Типово WordPress дозволяє коментарі без імені та email. Для спам-бота це подарунок: не потрібно імітувати реальні дані.

Заходимо в «Налаштування → Обговорення» і вмикаємо опцію «Автор коментаря повинен вказати ім'я та email». Боти без цих полів відсікаються автоматично. Заодно налаштування дисциплінує реальних коментаторів: анонімні репліки рідко бувають змістовними.

3. Увімкнути ручну модерацію

Галочка ручної модерації коментарів у розділі обговорення WordPress

Галочка «Коментар повинен бути схвалений вручну» означає, що жодне повідомлення не з'явиться на сайті без вашого відома. Так, це створює ручну роботу, але для невеликих сайтів із десятком справжніх коментарів на день, абсолютно прийнятно.

Підсилення: поле «Модерація коментарів» у тому ж розділі. Впишіть туди слова-тригери, і коментарі з ними автоматично позначатимуться як такі, що очікують перевірки. Хороший стартовий набір: http, www, buy, discount, free, click here, viagra, casino.

4. Автоматично закривати коментарі до старих записів

Налаштування автоматичного закриття коментарів для старих постів WordPress

Спам-боти атакують і старі записи. Пост трирічної давнини в архіві для них така сама ціль, а власник дізнається про проблему не одразу.

Опція «Автоматично закривати коментарі до статей, старіших за X днів» вирішує проблему. Стандартне значення, 14 днів, можна поставити 30, 60 або будь-який термін. Для новинних сайтів це обов'язково: матеріал іде в архів, коментарі закриваються.

5. Чорний список ключових слів

Поле чорного списку ключових слів у налаштуваннях обговорення WordPress

WordPress дозволяє задати список стоп-слів: коментар із будь-яким із них вирушає в кошик автоматично, минаючи модерацію. Поле знаходиться там же, в «Налаштування → Обговорення», прокрутіть униз до «Чорний список».

Правило: одне слово або фраза, один рядок. Не перестарайтеся: якщо додасте wordpress, під ніж підуть і легітимні коментарі. Цільтеся в спам-маркери: казино, фармацевтичні терміни, доменні зони у зв'язці з конкретними словами.

6. Обмежити кількість посилань у коментарі

Налаштування ліміту посилань у коментарі на сторінці обговорення WordPress

Спам-коментар майже завжди містить посилання — це його сенс існування. WordPress дає змогу задати поріг, після якого коментар потрапляє на модерацію.

Типово стоїть 2. Якщо поставити 1, будь-який коментар із посиланням потребуватиме ручного схвалення. Значення 0 надсилає всі коментарі з гіперпосиланнями в спам автоматично. Для більшості сайтів оптимально 1: живі читачі рідко вставляють більше одного посилання, а боти, майже завжди.

7. Прибрати поле «Сайт» із форми коментарів

Форма коментаря WordPress з виділеним полем для введення сайту

Поле URL у формі коментарів, магніт для спамерів. Їм потрібна саме можливість залишити посилання на свій сайт, а «думка» генерується автоматично: «Great article! I also wrote about this at myspamdomain dot ru».

Поле прибирається додаванням коду в functions.php:

1function wpb_disable_comment_url($fields) {
2 unset($fields['url']);
3 return $fields;
4}
5add_filter('comment_form_default_fields', 'wpb_disable_comment_url');

Після цього форма містить лише ім’я, email і текст. Спамерам стає нецікаво, а реальні читачі навіть не помічають втрати, поле «Сайт» їм потрібне рідко.

8. Вимкнути коментарі на сторінках вкладень

Сторінка вкладення WordPress з відкритою формою коментарів

WordPress автоматично створює окрему сторінку для кожного завантаженого медіафайлу: зображення, PDF, відео. І типово на цих сторінках також відкриті коментарі. Для сайту із сотнею зображень це сотня додаткових точок входу для спам-ботів, про які власник зазвичай не підозрює.

Плагін Disable Comments на WordPress.org вирішує задачу точково: після активації перейдіть у його налаштування та позначте тип контенту «Медіафайли». Коментарі на сторінках вкладень вимкнуться, а на записах і сторінках залишаться.

9. Заборонити HTML у коментарях

Код нижче, доданий у functions.php, забороняє будь-яку HTML-розмітку в тілі коментаря. Посилання, зображення, жирний шрифт і курсив, усе відображатиметься як звичайний текст, а теги екрануватимуться:

1function wpb_comment_post($incoming_comment) {
2 $incoming_comment['comment_content'] = htmlspecialchars($incoming_comment['comment_content']);
3 $incoming_comment['comment_content'] = str_replace("'", '&#039;', $incoming_comment['comment_content']);
4 return $incoming_comment;
5}
6function wpb_comment_display($comment_to_display) {
7 $comment_to_display = str_replace('&#039;', "'", $comment_to_display);
8 return $comment_to_display;
9}
10add_filter('preprocess_comment', 'wpb_comment_post', '', 1);
11add_filter('comment_text', 'wpb_comment_display', '', 1);
12add_filter('comment_text_rss', 'wpb_comment_display', '', 1);
13add_filter('comment_excerpt', 'wpb_comment_display', '', 1);
14remove_filter('comment_text', 'make_clickable', 9);

Метод добрий для сайтів, де в коментарях не потрібна розмітка. Якщо аудиторія вставляє фрагменти коду, краще залишити HTML увімкненим і покластися на інші рівні захисту.

10. Вимкнути трекбеки та пінгбеки

Налаштування вимкнення трекбеків у розділі обговорення WordPress

Трекбеки, застарілий механізм сповіщень між блогами. Сьогодні це переважно канал для спаму: більшість трекбек-запитів надходить від ботів, які навіть не читали пост.

Вимикається в «Налаштування → Обговорення»: зніміть позначку «Дозволити сповіщення про посилання з інших блогів». Старі трекбеки збережуться, нові перестануть з’являтися.

Плагіни та зовнішні сервіси

Вбудованих методів достатньо для невеликого сайту. Але якщо коментарів багато і ручна модерація не справляється, час підключати спеціалізовані інструменти.

11. Akismet, стандарт антиспам-захисту WordPress

Статистика спам-коментарів, заблокованих плагіном Akismet

Akismet постачається з кожним дистрибутивом WordPress. Принцип роботи, хмарна перевірка: кожен коментар порівнюється з глобальною базою спам-шаблонів, яку поповнюють мільйони сайтів. Спам потрапляє в чергу, а не публікується.

Akismet навчається на діях користувачів: коли власник сайту позначає коментар як спам або відновлює хибне спрацювання, система враховує сигнал. Для особистих блогів сервіс безкоштовний, для комерційних сайтів діє платна підписка з розширеною статистикою.

Плюс: не потребує налаштування після отримання API-ключа. Мінус: без преміум-акаунта показує рекламу в адмінці та поступається в точності комерційним тарифам.

12. Sucuri Security, міжмережевий екран із захистом від ботів

Панель безпеки Sucuri з логом аудиту подій у WordPress

Sucuri вирішує проблему на рівні HTTP: міжмережевий екран (WAF) аналізує вхідний трафік і відсікає запити від відомих спам-IP, ботнетів і шкідливих джерел до того, як вони дійдуть до WordPress.

Безкоштовна версія включає аудит безпеки та моніторинг цілісності файлів. Платна додає WAF із захистом від DDoS і brute-force. Для сайту з сотнями спам-коментарів на день Sucuri радикально знижує навантаження: запити ботів відбиваються на рівні фаєрволу, не добираючись до PHP і бази.

13. Antispam Bee, безкоштовна альтернатива з honeypot

Сторінка налаштувань плагіна Antispam Bee в адмінці WordPress

Antispam Bee, повністю безкоштовний плагін без реклами, преміум-тарифів і надсилання даних на сторонні сервери. Замість хмарної перевірки використовує локальні техніки: honeypot (приховане поле, яке боти заповнюють автоматично), замір часу заповнення, перевірку мови та регулярні вирази.

Арсенал: довірені коментатори (за email або Gravatar), перевірка країни за IP, автовидалення спаму через N днів. Плагін повністю відповідає GDPR, не зберігає персональні дані та не надсилає їх назовні. Ідеально для сайтів, де важлива конфіденційність і немає бюджету на комерційні рішення.

14. Google reCAPTCHA, перевірка «людина чи бот»

Вікно перевірки reCAPTCHA від Google у формі коментарів WordPress

Google reCAPTCHA визначає, хто заповнює форму: людина чи скрипт. Сучасна версія v3 працює без взаємодії з користувачем, реальний відвідувач не помічає перевірки, а бот впирається в невидимий бар’єр.

Для підключення потрібні Site Key і Secret Key з Google reCAPTCHA Admin Console. Популярні плагіни форм (Contact Form 7, WPForms, Gravity Forms) підтримують reCAPTCHA «з коробки», достатньо вставити ключі. Для кастомної форми використовуйте офіційне API: кілька рядків JavaScript і серверна перевірка токена.

Окремо про налаштування читайте в нашій статті: підвищення безпеки WordPress за допомогою Invisible reCAPTCHA.

15. Disqus, зовнішня система коментування

Панель модерації коментарів у системі Disqus для WordPress

Disqus замінює стандартну форму WordPress на зовнішню систему. Спам-фільтрація лягає на Disqus: алгоритми відсіюють сміття на основі глобальної бази мільйонів сайтів.

Плюси: єдиний профіль читача, реакції та голосування, зручна модерація, вхід через соцмережі. Мінуси: коментарі зберігаються на серверах Disqus, безкоштовний тариф із рекламою, завантаження сторінки трохи сповільнюється через зовнішній iframe.

16. Коментарі Facebook

Блок коментарів Facebook, вбудований на сайт WordPress

Якщо аудиторія активна у Facebook, Facebook Comments Plugin дає подвійний виграш: спам зникає (Facebook фільтрує його сам), а залученість зростає, коментар відображається в стрічці користувача та приваблює друзів.

Мінус: читач без Facebook-акаунта не може коментувати. Плюс, як і з Disqus, коментарі зберігаються на серверах соцмережі, а не у вашій базі.

17. Cloudflare, захист на рівні DNS

Налаштування рівня безпеки в панелі керування Cloudflare

Cloudflare — це CDN і міжмережевий екран між відвідувачем і сервером. На рівні DNS він відсіює запити від відомих ботнетів та IP із поганою репутацією.

Рівнів безпеки п'ять, від «Essentially Off» до «I'm Under Attack». Для захисту від спаму достатньо Low або Medium. Базовий тариф безплатний.

Важливо: Cloudflare не аналізує вміст коментарів. Це периметр, а не заміна антиспам-плагіну. Найкращий результат дає зв'язка: Cloudflare ззовні плюс Antispam Bee всередині WordPress.

18. Інші перевірені плагіни

Якщо основні варіанти не підійшли, ось іще кілька інструментів:

  • WP Armour, honeypot-захист у чистому вигляді: додає приховане поле та перевіряє час заповнення форми. Без капч, без API-ключів. Безплатно, понад 100 000 активних установок.

  • CleanTalk, хмарний сервіс, що перевіряє коментарі через глобальну базу спам-IP та email. Безплатний тариф покриває до 1 000 перевірок на місяць, платний коштує недорого й оплачується раз на рік за сайт.

  • hCaptcha, незалежна альтернатива Google reCAPTCHA. Менше відстеження, дотримується GDPR, безплатна до 1 мільйона запитів на місяць.

Порівняльна таблиця антиспам-рішень

Плагін / сервіс

Принцип захисту

Ціна

Вплив на швидкість

Конфіденційність

Вбудовані методи

Фільтри на рівні WP

Безплатно

Нульовий

Дані не передаються

Akismet

Хмарна перевірка

Безплатно / від $10/міс

Мінімальний

Дані на серверах Automattic

Antispam Bee

Локальні honeypot + патерни

Безплатно

Нульовий

Дані не передаються

Sucuri

WAF на рівні HTTP

Безплатно / від $199/рік

Мінімальний

Дані на серверах Sucuri

reCAPTCHA

Поведінковий аналіз

Безплатно до 1 млн запитів

Низький

Дані на серверах Google

Disqus

Зовнішня платформа

Безплатно / від $12/міс

Середній

Коментарі на серверах Disqus

Facebook Comments

Зовнішня платформа

Безплатно

Середній

Коментарі на серверах Facebook

Cloudflare

WAF на рівні DNS

Безплатно / від $20/міс

Нульовий (пришвидшує)

Дані проходять через Cloudflare

⁉️🤔 Часті запитання

Чи можна повністю позбутися спам-коментарів?

Ні, стовідсоткового захисту не існує. Спамери постійно адаптують алгоритми обходу фільтрів, і навіть найкращі плагіни пропускають невеликий відсоток сміття. Але ешелонований захист (вбудовані налаштування + антиспам-плагін + WAF) скорочує спам до рівня «одне-два повідомлення на місяць», що легко вичищається вручну.

Який метод обрати для нового блогу з нульовим бюджетом?

Комбінація з трьох безплатних кроків: увімкніть ручну модерацію (метод 3), обмежте кількість посилань до одного (метод 6) та встановіть Antispam Bee (метод 13). Це займе 10 хвилин і не коштуватиме ані копійки. Для новинних сайтів додайте автозакриття старих постів (метод 4).

Чи сповільнює антиспам-плагін завантаження сайту?

Локальні плагіни, як-от Antispam Bee, практично ні: вони додають навантаження лише під час надсилання форми коментаря, не зачіпаючи основні сторінки. Хмарні сервіси (Akismet, CleanTalk) виконують перевірку асинхронно на своїх серверах і на швидкість завантаження сайту не впливають.

Що робити, якщо спам продовжує проходити крізь усі фільтри?

Перевірте, чи не атакують боти старі сторінки вкладень (метод 8) — це часта прогалина. Переконайтеся, що трекбеки вимкнено (метод 10). Якщо проблема зберігається, додайте Cloudflare (метод 17): він відсікає запити від відомих ботнетів ще до того, як ті доберуться до WordPress.

Чи обов’язково ставити reCAPTCHA, якщо вже працює Antispam Bee?

Не обов’язково. Antispam Bee і без капчі відсікає більшість ботів через honeypot і замір часу. Додавайте капчу лише якщо після встановлення Antispam Bee спам продовжує надходити — це означає, що атаку ведуть не прості боти, а більш просунуті скрипти.

Disqus чи Facebook Comments, що краще для блогу?

Disqus, якщо аудиторія технічна і не прив’язана до однієї соцмережі. Facebook Comments, якщо трафік іде переважно з Facebook і ви хочете збільшити охоплення через стрічку користувачів. Універсальний компроміс, залишити стандартну форму WordPress з антиспам-плагіном: вона не відсікає нікого з читачів.

Що ставити на ваш сайт у 2026 році

Антиспам-захист підпорядковується правилу розумної достатності: кожен наступний шар додає складності, а віддача падає. Для більшості сайтів вистачає зв’язки з 3-4 методів.

Базові налаштування WordPress (методи 2, 3, 6 і 7) закривають простих ботів за 5 хвилин і є безплатними. Один локальний антиспам-плагін (Antispam Bee) відсікає ще один пласт через honeypot і таймінг, теж безплатно. При високому трафіку додайте Cloudflare на периметрі, він зніме навантаження з сервера.

Почніть із методів 2, 3 і 6 прямо зараз. Три галочки в адмінці, миттєвий результат. Решту доберете в міру зростання сайту.