Урок 204. Защита комментариев WordPress от спама без плагина

Защита комментариев WordPress от спама без плагинаПриветствую! В блоге я уже писал пару статей о защите WordPress от спама. В одной из них, я предлагал установить плагин «Antispam Bee», а в другой«Invisible Captcha». Второй плагин однозначно лучше, но в некоторых шаблонах он работа неправильно. До написания этой статьи, у меня был установлен именно этот плагин.

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

Если на Вашем сайте установлен плагин «Akisment», о котором до сих пор пишут блоггеры, то я советовал бы Вам избавиться от него. Не могу понять, что хорошего в нем нашли?

Плагин этот не доработан, и нормальные комментарии иногда попадают в «СПАМ», поэтому за этим надо всегда следить. Уж если Вы не любите возиться с кодами, то почему бы Вам не установить плагин «Invisible Captcha»? Этот плагин действительно хороший, хотя я ни разу не видел, чтобы о нем кто-то писал. У меня он был установлен года 4, если не больше.

Метод, который я предлагаю Вам использовать сегодня – защищает сайт 100% от СПАМа. То есть, Вы один раз настраиваете защиту, и забываете, что СПАМ вообще существует. Плюс к этому, Вы удалите один плагин с Вашего сайта.

Настройка защиты от спама без плагина

Для установки и настройки защиты от СПАМа, понадобиться подредактировать некоторые файлы шаблона, а именно: comments.php, style.css и functions.php. Для начала нужно узнать, какая функция выводит поле для ввода текста в комментариях.

Откройте любую статью и прокрутите вниз до формы комментариев. Кликните правой клавишей мыши по этому полю, а затем в контекстном меню выберите «Просмотр кода элемента», или что-то в этом роде. В разных браузерах эта строка в меню называется по-разному.

Появится окошко для веб-разработчиков. Вы увидите такую строку, или похожую на нее.

Смотрите еще скриншот

Настройка защиты от спама без плагина

Во многих шаблонах за вывод текстового поля отвечает тег textarea. Этот тег Вы видите в коде и на скриншоте. Эту строку нужно найти в файле comments.php.

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

Редактирование файла comments.php

Для того чтобы быстро отредактировать файл, можно воспользоваться редактором WordPress: «Внешний вид» -> «Редактор». Найдите файл comments.php, а затем найдите в нем строку с тегом textarea.

Для быстрого поиска, нажмите на клавиатуре «Ctrl» + «F». Появится поисковое поле для ввода текста, напишите в нем слово «textarea» без кавычек. Должна автоматически найтись строка с этим кодом.

Скопируйте эту строку полностью и вставьте ее ниже, сразу под этой строкой. У Вас должно получиться так:

Редактирование файла comments.php

То есть, должно быть одинаковые две строки. Теперь нужно сделать в верхней строке некоторые изменения. К атрибуту name и id подставив слово «main» без кавычек. Должно получиться так:

Редактирование файла comments.php

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

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

Теперь верхняя строка должна выглядеть так.

С этим файлом разобрались. Сохраните его.

Редактируем файл стилей style.css

Теперь на Вашем сайте появилось второе поле комментариев, но Вы его можете не увидеть, если на сайте установлен плагин кэширования, например, WP Super Cache, или подобный ему.

Удалите кэш, и Вы увидите, что на сайте в комментариях появилось второе поле для ввода текста. В первое поле будут вводить текст люди, а во второе поле будут вводить текст спам-боты.

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

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

Не забудьте сохранить файл.

Редактируем файл function.php

Осталось подключить фильтр, который будет проверять заполнение полей. Если заполнено первое поле, тогда комментарий считается нормальным, и он остается на блоге, а если заполняется второе, тогда комментарий считается СПАМ и он удаляется.

Открываем файл function.php и добавляем в него код

Код можно добавить сразу после <?php, т. е. под этим кодом. Обычно это первая строка в файле

Сохраните файл, и все готово.

Теперь можно проверить, работает ли все правильно.

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


____________________
К уроку 205.

3 комментария к “Урок 204. Защита комментариев WordPress от спама без плагина”

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

Комментарии закрыты.

Прокрутить вверх