Одно из препятствий на пути к созданию успешного блога на основе WordPress — это использование вашего блога другими людьми для размещения спама в комментариях вашего блога и попытки привлечь больше посетителей на собственные сайты за счет вашего проекта. Иногда для этой цели используют "роботов", иногда — кустарные самодельные скрипты для браузеров, иногда спамят вручную, как обычно комментируют пользователи. И все это совсем не хорошо для вашего проекта.

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

1. Король антиспама — плагин Akismet

От чего защищает: От автоматического и "ручного" спама.

Говоря о различных методах борьбы со спамом в комментариях, было бы странно не начать с наиболее популярного инструмента борьбы со спамом. Он наиболее популярен еще и потому, что включен в поставку WordPress; но также и потому, что у него довольно высокое качество борьбы со спамом.

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

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

Читайте подробнее о настройке плагина Akismet в нашем уроке Что делать сразу после установки WordPress, Шаг 7.

2. Отключаем прямой доступ к файлу wp-comments-post.php с помощью .htaccess

От чего защищает: От автоматического спама.

Вы всегда можете отключить прямой доступ к файлу wp-comments-post.php путем добавления следующего кода к вашему файлу .htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post.php*
RewriteCond %{HTTP_REFERER} !.*yourdomainname.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
</IfModule>

(Источник кода: Cats Who Code)

Логика тут проста: если "реферал" не из вашего блога (не забудьте заменить "yourdomainname" на имя вашего домена), вы не сможете получить доступ к файлу. Еще один положительный момент в этом коде заключается в том, что "роботы"-спаммеры не увеличат нагрузку на ваш ресурс, поскольку не смогут получать доступ к целевому файлу.

3. Плагин "Cookies for Comments"

От чего защищает сайт: Как от автоматического, так и от введенного вручную спама.

Знаю, что должен оставаться беспристрастным по отношению к различным антиспам-плагинам, но плагин Cookies for Comments — это, похоже, самый лучший плагин, которым я когда-либо пользовался.

Процитирую автора плагина Donncha O Caoimh:

Плагину требуется таблица стилей или снимок вашего исходного html-кода в блоге. Когда браузер загружает такую таблицу стилей или образ, то размещается еще и cookie. И если потом пользователь оставляет комментарий, то идет проверка на наличие данного cookie-файла. Если этого файла нет, то комментарий помечается как спам.

Все очень просто. Даже более того: плагин также проверяет, насколько быстро отправляется комментарий. Так, например, если комментарий отправлен в течение 3 секунд с момента загрузки страницы с постом, то такой комментарий скорее всего является спамом. Вы можете установить интервал на странице настроек плагина и выбрать также, как поступать с "перехваченными" комментариями: удалять их сразу же или помещать их в папку "спам".

4. Использование сторонней системы комментирования (наподобие Disqus или Jetpack)

От чего защищает: От автоматического спама.

Есть хорошая сторона в системах комментирования: спам-роботы с ними вообще не справляются. Возможно, они не могут практически ничего с ними сделать, т.к. системы комментирования в основном используют загрузку внутри iFrame (а может, причина еще в чем-то, не знаю точно).

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

Читайте также:

5. Использование чекбоксов для отправки комментариев на сайт

От чего защищает: От автоматического спама.

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

Для начала вам надо добавить чекбокс к форме комментариев в вашей теме (скорее всего, эта форма содержится в файле comments.php). Делается это примерно вот так:

<label for="enable"><input type="checkbox" name="enable" id="enable" onClick="apply()" class="enable_checkbox"> Check this box to enable the send button</label>

Хорошо также добавить этот чекбокс сразу над кнопкой добавления нового комментария. Кстати, запомните значение атрибута "name" в кнопке добавления нового комментария и элемента <form>. Если у вас нет атрибута для "name" и элемента

, добавьте его со значением "commentform".

Далее добавьте этот код в файл header.php, внутри элемента <head>:

<script type="text/javascript">
function apply() {
    var form_submit = document.commentform.submit;
    var form_checkbox = document.commentform.enable;
    form_submit.disabled=true;
    if(form_checkbox.checked==true) {form_submit.disabled=false;}
    if(form_checkbox.checked==false) {form_submit.enabled=false;}
}
</script>

Измените значения для "commentform" и "submit", если у вас другие значения для name="..." в элементе <form> и / или кнопке добавления комментариев.

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

6. Плагины с CAPTCHA

От чего защищают: От автоматизированного спама.

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

CAPTCHA расшифровывается как "Completely Automated Public Turing test to tell Computers and Humans Apart", согласно сведениям из Wikipedia. Есть великое множество плагинов, которые используют данный метод, но я остановлюсь на двух конкретных:

Блокируйте спам и помогайте развитию книгоиздания: reCAPTCHA

reCAPTCHA использует свой, отличительный подход к системе CAPTCHA, используя ее работу для благих целей. Процесс заключается в следующем: Google сканирует старые книги, журналы, архивные документы и т.п., но конечно же, программное обеспечение для оптического распознавания текста не всегда распознает слова, и вот тогда мы сами делаем это вручную. Плагин заставляет пользователей читать и вводить слова, которые отображены в виде картинок, но не были распознаны OCR-программой (за более подробной информацией по данной теме вы можете обратиться к сайту Google reCAPTCHA.)

A плагин reCAPTCHA for WordPress поможет вам применить эту любопытную полезную технику борьбы со спамом для вашего сайта.

Блокируем спам, используя силу математических вычислений: CAPTCHA

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

В заключение к вышесказанному

Мы не можем остановить все 100% спама: есть и те, кто спамит как обычные, "живые" пользователи, используя вполне осмысленные и законные комментарии, в которых в поле веб-адреса при добавлении комментария они указывают свои сайты. Так что мы никак не можем бороться с такими пользователями. Но я практически уверен в том, что 9 из 10 спам-комментариев вы сможете побороть, используя один из методов, речь о которых шла в нашем посте :)

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

Источник: WP.tutsplus.com

Вам понравился материал?

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

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.

3 комментария

сначала новые
по рейтингу сначала новые по хронологии

Мне второй метод с аштиакцесс помог. Уже сил никаких не было, по 400 комментов спама сыпалось в сутки. Теперь спокойно вроде. Спасибо!

День добрый.
Напишите пожалуйста пример блокировки доступа спамеров к wp-comments-post.php на примере вашего сайта. Не могу разобраться как именно должен выглядеть конечный вид кода. В файле .htaccess уже есть запись, т.е. новую добавить ниже? Жду вашего ответа в данном посте

Мы не используем эту блокировку через .htaccess на wpcafe.org. Пример готового кода есть в этом уроке в пункте 2, добавляется в .htaccess с новой строки.