WordPress Россия

Плагин WordPress "Akismet" отсеивает спам в комментариях к записям в блоге.

Добавлено 12 июля 2010 в категорию Плагины.

Раньше я считал, что антиспам плагины нужны только для самых раскрученных блогов, но однажды у меня на совсем почти пустом блоге к одной определенной записи посыпался спам в комментариях, причем не просто десяток спамных сообщений, а полторы тысячи (!) за 3 дня. В каждом спамном комментарии было множество ссылок, поэтому WordPress не пропустил ни одного из них, но разгребать эту кучу спама вручную не было никакой возможности и мне пришлось установить плагин, который я обычно сразу же удаляю на свеже-установленном блоге, а именно самый известный антиспам плагин Akismet.

Скачиваем последнюю версию плагина и устанавливаем:

1. Распаковываем архив.

2. Копируем папку akismet в /wp-content/plugins/.

3. Заходим в админку блога на вкладку "Плагины" и активируем плагин.

4. Плагин нам выдал следующее сообщение:

Что ж, идем по ссылке [ссылка] и регистрируемся там для получения этого самого API-ключа. Регистрация достаточно проста:

Username: (ваш логин)
Password: (ваш пароль, от 4 символов)
Confirm: (подтверждение пароля)
Email Address: (ваш имейл)
Legal flotsam: (ставьте галку, что вы согласны с условиями)

и выбор между:
Gimme a blog! (завести блог вида вашлогин.wordpress.com)
Just a username, please. (только логин для получения API-ключа)

Советую выбрать только логин. Жмем кнопку "Next". Время от времени сервер у них висит, так что если вам сообщили об ошибке следует просто подождать и попробовать зарегистрироваться попозже. Так же сообщение об ошибке может означать, что выбранный логин уже занят. Удивительно, но сообщить о занятости логина они не могут, выдавая общую ошибку. Если все прошло гладко, то вам сообщат о том, что подтверждающее письмо было отослано на ваш email и что вы должны подтвердить регистрацию в течение двух суток. Проверяем почту и кликаем на ссылку в письме от WordPress.com. Нам сообщат, что теперь аккаунт активирован и мы можем зайти по ссылке "login". Авторизируемся, попадаем на главную страничку. Смотрим вверху слева ссылку на "My Account", кликаем в выпадающем меню на ссылку "Edit Profile", видим следующую фразу:

Где выделенная часть и есть ваш API-код. Идем в "ПлагиныНастройки фильтра Akismet", вставляем API-код в соответствующее текстовое окошко и жмем на "Обновить настройки". Все, теперь плагин работает.

Когда кто-либо оставит комментарий в вашем блоге плагин отправит его на проверку на свой сервер. Если сервер после тестов не сочтет его спамом, тогда комментарий будет опубликован, иначе он будет помечен как спам. И хотя создатели плагина утверждают, что комментарий проходит сотни тестов на практике решающим фактором будут имя и ссылка на сайт комментирующего. Когда вы помечаете комментарий как спам Akismet у себя на сервере отмечает в базе, что такое-то имя вкупе с такой-то ссылкой было замечено в написании спамных комментариев. При достижении некоторой "критичной" массы Akismet на всех блогах начнет помечать комментарии с данной ссылкой и именем как спам (причем, думаю, что ссылка имеет решающее значение).

В теории это выглядит замечательно: кто-то отметил комментарий как спам и теперь похожий комментарий от данного автора будет отмечен как спам и у вас на блоге. Но на практике это означает, что если десятку блогеров не понравятся ваши комментарии и они отметят их как спам, то все ваши комментарии теперь будут попадать в спам на всех блогах, где используется Akismet, а это плохо тем, что большинство блогеров не просматривают список спамных комментариев и не вытаскивают оттуда ошибочно помеченные как спам комментарии. Нередки и подставы, когда злоумышленник использует ваше имя и ссылку на сайт, оставляя заведомо спамные комментарии на блогах. Рано или поздно вы попадете в "черный список". Как с этим бороться мне неизвестно. Но зная о таком возможном развитии событий не ленитесь просматривать у себя на блоге комментарии, помеченные как спам Akismet’ом – вполне возможно, что туда попали и неспамные комментарии.

Akismet также дает возможность показать сколько он отсеял спама на блоге. Для этого используйте следующий код:

<?php if(function_exists('akismet_counter')) { akismet_counter(); } ?>

И тогда вы получите вот такой счетчик спама:

Причем внешний вид этого счетчика можно легко настроить через css-код, который встроен в файл плагина. Для его изменения откройте akismet.php и отредактируйте следующий код:

1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
<style type="text/css">
#akismetwrap #aka,#aka:link,#aka:hover,#aka:visited,#aka:active{color:#fff;text-decoration:none}
#aka:hover{border:none;text-decoration:none}
#aka:hover #akismet1{display:none}
#aka:hover #akismet2,#akismet1{display:block}
#akismet2{display:none;padding-top:2px}
#akismeta{font-size:16px;font-weight:bold;line-height:18px;text-decoration:none}
#akismetcount{display:block;font:15px Verdana,Arial,Sans-Serif;font-weight:bold;text-decoration:none}
#akismetwrap #akismetstats{background:url(<?php echo get_option('siteurl'); ?>/wp-content/plugins/akismet/akismet.gif) no-repeat top left;border:none;color:#fff;font:11px 'Trebuchet MS','Myriad Pro',sans-serif;height:40px;line-height:100%;overflow:hidden;padding:8px 0 0;text-align:center;width:120px}
</style>

Кстати, возвращаясь к моему случаю с получением полутора тысяч спамных комментариев за 3 дня. Хотя Akismet мне помог в плане того, что все они были помечены как спам мне все же пришлось отключить комментарии к той записи вообще. Из-за банальной вещи: слишком уж большая нагрузка была на сервер и иначе как отключением комментариев решить проблему не удалось. Надеюсь вы не попадете в базы данных специализированного спам-софта и вам не придется использовать отключение комментариев, как выход из ситуации.

 

Автор плагина: Matt Mullenweg

Страница плагина: [ссылка]

Рассматриваемая версия: 2.2.6 от 20.07.2009

Совместимость с версией WordPress: 2.0 и выше.

Категории