Skip to content
 

Как избавиться от спама в комментариях WordPress, или reCaptcha 2.0 Я не робот

я-не-роботХорошо, когда на сайте есть комментарии.

Это один из признаков его популярности.

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

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

Некоторые просто очень спешат и не хотят терять ни минуту своего драгоценного времени.

Люди-спешат

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

как-избавиться-от-спама-в-комментариях WordPress

А некоторые вообще делают это только в случае выгоды для себя – лишний раз ссылку на сайт пристроить. Благо, сейчас поисковики все ссылки учитывают.

Особенно интересны в этом плане так называемые dofollow сайты.

ура, ссылка найдена

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

В таком случае возникает резонный вопрос: «Как избавиться от спама в комментариях WordPress?».

На начальном этапе я пользовалась самым популярным WordPress плагином, предназначенным для этой цели — Akismet.

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

Но, самое скверное, что он позволял роботам (специальным программам) оставлять комментарии на сайте. И хоть они и попадали сразу же в папку Спам, но папка постоянно пухла и увеличивалась от такого рода посланий, которые не имели ни малейшего отношения ни к делу, ни к теме статьи.

Приходилось вручную периодически чистить спам.

Я приспособилась делать это за один клик с помощью кнопки «Очистить спам» в административной панели своего сайта на WordPress.

очистить-спам WordPress

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

Поэтому я давно присматривалась к вариантам невидимой капчи, которая срабатывает просто от нажатия на кнопку «Отправить комментарий» и отсекает роботов. Они ведь на эту кнопку не нажимают.

Плагинов WordPress, предоставляющих такую услугу накопилось уже довольно много.
Одни блогеры хвалят один (Invisible Captcha), а другие другой (Anti-Captcha).

Но установка нового плагина с невидимой капчей предполагала удаление старого — Akismet, чего делать не очень хотелось.

reCaptcha 2.0 Я не робот.

recaptcha-2.0 Я-не-робот

Но в 2015 году Google представил новую версию проверки для защиты от спама – reCaptcha 2.0 Я не робот.

Текстовую капчу (reCaptcha 1.0) заменили на визуальную – выбор изображений, но сначала программа оценивает Ваше поведение в сети. Может и выбирать ничего не предложит.

Используя открытый API, есть возможность разместить reCAPTCHA на собственном сайте.

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

Я обнаружила такую проверку даже в сервисе для вебмастеров Google, когда решила самостоятельно добавить новую статью в индекс. Раньше ее там не было.

Это меня окончательно убедило в том, что это — качественный тест, и соответствует самым высоким уровням мировых стандартов.

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

Такого рода тест роботам точно не под силу.

А для человека просмотр и выбор картинок напоминает увлекательную игру. И посетители будут делать это с удовольствием.

Со всех сторон все прекрасно!

Шустрые программисты уже успели создать несколько плагинов WordPress, которые позволяют добавлять проверку reCaptcha 2.0 в разные места на сайте.

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

Это окончательно определило мой выбор в ее пользу.

И с момента установки новой reCaptcha папка Спам на моем сайте постоянно пуста.

Наконец-то!

Что нужно сделать, чтобы добавить проверку reCaptcha 2.0 Я не робот?

Для этого нужно зарегистрировать свой домен в Google по специальной ссылке https://www.google.com/recaptcha/admin/create.регистрация-сайта в Google Captcha

При регистрации вводится название и домен (а не ссылка на сайт). У меня — tvoy-internet.ru.

После регистрации :
1. Получаете 2 ключа – основной и секретный;
2. Google предоставляет код для запуска скрипта, который размещают в заголовок сайта header.php перед закрывающим тегом, и код виджета «Я не робот» (он содержит основной ключ), который помещают в нужную форму перед закрывающим тегом формы;
3. Google советует, как можно проверить, прошли ли Вы проверку, отправив на их сервер POST запрос.

Вот собственно и все.

Но проще все-таки использовать плагины.

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

Тестируем плагины с reCaptcha 2.0

Все они имеют тысячи успешных установок.

Самый простой плагин называется reCaptcha.

Он предоставляет ссылку для регистрации в Google и организует на сайте поля для ввода основного и секретного ключа.настройка-recapcha

Можно также ввести сообщение, которое будет выдаваться, если Вы не прошли тест.

Но этот плагин добавляет виджет только в форму для входа на сайт.

Я-не-робот-в-форме-для-логина

В браузере Google Chrome у меня тест прошел нормально. А в браузера Опера я на сайт попасть не смогла: при нажатии на чекбокс постоянно выдавалась, что нет связи с интернетом.

Отсутствует-связь-с-интернетом

Хотя все остальные сайты благополучно загружались. Пробовала неоднократно.

Плагины, которые добавляют проверку «Я не робот» сразу в несколько форм.

Настраиваются все они примерно одинаково:

Сначала заносим в предоставленные поля 2 сгенерированные в Google ключа;

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

добавление-виджета--Я-не-робот в формы

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

