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

Плагин Akismet хоть и облегчает нашу участь, но все равно видеть тысячи отловленных им комментариев весьма и весьма тоскливо. Всякие капчи ловко обходятся. Как быть?

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

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

А потому для начала мы в настройка “Обсуждения” выставим галочку, что “Автор комментария должен написать имя и e-mail”.

Следующим шагом будет правка файла “openidform.php” в директории вашей темы. Здесь мы меняем имя поля для email. Например, на что-то типа “mysecret”. Плюс, комментируем строки, которые отвечают за вывод поля “url”. Я думаю, что это поле здесь лишнее. Пользы оно все равно никому не принесит, только провоцирует “ручных” спамеров. Они же не знают, что все подобные ссылки выводятся в нормальных темах как nolink и nofollow.

С этим файлом все. Теперь переходим к “openid-comments-post.php” в поддиректории “openid” нашей папки плагинов. Здесь мы меняем строчку:

$comment_author_email = trim($_POST['email']);

на

$comment_author_email = trim($_POST['mysecret']);

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

Вот, собственно, и все! Замечания и альтернативные предложения приветствуются.