Для тех, у кого блог работает на движке Wordpress, как и у меня.
Замечали ли вы, что часто приходят странноватые комментарии от незнакомых людей? Вполне невинные, казалось бы. Например, «автор молодец, классно написал», «Пост ваш очень интересный, а вы знаете, что сегодня Пуговкин умер?», или еще что-нибудь в таком духе.
В этих комментариях имя отправителя отображается как ссылка на какой-либо сайт. Таким образом, рассылая по блогам кучи одинаковых комментариев, замаскированных под обычные ответы от ваших читателей, спамеры используют вас как рекламную площадку своего сайта — чем больше в Интернете ссылок на него, тем выше его рейтинг в поисковиках.
Так как мне надоело удалять эти комментарии, я решил просто нейтрализовать их — пусть они показываются, но нужно сделать так, чтобы имя комментатора не являлось ссылкой.
В каталоге, куда установлен Wordpress, найдите файл wp-includes/comment-template.php. В нем есть функция get_comment_author_link(). В районе 111-й строки в файле будет следующий код:
Если вы не знакомы с программированием, этот код означает: «если автор комментария не указал верного адреса своего сайта, тогда просто выведем его имя, а если указал — тогда выведем имя в виде ссылки на его сайт».
Оставьте из этих четырех строчек только $return = $author;, а остальные три удалите. Сохраните файл и загрузите его на сервер.
Кроме того, если поле URL в форме отправки комментария у вас не используется для входа по OpenID, как у меня, вы можете его вообще удалить или скрыть.
Для этого найдите в каталоге wp-content/themes/имя_темы/ файл comments.php, либо просто в интерфейсе администрирования зайдите в раздел «Дизайн», нажмите «редактировать тему», и справа выберите comments.php.
Ближе к концу файла будет такой код:
Либо удалите этот текст полностью, либо закомментируйте (не могу показать, как это сделать — движок Хабрахабра не позволяет). Еще хитрее — можно ничего не удалять, а просто заменить type=«text» на type=«hidden». Тогда это поле ввода не будет видно пользователю, зато когда вам будет приходить на электронную почту уведомление о новом комментарии, вы будете видеть, указал ли комментатор адрес своего сайта или нет. Если указал — 100% спамер, ведь обычный пользователь не можете это сделать, так как просто не видит поля ввода.
Ну и конечно же, в настройках блога (Интерфейс администрирования Wordpress → Настройки → Обсуждение) укажите «Задержать комментарий, если он содержит 1 или более ссылок», если вы этого еще не сделали.
Вот и все. Наверное, можно вместо всего этого и капчу поставить, но кому нравится каждый раз вводить циферки?
Замечали ли вы, что часто приходят странноватые комментарии от незнакомых людей? Вполне невинные, казалось бы. Например, «автор молодец, классно написал», «Пост ваш очень интересный, а вы знаете, что сегодня Пуговкин умер?», или еще что-нибудь в таком духе.
В этих комментариях имя отправителя отображается как ссылка на какой-либо сайт. Таким образом, рассылая по блогам кучи одинаковых комментариев, замаскированных под обычные ответы от ваших читателей, спамеры используют вас как рекламную площадку своего сайта — чем больше в Интернете ссылок на него, тем выше его рейтинг в поисковиках.
Так как мне надоело удалять эти комментарии, я решил просто нейтрализовать их — пусть они показываются, но нужно сделать так, чтобы имя комментатора не являлось ссылкой.
В каталоге, куда установлен Wordpress, найдите файл wp-includes/comment-template.php. В нем есть функция get_comment_author_link(). В районе 111-й строки в файле будет следующий код:
if ( empty( $url ) || 'http://' == $url ) $return = $author; else $return = "<a href='$url' rel='external nofollow'>$author</a>";
Если вы не знакомы с программированием, этот код означает: «если автор комментария не указал верного адреса своего сайта, тогда просто выведем его имя, а если указал — тогда выведем имя в виде ссылки на его сайт».
Оставьте из этих четырех строчек только $return = $author;, а остальные три удалите. Сохраните файл и загрузите его на сервер.
Кроме того, если поле URL в форме отправки комментария у вас не используется для входа по OpenID, как у меня, вы можете его вообще удалить или скрыть.
Для этого найдите в каталоге wp-content/themes/имя_темы/ файл comments.php, либо просто в интерфейсе администрирования зайдите в раздел «Дизайн», нажмите «редактировать тему», и справа выберите comments.php.
Ближе к концу файла будет такой код:
<p><input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?>" size="22" tabindex="3" /> <label for="url"><small>Website</small></label></p>
Либо удалите этот текст полностью, либо закомментируйте (не могу показать, как это сделать — движок Хабрахабра не позволяет). Еще хитрее — можно ничего не удалять, а просто заменить type=«text» на type=«hidden». Тогда это поле ввода не будет видно пользователю, зато когда вам будет приходить на электронную почту уведомление о новом комментарии, вы будете видеть, указал ли комментатор адрес своего сайта или нет. Если указал — 100% спамер, ведь обычный пользователь не можете это сделать, так как просто не видит поля ввода.
Ну и конечно же, в настройках блога (Интерфейс администрирования Wordpress → Настройки → Обсуждение) укажите «Задержать комментарий, если он содержит 1 или более ссылок», если вы этого еще не сделали.
Вот и все. Наверное, можно вместо всего этого и капчу поставить, но кому нравится каждый раз вводить циферки?