Плагины защиты wordpress от спама в комментариях! Защита WordPress от спама в комментариях. Убираем ссылки

Привет дорогой читатель! Сегодня речь пойдет про wordpress комментарии, про спам комментарии в блогах. Я думаю, Вам как и мне, уже надоело постоянно заходить в папку «спам» и вручную перебирать комментарии автоматического или еще хуже ручного спама. После чего выискивать в этой куче хлама хороший, осмысленный комментарий, который затесался в папку спам комментарии по ошибке.

Все, верно, мне тоже это жуть как надоело. Сначала я ставил много разных антиспам плагинов для защиты wordpress от спама. Но как показала практика, все эти действия малоэффективны. Поэтому был придуман один очень интересный выход, правда, придуман был не мной! Позаимствовал я этот метод в каком-то блоге.

В общем, решил попробовать, внедрил хак на свой блог. После трех месяцев полет удачный, ни одного спам комментария за три месяца. В это трудно конечно поверить, но это так. После эксперимента пришел к выводу, что мои читатели просто обязаны знать про защиту wordpress от спам комментариев, с помощью полезного хака — «подмена полей»!

Суть метода!

Для ручного спама мы как всегда поставим плагин «Akismet» . Я думаю, он должен стоять практически у каждого блоггера. Если еще не стоит, то в интернете есть масса литературы про то, как его поставить и как активировать. Данный плагин будет защищать наш блог от ручного спама в комментариях. А хак «подмена полей», в свою очередь, защитит блог от авто спама.

Думаю, стоит отметить два больших плюса такого танца с бубном: первое — избавляемся от постоянной проблемы авто спам и второе — больше не придется править файлы движка после обновления WordPress. Правда как всегда есть и минус, придется подшаманить два файла в нашей теме, comments.php и style.css . Но как по мне, данный минус незначителен.

Суть метода примерно следующая! Если Вы продвинутый блоггер, то должны знать, что стандартное поле для ввода комментариев имеет имя comment , поэтому мы скроем настоящее поле и подсунем вместо него новое поле real-comment .

Для ваших читателей и посетителей все останется как раньше, но теперь они будут заполнять видимое поле real-comment . А вот спам-скрипты будут заполнять стандартное поле comment , которое мы скроем. Они-то не понимают, что человек не сможет заполнить текстовое поле, которое не видно на страницах блога. Вот тут мы и подловим спам комментарий, ведь такой комментарий определится по заполненному невидимому полю comment .

В общем, все просто как дважды два. Человек заполняет видимое поле real-comment , а спам-скрипт заполнит по старинке стандартное поле comment , но уже невидимое. Заполненное невидимое поле и будет спам комментарием! :-) Думаю самое время приступить к делу!

1. Комментарии через функцию «comment_form ()»

Если у вас комментарии выводятся через функцию comment_form() (эта функция была введена в WordPress 3.0 для того, чтобы с помощью файла functions.php , можно было полностью заменить стандартную форму комментариев). Если ваш шаблон использует именно такую функцию, то необходимо открыть файл functions.php и добавить туда следующий код:

//Добавление своего поля для ввода комментария add_filter("comment_form_defaults", "change_comment_form_defaults"); function change_comment_form_defaults($default) { $commenter = wp_get_current_commenter(); $default["comment_notes_after"] .= "

"; return $default; } //END добавление своего поля для ввода комментария

Теперь скрываем наше стандартное поле comment , через файл «style.css» :

Comment-form-comment {display: none;}

Итак, с первой частью хака мы справились. Теперь у нас есть поле real-comment , которое видит и может заполнить посетитель, и стандартное поле comment , которое скрыто! В следующем шаге нам необходимо определить, какое из данных полей пропускать, а какое запрещать. Если заполнено видимое поле, то пропускаем, а если заполнено невидимое поле, то запрещаем. Для этого открываем файл functions.php и добавляем туда код:

2. Комментарии не через функцию «comment_form ()»

Если у вас комментарии выводятся не через функцию comment_form() , как у меня! В этом случае открываем файл comments.php и находим там код, выводящий поле для ввода комментария. Что-то похожее на:

Данный код необходимо заменить на:

Теперь надо скрыть стандартное поле для ввода комментария. Для этого откройте файл стилей вашего шаблона «style.css» и добавьте туда код:

No-spam {position: absolute; left: -1000px;}

No-spam {display: none;}

Также и в данном способе не забываем добавить код в файле functions.php , для определения, какое из данных полей пропускать, а какое запрещать.

//Проверка на спам add_filter("pre_comment_on_post", "verify_spam"); function verify_spam($commentdata) { $spam_test_field = trim($_POST["comment"]); if(!empty($spam_test_field)) wp_die("Спаму нет!"); $comment_content = trim($_POST["real-comment"]); $_POST["comment"] = $comment_content; return $commentdata; } //END проверка на спам

Вот в принципе и все! Теперь спам комментарии больше вас и ваш блог не потревожат. Если вы сомневаетесь, все ли сделали правильно, можете проверить работу данного хака по защите wordpress от спама. Для этого необходимо убрать из файла style.css внесенные изменения, обновить страничку блога, заполнить каждое поле комментариев и попытаться опубликовать комментарий!

Все вопросы, пожелания и замечания, пишите в комментариях к статье.

Друзья, всем привет. Сегодня буду говорить о наболевшем. Уверен, каждый владелец сайта рано или поздно сталкивается с проблемой СПАМа. Как правило, это проблема появляется, когда блог начинает развиваться. Я вот поначалу, создал блог и не напрягался по этому поводу, ну был один–два спам-комментарий в день, так я их легко убирал вручную. Но, дальше хуже, спама всё больше и больше. Тогда я решил выбирать из двух зол.

Решил пожертвовать ресурсами сервера, но избавится от спама. Установил и активировал плагин . Результат меня порадовал, 99% защиты от спама. Хотя это может быть и 100%. Но, у этого плагина свои алгоритмы работы и иногда хорошие комментарии попадают в спам.

Поэтому я не стал автоматически очищать папку спам, проверяю её и выдёргиваю хорошие комментарии, если они туда попали. Ну и казалось бы всё хорошо, так вот теперь надоело просматривать папку СПАМ. В последнее время у меня не так много времени, и успеваю просматривать блог пару раз в день. Так, за день у меня бывает до 250 спам-комментариев. Вот пример, сегодня до обеда уже 78 комментариев в папке спам.

А ещё есть «чудесники», которые занимаются ручным спамом. Но для них есть свои рычаги воздействия. Мы же поговорим, как избавиться от автоматического спама, рассылаемого спам-ботами. И при этом не придётся чистить папку СПАМ.

Суть метода

Этот метод, прежде всего, хорош тем, что на 100% защищает от СПАМа и при этом без плагина. А плагин выполняющий до этого эту защитную функцию вы сможете отключить и тем самым ускорить работу вашего сайта/блога.

А раз нет плагинов, значит, придётся поковырять в исходном коде шаблона. В общем, нужно будет сделать подмену полей формы комментария. Таким образом, у вас будет фактически две формы комментариев, одну будут заполнять посетители, а другую будут бомбить спамерские программы.

Как создать подмену формы комментария

Шаг 1. Определяем, какой функцией выводится поле «Текст комментария»

Для этого откройте любую вашу статью, перейдите к форме комментария и нажмите правую кнопку мышки на поле для ввода текста комментария.

В контекстно-зависимом меню нажмите на пункт «Исследовать элемент» (или что-то подобное, в разных браузерах по-разному).

А теперь посмотрите на исходный код:

Во многих темах за вывод текстового поля в форме отвечает textarea, поэтому в исходном коде вы увидите вот такую строку, или что-то похожее.

Эту строчку кода нужно будет найти в файле comments.php . Если подобной строки кода у вас нет, то реализация вашего случая будет описана в конце статьи.