При тестировании одного из плагинов я просто не смогла попасть в административную панель собственного сайта.

Ввожу логин, пароль, прохожу проверку «Я не робот», которую добавил плагин в форму для входа, – все вроде правильно. Зеленая галочка появляется, но мне все время выдается сообщение, что Вы неправильно ввели reCaptcha, и на сайт не пускают.

Пришлось удалять этот плагин хирургическим путем через хостинг.

Для этого посетите административную панель своего хостинга или используйте FTP-сервер.

Там, отрывая последовательно директории, нужно пройти следующий путь: Файловый менеджер — domains/ваш сайт/public_html/wp-content/plugins/

А в папке plugins найти и удалить папку с названием плагина – у меня это была Google Captcha.

Только после ее удаления к себе на сайт и попала, а то ни в какую.

Зато научилась плагины через хостинг деактивировать. Оказалось это совсем просто. Удалил папку плагина – и дело с концом.

Тестируем плагин Better WordPress reCAPTCHA .

Я установила его на основном блоге. Сказано, что он совместим с Akismet и Contact Form 7.

Но в моем шаблоне он упорно показывал только старую текстовую капчу, а не анонсированную новую.

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

Да, проблема оказалась именно в этом. У меня была версия 5.2.

Но на сервере хостинга, оказывается, можно выбрать любую версию PHP для своего сайта (от 5.2 до 7.0).

И как только я ее повысила до 5.4, мне сразу же стали предлагать в качестве образца новый вариант.

Но в форме для комментариев капча вообще не появлялась, и требовалось пропиcывать дополнительный код.

Увы, я давно не обновляла свой шаблон, потому что произвела в нем довольно много изменений.

А при обновлении или смене темы все изменения, сделанные при редактировании шаблона Вордпресс, пропадают. Все придется делать заново.

Поэтому плагин Better WordPress reCAPTCHA похоже для моего сайта не совсем подходит.

Зато тем, кто установил этот плагин ранее, когда он показывал еще текстовую капчу, и успешно пользуется им до сих пор, — сказочно повезло. Потому что с версии 2.0.0 он начал (или имеет возможность) показывать новую визуальную reCaptcha 2.0. Нужно только обновить плагин. И позаботиться о повышении PHP (в случае затруднений обращайтесь в техподдержку своего хост-провайдера).

И будет Вам счастье!

Почему это не заработало у меня?

Автор плагина пишет, что для создания формы комментариев должна быть использована специальная функция WordPress comment_form ().

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

В таком случае автор рекомендует добавить перед кнопкой отправить специальный тег.добавить-специальный-тегЯ этот тег пробовала добавлять в разные места свой старой формы комментариев, но нужного эффекта не добилась. Это только ломало отображение страницы сайта.

Хотите узнать, как удалось решить проблему?

Тогда Вам стоит прочесть еще одну (следующую) статью на моем блоге, где я об этом собираюсь рассказать.

Тестируем плагин Google Captcha (reCAPTCHA) by BestWebSoft

Он тоже добавляет виджет сразу в несколько форм.

Но у меня виджет добавился во все формы для входа и регистрации, а в форму для комментариев (куда я особенно хотела его вставить) так и не вписался. В таком случае нужно читать инструкцию по установке плагина и добавлять в файл comments.php специальный тег.

Я проверила и убедилась, что у меня такой тег есть, но виджет в форме для комментариев так и не появился.

А при отправке комментария выдавалось, что неправильно ввели reCaptcha.

Ага, ее и не видно совсем. Как же тут правильно введешь.

Эх, хорошо что в форму для логина не добавила, а то бы и на сайт не смогла войти.

Тестируем плагин No CAPTCHA reCAPTCHA

Этот плагин добавил проверку во все заявленные формы.

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

К тому же комментарии, которые отсеялись, накапливаются в корзине, и ее придется периодически чистить или совсем удалять.

Подробнее на сайте KtoNaNovenkоgo.ru.

Кому-то повезло. Все нормально работает.

Но в моем случае, даже когда появлялась зеленая галочка в виджете «Я не робот» (тест пройден) , выдавалось сообщение, что Вы не прошли проверку.

Посмотрела форум этого плагина. Оказалось, я не одинока. Там тоже некоторые кричат: «Караул, не могу попасть в админку!».

Но я уже рассказывала выше о том, как выйти из такой ситуации.

А чтобы в нее не попадать (еще раз повторюсь): не выбирайте форму для логина при тестировании плагина.

К тому же, как Вы помните, у меня была мечта-идея, чтобы спам-комментарии на сайт вообще не попадали.

Решила воспользоваться рекомендациями Google напрямую.

Самостоятельно добавляем reCaptcha в шаблон (тему) WordPress.

Прописала запускающий тег в шапку сайта header.php перед закрывающем тегом head (/head). Можно увеличить.

скрипт-в-заголовке-сайта

