Привет дорогой читатель! Сегодня речь пойдет про wordpress комментарии, про спам комментарии в блогах. Я думаю, Вам как и мне, уже надоело постоянно заходить в папку «спам» и вручную перебирать комментарии автоматического или еще хуже ручного спама. После чего выискивать в этой куче хлама хороший, осмысленный комментарий, который затесался в папку спам комментарии по ошибке.

Все, верно, мне тоже это жуть как надоело. Сначала я ставил много разных антиспам плагинов для защиты wordpress от спама. Но как показала практика, все эти действия малоэффективны. Поэтому был придуман один очень интересный выход, правда, придуман был не мной! Позаимствовал я этот метод в каком-то блоге.

В общем, решил попробовать, внедрил хак на свой блог. После трех месяцев полет удачный, ни одного спам комментария за три месяца. В это трудно конечно поверить, но это так. После эксперимента пришел к выводу, что мои читатели просто обязаны знать про защиту wordpress от спам комментариев, с помощью полезного хака — «подмена полей»!

Суть метода!

Для ручного спама мы как всегда поставим плагин «Akismet» . Я думаю, он должен стоять практически у каждого блоггера. Если еще не стоит, то в интернете есть масса литературы про то, как его поставить и как активировать. Данный плагин будет защищать наш блог от ручного спама в комментариях. А хак «подмена полей», в свою очередь, защитит блог от авто спама.

Думаю, стоит отметить два больших плюса такого танца с бубном: первое — избавляемся от постоянной проблемы авто спам и второе — больше не придется править файлы движка после обновления WordPress. Правда как всегда есть и минус, придется подшаманить два файла в нашей теме, comments.php и style.css . Но как по мне, данный минус незначителен.

Суть метода примерно следующая! Если Вы продвинутый блоггер, то должны знать, что стандартное поле для ввода комментариев имеет имя comment , поэтому мы скроем настоящее поле и подсунем вместо него новое поле real-comment .

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

В общем, все просто как дважды два. Человек заполняет видимое поле real-comment , а спам-скрипт заполнит по старинке стандартное поле comment , но уже невидимое. Заполненное невидимое поле и будет спам комментарием! :-) Думаю самое время приступить к делу!

1. Комментарии через функцию «comment_form ()»

Если у вас комментарии выводятся через функцию comment_form() (эта функция была введена в WordPress 3.0 для того, чтобы с помощью файла functions.php , можно было полностью заменить стандартную форму комментариев). Если ваш шаблон использует именно такую функцию, то необходимо открыть файл functions.php и добавить туда следующий код:

//Добавление своего поля для ввода комментария add_filter("comment_form_defaults", "change_comment_form_defaults"); function change_comment_form_defaults($default) { $commenter = wp_get_current_commenter(); $default["comment_notes_after"] .= "

"; return $default; } //END добавление своего поля для ввода комментария

Теперь скрываем наше стандартное поле comment , через файл «style.css» :

Comment-form-comment {display: none;}

Итак, с первой частью хака мы справились. Теперь у нас есть поле real-comment , которое видит и может заполнить посетитель, и стандартное поле comment , которое скрыто! В следующем шаге нам необходимо определить, какое из данных полей пропускать, а какое запрещать. Если заполнено видимое поле, то пропускаем, а если заполнено невидимое поле, то запрещаем. Для этого открываем файл functions.php и добавляем туда код:

2. Комментарии не через функцию «comment_form ()»

Если у вас комментарии выводятся не через функцию comment_form() , как у меня! В этом случае открываем файл comments.php и находим там код, выводящий поле для ввода комментария. Что-то похожее на:

Данный код необходимо заменить на:

Теперь надо скрыть стандартное поле для ввода комментария. Для этого откройте файл стилей вашего шаблона «style.css» и добавьте туда код:

No-spam {position: absolute; left: -1000px;}

No-spam {display: none;}

Также и в данном способе не забываем добавить код в файле functions.php , для определения, какое из данных полей пропускать, а какое запрещать.

//Проверка на спам add_filter("pre_comment_on_post", "verify_spam"); function verify_spam($commentdata) { $spam_test_field = trim($_POST["comment"]); if(!empty($spam_test_field)) wp_die("Спаму нет!"); $comment_content = trim($_POST["real-comment"]); $_POST["comment"] = $comment_content; return $commentdata; } //END проверка на спам

Вот в принципе и все! Теперь спам комментарии больше вас и ваш блог не потревожат. Если вы сомневаетесь, все ли сделали правильно, можете проверить работу данного хака по защите wordpress от спама. Для этого необходимо убрать из файла style.css внесенные изменения, обновить страничку блога, заполнить каждое поле комментариев и попытаться опубликовать комментарий!

Все вопросы, пожелания и замечания, пишите в комментариях к статье.

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

Почитал про разные имеющиеся на рынке плагины — как с капчей, так и без нее. И по ходу дела несколько раз наткнулся на описание того способа избавления от спама в WordPress , который в итоге и применил. У него есть ряд преимуществ и всего один недостаток — придется чуток покопаться в коде (но самую малость). Зато в результате получаете рабочий вариант спаморезки, без и без создания дополнительной нагрузки на блог за счет установки плагина.

Как направить спам-ботов по ложному пути?

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

Однако, робота этого можно попытаться обмануть в той области, где не шибко искушен. Главное, чтобы он считал, что с успехом выполнил свою работу — распространил спам по страницам вашего блога. Для обмана мы добавим на сайт еще одну форму для ввода текста комментария . Если их будет две, то какую выберет робот для добавления поста? Правильно, скорее всего, первую. Тут ведь действует та же логика, что и в ироничной миниатюре про два девятых вагона, когда все логично считали, что 9 вагон это тот, который следует сразу после 8, а не тот, что находится перед 10.

Вот тут получается примерно такая же история. Мы создаем две формы, одну из них (первую, которую робот и будет использовать) сделаем (данные из нее никуда отправляться не будут) и невидимой обычным посетителям. Т.к. они первую форму на сайте видеть не будут, то воспользуются второй формой, которая будет исправно работать и добавлять комментарии, оставленные людьми на блог.

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

Итак, чтобы все это дело реализовать на практике, большого ума не надо. Однако, по традиции, советую вас . Все файлы, которые нам понадобятся, находятся в папке с используемой вами темой оформления (/wp-content/themes/имя_темы). , чем редактировать эти файлы через админку WordPress, ибо во втором случае у вас могут возникнуть проблемы с отменой внесенных изменений.

Самодельная спаморезка в теме оформления WordPress

Для начала нужно будет найти в файлике comments.php участок кода, который отвечает за вывод на страницы постов поля для добавления комментариев. Если вы , который нам и нужно будет найти в коде файла comments.php. Если его там не окажется, то значит у вас иное устройство темы, чем у меня и, скорее всего, форма для оставления комментария формируется с помощью специальной функции. В этом случае порядок действий будет чуток другой.

Теперь копируете эту строку (не мою, а свою, в вашем файлике comments.php) и вставляете сразу за самой собой, чтобы получилось примерно так:

Если заметили, то я во второй строке заменил name="comment" id="comment" на name="struktura" id="struktura" . Вы должны сделать то же самое, но только вместо struktura использовать можно все, что угодно (потом просто замените это в коде фильтра приводимого чуть ниже).

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

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

#comment {display:none;}

После чего первая (фиктивная) форма для комментариев исчезнет со страниц вашего блога на WordPress. Все просто, но мне тут нашептали, что следует избегать из-за опасений навлечь немилость поисковиков (не знаю оправданы ли эти опасения) — типа вы что-то скрываете, делая часть сайта невидимой для посетителей (некий отдаленный аналог клоакинга получается).

Textarea#struktura {margin-top:-60px;overflow:hidden; } textarea#comment input {margin-top:10px;}

Таки образом я наехал второй формой на первую и полностью скрыл от глаз посетителей «пустышку», чтобы они ничего в нее не могли добавить. Если что-то не понятно, что читайте про и .

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

Add_filter("pre_comment_on_post", "verify_spam"); function verify_spam($commentdata) { $spam_test_field = trim($_POST["comment"]); if(!empty($spam_test_field)) wp_die("спам"); $comment_content = trim($_POST["struktura"]); $_POST["comment"] = $comment_content; return $commentdata; }

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

Удачи вам! До скорых встреч на страницах блога сайт

Вам может быть интересно

Смайлики в WordPress - какие коды смайлов вставлять, а так же плагин Qip Smiles (красивые смайлики для комментариев)
reCAPTCHA - простейшая капча Я не робот от Google Как отключить комментарии в WordPress для отдельных статей или всего блога, а так же убрать или наоборот подключить их в шаблоне
Как войти в админку WordPress, а так же поменять логин и пароль администратора выданные вам при установке движка Граватар - как создать глобальный аватар и настроить вывод иконки Gravatar в теме Вордпресса Пустая страница при просмотре больших постов (статей) в WordPress Пропало левое меню в админке WordPress после обновления Где скачать WordPress - только с официального сайта wordpress.org
Оптимизация и сжатие CSS в Page Speed - как отключить внешние файлы стилей и объединить их в один для ускорения загрузки
Как писать статьи в WordPress - визуальный и Html редакторы, заголовки и выделение ключевых слов Бесплатные темы и шаблоны для WordPress - где их можно скачать
Настройки блога на WordPress, которые вы должны сделать сразу после его установки

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

Установка и настройка плагина Akismet

Защищать сайт от спама мы будем с помощью возможно лучшего плагина для защиты от спама — Akismet . Данный плагин используют миллионы людей, а его надежность проверена мной лично на этом сайте. Плагин для персонального использования полностью бесплатный !

Из приятного можно отметить то, что данный плагин для защиты использует не раздражающие всех капчи, а проверку оставленного комментария проводит с помощью базы данных комментаторов на сервере Akismet, которые были помечены как «спамеры».

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

1. Активируем плагин Akismet . Плагин автоматически устанавливается по умолчанию при установке WordPress. Если вы его случайно удалили — скачайте и установите повторно.

2. Теперь нам необходимо получить API-ключ . Для этого нужно зарегистрироваться на официальном сайте плагина http://akismet.com/wordpress/.

После того как зашли на сайт плагина , нажимаем по кнопке «GET AN AKISMET API KEY» .

3. В открывшемся окне указываем рабочий почтовый ящик , логин и пароль для регистрации. После ввода данных нажмите кнопку «Sign up». Также проверьте почтовый ящик который вы указали при регистрации. На него придет письмо, внутри которого нужно нажать кнопку « Activate Account» для активации аккаунта.

4. После нажатия кнопки «Sign up» вы перейдете на новую страницу, на которой нужно в первом блоке «Personal» нажать по кнопке «SIGN UP» .

5. В открывшемся окне указываем имя и фамилию. Ползунок справа перетаскиваем в самое начало, на показатель «0,00/yr» и нажимаем кнопку «CONTINUE».

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

7. Скопируйте ключ и перейдите с административной панели WordPress в Настройки -> Akismet .

8. Вставьте скопированный API-ключ и нажмите кнопку «Подключить» .

Готово! Теперь плагин Akismet настроен, и начнет защищать ваш сайт от спама. Заметьте, что API-ключ который вы получили можно использовать на всех ваших сайтах построенных на WordPress.

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

Здравствуйте, друзья! В этом уроке мы поговорим о том, как защитить свой сайт на WordPress от спама в комментариях. Проблема спама актуальна и достаточно болезненна для многих владельцев сайтов, но если ваш сайт построен на WordPress - проблему защиты от спама можно решить очень быстро, просто и навсегда. Установка и настройка плагина Akismet Защищать сайт от спама мы будем с помощью возможно лучшего плагина для защиты от спама - Akismet. Данный плагин используют миллионы людей, а его надежность проверена мной лично на этом сайте. Плагин для персонального использования полностью бесплатный! Из приятного можно отметить то, что данный плагин для защиты использует не раздражающие…

Обзор

Проголосуйте за урок

100

На одном из моих проектов, где доступна регистрация пользователей и постинг заметок от их имени, значительно увеличилось количества спама. И если с похожей проблемой для комментариев помогает справиться , то в данном случае пришлось искать другое решение. Раньше я удалял новых пользователей по одному через админку вордпресс (по 10-20штук в неделю это не проблема). Однако сейчас спам регистраций насчитывается больше сотни за пару дней. Тратить на это время каждый раз неохота, поэтому решил всерьез разобраться с негодниками. Пост состоит из двух частей — первая защита от спам регистраций, а вторая — удаление неактивных пользователей.

Защита от спам регистраций

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

  • Captcha Code — картинка с простыми цифрами (такие ломают чаще всего).
  • WP-reCAPTCHA — плагин относительно старый плюс для работы надо получить ключ.
  • Secure CAPTCHA — еще один древний модуль, что не обновлялся более 2х лет.
  • Captcha by BestWebSoft — математическая каптча.
  • SI CAPTCHA Anti-Spam — самый популярный модуль со множеством настроек.

Ничего плохого не могу сказать про последний вариант, просто мне хотелось настроить все максимально быстро и просто. В итоге выбрал Captcha by BestWebSoft, где пользователю нужно ввести недостающее число в уравнении.

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

После установки плагина Captcha by BestWebSoft нужно указать некоторые настройки каптчи.

Здесь определяете:

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

После установки настроек, сохраняете их.

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

Update 15.07.2015. К сожалению, плагин Captcha by BestWebSoft, а затем и SI CAPTCHA Anti-Spam не смогли защитить от спам регистраций на сайте. Поток ботов уменьшился, но в целом результат каптчи не удовлетворительный. Пришлось искать другое решение — . Данная каптча от Google действительно справилась со своей задачей, за несколько дней не было ни одного случая регистрации ботов. Рекомендую!

Удаление неактивных пользователей

  • найти пользователя по логину, который отображается для последней добавленной спам заметки;
  • кликнуть «Удалить» по соответствующему юзеру в результатах поиска;
  • отметить галочку «Удалить все посты» для данного пользователя и подтвердить удаление.

Как видите, тут нужно сделать далеко не один клик, плюс ждать загрузку той или иной страницы админки. Опять же, если спам регистраций у вас с 10-ток, то выполнить все эти действия не проблема, но если пользователей накопилось пару сотен/тысяч, нужно использовать массовое удаление.

Реализовать массовое удаление опытные веб-разработчики могут через инструмент phpMyAdmin непосредственно из базы данных . Правда, при этом изначально нужно будет удалить все спам посты, а потом уже избавляться от пользователей. К сожалению, не знаю останется ли при этом в базе данных мусор в виде записей связей между пользователям и постами. По идее не должно, или же подчистите его с помощью .

Для менее продвинутых пользователей и тех, кто не хочет связываться с базой данных, рекомендую использовать плагин Inactive User Deleter . Не смотря на то, что модуль давно не обновлялся, со своими обязанностями он справляется. Находил еще парочку других решений, но подавляющее их большинство ориентировано на массовую правку ролей пользователей, а не их удаление.

Что же касается Inactive User Deleter, то работать с ним достаточно просто. После установки заходите в раздел «Пользователи» пункт меню Inactive users.

Здесь есть несколько параметров выборки юзеров:

  • пользователи без одобренных комментариев;
  • имеющие спам комментарии;
  • не разместившие никаких записей на сайте;
  • созданные более чем Х дней назад;
  • уровень пользователей;

Для удобства есть также выбор сортировки результатов. Хорошо, что по каждому юзеру отображается вся статистика — число постов, комментариев. Для массового удаление просто отмечаете несколько (или всех сразу) пользователей. Единственное, чего не хватает — выборки пользователей по дате создания. То есть модуль Inactive users ориентирован в первую очередь на старые регистрации, которые спустя некоторое время так и не были активны. Вывести, скажем, всех юзеров за последние 2-3 дня не получится (только через phpMyAdmin и редактирование базы данных напрямую).

Напоследок пару слов о модуле Stop Spammers Spam Prevention , который достаточно часто упоминают при борьбе со спам регистрациями.

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