Шаг 2. Создаём дубликат текстового поля «Текст комментария»

Переходим в административную панель WordPress – раздел «Внешний вид» «Редактор» . Открываем для редактирования файл comments.php . Находим в этом файле текстовое поле для ввода комментария. Нажмите CTRL+F и ищите textarea.

Теперь нужно скопировать весь этот код и вставить его ниже. У вас должно получится две одинаковые строчки кода.

Кстати, если у вас в форме это поле пустое, как у меня, но вы хотите вставить в него подсказку для ваших читателей, то можно добавить вот такой атрибут:

Placeholder="Введите текст комментария"

Тогда вся строчка кода будет выглядеть вот так:

Сохраняем внесённые изменения.

Шаг 3. Скрываем оригинальное поле «Текст комментария»

Сейчас, если вы посмотрите на свою форму комментария, то у вас будет два текстовых поля. Одно из них нужно скрыть. И поможет нам в этом идентификатор (id). Этот идентификатор можно использовать для придания стиля. Хотя можно определить стиль прямо в строке с кодом текстового поля, но мы это будем делать в файле style.css . Это тоже ради поддержания высокой скорости загрузки сайта.

Итак, открываем файл таблицы стилей style.css. Нам нужно добавить стиль, который будет скрывать одно текстовое поле. Этот стиль можно добавить в самом низу этого файла.

/*скрываем форму комментария*/ #comment {display:none;}

Шаг 4. Подключение фильтра для проверки комментариев.

На этом шаге нам нужно подключить фильтр, который будет проверять, какое текстовое поле, было заполнено и на основе этого будет либо передавать комментарий на блог, либо удалять его.

Для этого открываем файл функции темы (functions.php ), и добавляем вот этот код:

/*фильтр для спама*/ add_filter("pre_comment_on_post", "verify_spam"); function verify_spam($commentdata) { $spam_test_field = trim($_POST["comment"]); if(!empty($spam_test_field)) wp_die("спам"); $comment_content = trim($_POST["main-comment "]); $_POST["comment"] = $comment_content; return $commentdata; } /*фильтр для спама*/

На всякий случай сделайте копию этого файла перед внесением изменений. И будьте осторожны и внимательны при вставке кода, обращайте внимание, куда вы его вставляете, чтобы не затереть ни скобок, ни запятых и так далее.

Примечание: если для атрибутов name и id вы использовали предложенную мной приставку main, то в этом коде менять ничего не надо. Если же вы использовали свою приставку или свой набор символов, то необходимо изменить подсвеченный цветом фрагмент кода.

Вот и все готово теперь нужно подождать и проанализировать, сколько комментариев попало в папку спам. По идее ваша папка спам будет пуста, а на блоге будут появляется только одобренные комментарии.

Что делать если текстовое поле формируется не через textarea

Если при просмотре файла comments.php, вы не обнаружили текстового поля textarea. Значить у вас стандартная форма комментариев выводится через функцию comment_form . Как правило, работа этой функции прописана в файле функции темы (functions.php ). Вы легко сможете её найти с помощью поиска CTRL+F. В общем, вам нужно сделать дубликат формы комментариев. Для этого найдите в файле подходящее место, как я показывал выше, и вставьте вот этот код:

/*новая форма комментария*/ add_filter("comment_form_defaults", "change_comment_form_defaults"); function change_comment_form_defaults($default) { $commenter = wp_get_current_commenter(); $default["comment_notes_after"] .= "

"; return $default; } /*новая форма комментария*/

Теперь вставьте код для проверки на спам, который я приводил в четвёртом шаге. Сохраняете файл функции темы (functions.php) и переходите в файл таблица стилей (style.css).

Здесь нужно добавить стиль для сокрытия стандартного текстового поля ввода комментария.

Comment-form-comment {display: none;}

Всё, задание выполнено. Теперь спам не пройдёт.

Кстати, если ваша стандартная форма отличается по ширине и по высоте, то измените параметры строк и колонок (rows="8" cols="45") .

Итак, дорогие друзья, подвожу итоги. Статью я писал два дня, и за это время не одного спам-комментария. Папка СПАМ пуста и я очень доволен. Так что берите метод на вооружение и не тратьте своё время на просмотр спам-комментариев. А ещё советую посмотреть статью о создании . Принцип защиты у них схожий.

Также посмотрите видеоурок, так этом метод станет для вас ещё понятней.

На этом у меня сегодня всё, желаю вам удачи и 100%-е отсутствие спама. Всем пока, и до встречи в новых статьях и видеоуроках.

Дополнение: после обновление WordPress до версии 4.4 и выше, этот способ нуждается в доработке. И вот на эту тему.

С уважением, Максим Зайцев.

Но имеется немало людей, которым нравится портить чужую работу или демонстрировать своё превосходство. Речь пойдет сегодня о спамерах, они могут доставить вам реальные неприятности, когда вы начнёте своё блог-путешествие.

Чтобы защитить себя от спама, можно использовать антиспам-плагины, которые защитят ваш блог. Вот список лучших бесплатных WordPress плагинов для защиты от спама, которые помогут вам сэкономить время и силы, которые вы сможете потратить на что-нибудь более важное.

1 – Anti Spam Bee

Anti Spam Bee - является наилучшим решением для защиты от спама на вашем WordPress блоге. Он имеет около 20 отборных функций, которые вы сможете настроить так, как вам нравится. Этот плагин не сохраняет ваши персональные данные, так что вы можете не беспокоиться ни о каких утечках информации.

Для использования этого плагина регистрация не требуется, также он будет показывать статику за последние 30 дней.

2 – Spam Free WordPress

Плагин Spam Free WordPress защитит вас от спама в комментариях. Этот плагин, несомненно, сведёт спам к нулю и полностью защитит вас от спам-ботов, которые будут автоматически оставлять спам-комментарии на вашем блоге. Это очень небольшой плагин, который использует очень мало памяти, обеспечивая надёжную защиту.

Основные моменты и особенности:

  • Использует мало памяти.
  • Защищает от спам-ботов.
  • Имеет pro версию.
  • Поддерживает нескольких языков.
3 – Grow Map Anti Spambot Plugin

Grow Map Anti Spambot Plugin - защитит вас от автоматических спам-ботов, оставляющих спам-комментарии, новые усовершенствованные спам-боты также ограничены в своих действиях, поскольку в ваших комментариях генерируется проверочное поле. Это поле будет спрашивать пользователей, чтобы убедиться в том, что они не спамеры.

Вы сможете задать максимальное количество комментариев от пользователя в очереди, если раньше вы не имели от него одобренных комментариев.

Основные моменты и особенности:

  • Защита от автоматических спам-ботов.
  • Генерация проверочного поля.
  • Ограничение максимального количества комментариев.
  • Защита от новых усовершенствованных спам-ботов.
4 – WP Spam Shield Anti-Spam

WP Spam Shield Anti-Spam – в одном плагине решение всех ваших проблем со спамом, этот плагин избавит вас от спама в комментариях, регистрационного спама, трекбек и пингбек спама. Особенностью этого плагина для защиты от спама является то, что он использует блокирующую спам контактную форму, так что вам не придётся беспокоиться насчёт спама в вашей электронной почте.

Для размещения блокирующей спам контактной формы в любом месте на вашем блоге вы можете использовать шорткод.

Основные моменты и особенности:

  • Не имеет капчи.
  • Защищает от различных видов спама.
  • Имеет блокирующую спам контактную форму.
  • Шорткод-функции.
5 – WordPress Zero Spam

Защитить ваш блог от спама можно очень легко с помощью плагина WordPress Zero Spam. Этот плагин не использует капчу или модерацию пользователей, чтобы сэкономить драгоценное время для них и администратора. Вы будете свободны от регистрационного спама, а также спама в комментариях.

Имеется полная поддержка кэш-плагинов, так что не возникнет никаких проблем, если вы будете использовать плагин кэширования. Имеется IP блокировка спама, когда IP блокирует то, что пользователь данной IP не может увидеть на вашем сайте.

Основные моменты и особенности:

  • Не имеет капчи.
  • Отсутствует модерация.
  • Функция IP блокировки.
  • Совместим с кэшем.
Заключение
Это список лучших бесплатных WordPress плагинов для защиты блога от спамеров. В этот список не включён Akismet , он не является бесплатным для коммерческих блогов. Многие блоги стараются заработать, по этой причине в данных список включены только те плагины, которые являются совершенно бесплатными. К тому же он через чур сильно фильтрует. Зачастую в спам попадает много хороших комментариев, а на некоторых блогах, это могли бы быть потенциальные покупатели, которые не дождавшись ответа уйдут и никогда больше не вернуться.

Я лично пользуюсь давно проверенным способом Для просмотра ссылки необходимо:

Защита от спама в WordPress чаще всего представлена плагином Akismet , который де-факто считается основным способом защиты от авто-спама в WordPress. Но ряд неудобств, сопряженных с использованием этого плагина (Получение Akismet API key, Настройки в Админке, Необходимость регистрации на WordPress.com, Необходимость постоянной очистки папки спам) зачастую отпугивает простого пользователя от включения Akismet в свой сетап по умолчанию. Тем более что существует ряд не менее эффективных в использовании, но гораздо более простых решений.

Самый простой, и очень надежный способ, это использовать Плагин от KAMA для защиты от спама в комментариях WordPress Он не имеет настроек, скачиваете , устанавливаете, активируете, если комментарии после активации оставляются, значит плагин работает. В противном случае при отправке комментария вы увидите сообщение «Comment is blocked! Press the botton to send your comment one more time:».

Защиту от спама плагином можно проверить на Специальной страничке имитирующей спам-программу, пройдите по ссылке и попробуйте оставить комментарий у себя на блоге. Попробуйте выключить плагин и снова оставить комментарий и вы увидите, что плагин работает.

Защита от спама. Преимущества плагина KAMA:

  1. Никаких каптчей, чекбоксов (галочек), картинок и прочей античеловечности. Присутствие плагина визуально никак не проявляется;
  2. Никакого авто-спама!
  3. Не мусорит админку оповещениями, и дополнительными настройками.
  4. И наконец он просто - РАБОТАЕТ 🙂

Если Вы, как и я, не сторонник использования плагинов, то можно воспользоваться таким очень простым методом. Суть метода очень проста. В форму отправки комментариев добавляем скрытое для пользователя поле, помеченное как обязательное к заполнению. Роботы для авто-спама - заполнят это поле, и у нас будет критерий, по которому можно отсеивать спам комментарии. Для пущей надежности, можно добавить еще один критерия проверки, основанный на том, что спам-боты не умеют выполнять программы на JavaScript . И если на кнопку «Отправить» нажмет человек, то при нажатии на кнопку выполнится JavaScript код, в результате выполнения которого в скрытое запишется значение «StopSPAM» . А в случае с роботом переменная так и останется пустой.

И все что останется предпринять — это проверить в скрипте чему равна полученная переменная, если она равна проверочному слову «StopSPAM» , значит сообщение отправил человек. Ну а в противном случае, - это робот.

Итак, делаем 2 проверки:

В форму добавления комментария добавляем скрытое поле с именем name=»check» и пустым значением value=»»,

// Скрытое поле заполняемое JS при нажатии кнопки Отправить // Визуально скрытое поле не заполняемое пользователем

В кнопку оправки формы добавляем JavaScript код:

// JavaScript код в кнопке отправки формы

В общем случае, необходимо внести следующий код в php-скрипт, который проверяет данные из формы:

// Проверка заполнено ли поле, да - бот, нет - пользователь if(!empty($_POST["check2"])) exit("Это поле не нужно заполнять"); // Если в поле есть StopSPAM значит JS выполнялся if ($_POST["check"] != "StopSPAM") exit("Защита от спама. Включите JavaScript!");

Конкретно для WordPress, необходимо внести изменения в php-скрипт, который проверяет данные из формы комментариев. Находим в /wp-comments-post.php такой код:

If ("" == $comment_content) wp_die(__("ERROR: please type a comment."));

И вписываем сразу после него:

If ($_POST["check"] != "StopSPAM") wp_die("Ошибка: Защита от спама. Включите JavaScript."); if (!empty($_POST["check2"])) wp_die("Ошибка: Это поле не нужно заполнять");

Добавляем проверку так же и в форму обратной связи (если онау Вас присутствует).

Ребята привет! С вами Саша Борисов! Скажите, бывали ли с вами такие случаи, заходишь на чей-то блог, читаешь классную статью, хочешь оставить комментарий и так лень напрягать мозги для того чтобы вводить капчу (защиту от спам-роботов)? Я думаю не раз.

Ну вы же не спамер правда? А вот в целях защиты ее вводить нужно и нужно это для владельца блога, а не для вас. Кстати из-за того, что на многих блогах стоит защита от спама (капча), статьи мало комментируют. Это факт. В этой статье я поведаю вам о том, от спама в комментариях без капчи, а так же расскажу какие вообще существуют плагины для борьбы со спамом на движке wordpress.

Для тех кто в танке (для новичков) хочу объяснить что вообще такое капча. Капча — это какая-то маленькая логическая задачка, находящаяся рядом с формой добавления комментария к статье или странице блога, которая защищает ваш блог от спам-роботов, так как они создают значительную нагрузку на блог, а так же, извините за выражение, засирают ваш ресурс всякими рекламными ссылками, дибильным текстом и т.д.

Спам-робот — это не человек. Это программа, в которую заложены определенные действия, а именно — заходить на чужие ресурсы и при виде какой-то формы где можно оставить какое-то сообщение, обязательно нагадить.

Изначально на движке wordpress не установлено ни какой защиты от спама в комментариях, ни каких защитных кодов и плагинов в нем нет. Это нужно срочно исправлять. Когда ваш блог еще молодой, то конечно же спам-роботы не будут так сильно атаковать вас, но вот когда ваш ресурс разрастется, когда на нем будет большая посещаемость и т.д., вот тогда вы поймете как важна защита от этих негодяев.

Итак начнем. Какие лично я знаю плагины защиты от спама в комментариях.

1. Math Comment Spam Protection хороший плагин защиты от спама. Сам им пользовался раньше пока не узнал о более эффективном плагине защиты от спама, о нем я расскажу позже. Плагин Math Comment Spam Protection создает математическую задачу при добавлении комментария.

Перед тем как оставить комментарий на блоге человек должен решить определенный математический пример, допустим: сколько будет 4 + 7, 6 + 13, 2 + 5 и т.д.

5. Simple CAPTCHA — говорят отличный плагин для защиты от спама. Эта капча является одной из самых эффективных капч для wordpress. Не знаю почему, но лично на моем блоге она не работает. Не то что не работает, ее вообще не видно. Скачал плагин, закинул в папку с плагинами, а wordpress его не видит. Странно. Ну да ладно, не беда, есть другие плагины.

Если у вас плагин будет работать — супер! Установка та же. Скачиваете плагин , закидываете в папку с плагинами и активируете.

6. SI Captcha Anti-spam — еще один плагин защиты от капчи. Эффективный, но тяжелый, в смыле вести много кб. Скачать плагин . Установка все та же. В админке можно настроить плагин на русский язык. В капче есть возможность прослушать звук. =)

7. — классный плагин защиты от спама. Он не просто красивый он еще и призывает людей к тому чтобы оставить комментарий на вашем блоге. Для того чтобы читатель оставил коммент ему нужно крутить картинки и поставить их вертикально. Забавно да? Мне лично очень нравиться =)

Для этого откройте файл comments.php темы вашего блога, найдите там строчку — ID); ?> и переместите ее выше на несколько строк, а именно над строкой