А код виджета самостоятельно добавила в файл comments.php перед закрывающем тегом формы комментариев (/form). Чуть выше этого тега перед кнопкой отравить отзыв. Клацни, чтобы увеличить.

вставить-виджет Я не робот-в-файл-comments.php

И все, вроде бы, прекрасно заработало.

Основной ключ при этом прописан в виджете «Я не робот» в теге div.

А секретный ключ используется со стороны сервера Google. А там он точно есть (сгенерирован при регистрации).

Иначе не объяснишь. Ведь плагины, которые предоставляли специальные поля для занесения ключей на сайт, я деактивировала и удалила.

Но есть одно маленькое но…

Виджет вставлен в форму комментариев перед кнопкой отправить.

Нормальный исполнительный человек понимает, что сначала необходимо пройти проверку «Я не робот», а потом отправить отзыв.

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

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

Вот тут и вступает в силу самый сложный момент.

Вопрос в том, как сделать проверку « Я не робот» обязательной для прохождения перед отправкой формы?

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

А сделать это неискушенному в программировании блогеру не так уж и просто.

Во-первых, нужно уметь правильно написать этот самый POST запрос.

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

Словом, самостоятельно сочинять и добавлять необходимый программный код.

Придется разбираться.

Продолжение следует…

Хочу виджет «Я не робот»!

Но, как всякая женщина, я очень люблю примерять обновки.

Поэтому решила оставить виджет на своем сайте. Уж очень хочется приблизиться к мировым стандартам.

А для того, чтобы отсеять роботов, я таки добавила дополнительно плагин Better WordPress reCAPTCHA, который при активации у меня в форму комментариев проверку так и не вставил, но там есть дополнительные настройки для согласования с Akismet. Я установила их так.

Выбор-форм-для-установки--reCaptcha

Поддержка-Akismet

И теперь моя папки Спам и Корзина – пусты!

Почему это работает?

Установлен элемент управления, который связывает два плагина, и капча должна появляться, только если Akismet заподозрил что-то неладное.

А это как раз все те комментарии, которые раньше попадали у меня в спам.

Теперь они на сайт не попадают, так как капчу пройти не могут.

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

Оправдаться в этом случае нельзя, так как плагин Better WordPress reCAPTCHA никакую капчу в форме комментариев у меня не показывает.

Кстати, если убрать галочку из этого элемента управления интеграции с Akismet, то никакие комментарии вообще на сайт не проходят.

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

Хотя, согласитесь, получилось масло масляное. Или выкрутасы.

Но роботам мой заслон пробить не удалось. «Термоядерная» организовалась защита.

А установленный виджет «Я не робот» в таком случае служит фактически пока только для красоты или для рекламы.

Но об этом знают только те, кто дочитал статью до абзаца, где я об этом рассказываю. Остальные — ни-ни.

Дальше буду разбираться, как облегчить столь тяжелую конструкцию.

Но, уж очень захотелось покрасоваться на сайте новым виджетом.

А-ты-видел,-какой-у-него-виджет

Будем считать, что его наличие стимулирует меня разобраться с этим вопросом более пристально. Ведь именно его появление заставило меня вернуться к этой теме.

Уважаемые читатели!

Надумаете написать комментарий, не забудьте пройти проверку «Я не робот», если она встретилась Вам в форме.

Можно протестировать этот виджет и просто так, без отзыва.

Надо же убедиться, что Вы – человек.

P.S. Может, Вам повезет больше, и удастся легко подобрать подходящий плагин для своего блога.

Желаю успехов!

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

Читайте следующую статью, чтобі узнать, как мне это удалось сделать.

Елена и tvoy-internet.ru

Считаешь информацию полезной? Поделись с друзьями!

5 комментариев

  1. Уважаемые читатели!
    Если из-за моих экспериментов с reCaptcha 2.0 и виджетом «Я не робот» Вы захотели, но не смогли оставить свой комментарий, то на странице «Контакты» есть мой электронный адрес.
    Сообщите мне, пожалуйста!!!

  2. Елена:

    Ура, наконец-то мне удалось нормально вставить проверку «Я не робот» в форму для комментариев на своем сайте!
    Но для этого пришлось поменять свою форму комментариев.
    Теперь она у меня новая, построена с помощью специальной функции Вордпресс.
    Хотите узнать, как можно заменить старую форму комментариев на новую современную?
    Об этом читайте здесь.

  3. Спасибо! Хорошая подборка плагинов, странно, что до сих пор рекапча не встроена по умолчанию.
    Если вручную править, то придется не только comments.php править — это файл отображения шаблона комментария, но и саму логику работы формы — нейкий хелпер.

  4. ProtectYourSite! Проще всего заменить старую форму комментариев на новую, построенную с помощью одной строки кода (вызов функции WordPress). Об этом рассказано в следующей статье.
    И не будет никаких проблем!

  5. Спасибо за то, что разложили все по полочкам! Нужно и себе такую штуку установить. Пока комментов не много, но спам чистить иногда напрягает

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *