WordPress Support

Плагин "Clean Options" чистит от мусора базу данных блога.

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

Clean OptionsВ процессе настройки своего блога любой блогер пробует множество плагинов. Некоторые из них он оставляет, некоторые удаляет. И так до тех пор, пока не остановится на каком-то наборе плагинов, который его будет устраивать. Проблема тут в том, что почти все активированные плагины в блоге оставляют в базе данных мусор, связанный с их настройками. Когда плагин создает отдельную таблицу в базе данных, то ее достаточно легко удалить самому, но, к сожалению, большинство плагинов предпочитает мусорить в системной таблице wp_options, а разобраться в ней вручную достаточно проблематично. Уж не знаю почему, но лишь некоторые плагины дают возможность полной своей деинсталляции с удалением всех своих данных из базы. Авторы плагинов, видимо, думают, что их детище никогда не будет удалено из блога. Из-за этого рано или поздно ваша база данных оказывается захламлена мусором, а это нехорошо. Плагин Clean Options позволит вам очистить базу данных от всех неиспользуемых данных.

Скачиваем плагин с его домашней страницы и устанавливаем его:

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

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

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

Настроек, как таковых в плагине нет. После активации плагин создаст пункт меню "CleanOptions" в разделе "Инструменты". Причем в скобках будет указано число найденных опций. Разобраться в плагине достаточно просто, так как он переведен на русский язык. В русском переводе мусорные опции получили название "осиротелые опции", что в общем-то, недалеко от истины. На странице управления плагином вы увидите что-то похожее на:

Clean Options

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

Внимание! Прежде, чем начинать удаление мусорных данных сделайте на всякий случай бекап своей базы данных. Береженного, как говорится, Бог бережет. Используйте для этого хотя бы плагин WordPress Database Backup.

И так, проверили названия опций, выбрали среди них те, в которых вы уверены в том, что это мусор, теперь можно жать на кнопку "Просмотреть информацию о выбранных опциях". Это еще одна страховка от случайного удаления нужных опций. На следующей странице будет выведена информация, которая хранится в выбранных опциях. В некоторых случаях, там оказываются килобайты совершенно левого текста. Выбираем "Да, удалить ВСЕ эти опции из таблицы wp_options" и жмем на "Отправить".

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

В админке блога, в "Консоли", вы можете видеть различные новости о WordPress, они появляются в вашем блоге посредством обновления RSS ленты. Эти RSS новости также хранятся в вашей базе и самостоятельно ни одна из них не удаляется. Сразу удалить их плагин вам не даст, но после того, как их станет слишком много (в документации к плагину сказано о 500 записях), то у вас появится ссылка и на их очистку.

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

Кстати, на этом блоге плагин нашел всего 408 опций в таблице wp_options, из которых мусорными по мнению плагина оказались 168 опций, а по моему мнению 94 опции (Clean Options посчитал мусорными опции плагинов Bookmarkz и Yet Another Related Posts Plugin). Так что еще раз повторю – сделайте перед использованием плагина бекап базы данных и внимательно изучите опции, которые плагин предлагает вам удалить.

 

Автор плагина: Mittineague
Страница плагина: [ссылка]
Рассматриваемая версия: 1.3.0 от 16.01.2010
Совместимость с версией WordPress: 2.3 и выше.

Обманываем спам-скрипты и избавляемся от спама в комментариях.

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

Сегодня меня окончательно достал автоматический спам в комментариях: Akismet пропустил десяток спамных комментариев от всяческих "Гинекологов" с сообщениями типа "Очень было интересно читать, спасибо!" и "Даже моей маме понравилось :) )". Плюс несколько десятков спамных комментариев он поймал, но ежедневно просматривать попавшие в спам комментарии на предмет попадания туда по ошибке нормального комментария меня утомило. Варианты с премодерацией и обязательной регистрацией в блоге я не рассматриваю – премодерация не отменит необходимости просмотра спама, а обязательная регистрация в блоге автоматом снизит активность комментирующих раз в 10 минимум. Установка капчи меня также не устраивает: во-первых, она тоже снижает активность читателей блога, ну и во-вторых, что будет с вашим комментарием, если вы ошиблись в вводе капчи? Правильно, текст уже написанного комментария исчезнет. Такой фигней страдают практически все анти-спам плагины. У того же Макса неправильно введенная капча приводит к потере комментария, если вы не удосужились перед отправкой его скопировать.

Я пересмотрел сегодня пару десятков анти-спам плагинов – "человеческих" среди них нет. Такие плагины по большей части вредят именно нормальным посетителям блога, но никак не спамерам, которым потеря комментария в одном из десятков тысяч блогов никак не страшна. Единственную "человеческую" капчу я увидел в блоге zarabotai.lv: никакого гиммора с вводом символов, кликнул на нужной картинке и готово. И уж точно никаких ошибок при вводе. К сожалению, там капча самописная и не под WordPress. Впрочем, будь такая капча доступной всем спамеры ее  моментально бы научились пробивать. Но неважно. Поговорим лучше о том, каким образом остановить потоки спама в комментариях.

Первое: весь классический спам с 2-мя или больше ссылками в сообщении, а также весь зарубежный спам ловится тем же Akismet‘ом на ура и о нем беспокоиться не стоит.

Второе: грамотный ручной СМО-спам отловить можно только зайдя на сайт комментирующего и не иначе. Многие блогеры оставляют такие спамные комментарии у себя в блоге, если сообщение действительно оставлено по теме и состоит не из 2-х слов. Ловить автоматом такие комментарии невозможно в принципе.

Третье: автоматический СМО-спам, получивший просто невероятный размах в последнее время. Характеризуется нейтральными комментариями, которые можно разместить почти в любом блоге. Ловится Akismet‘ом, но только в конечной стадии распространения. То есть когда такой комментарий уже пометят как спам несколько сотен блогеров.

Как видно, наибольшие проблемы доставляет автоматический СМО-спам и именно с ним мы будем бороться. Чем он характеризуется кроме как нейтральными текстами комментариев? Тем, что он заточен под блоги на WordPress. Именно WordPress предоставляет возможность оставить ссылку на сайт комментирующего плюс это самый популярный блог-движок среди автономных блогов. Заполнить скриптом форму комментирования в блоге под управлением WordPress легче простого – названия ее полей не нужно даже распознавать, они заранее известны и любой школьник может за полчаса накатать автоматическую постилку в комментарии. Так что самый простой способ отсечь спам-скрипты это обмануть их, подсунув левое поле для заполнения, а в действительности, использовав другое поле, не со стандартным именем.

Идею подглядел тут, правда решил изменить используемое поле с email на comment. Дело в том, что использование одинаковых имен полей в блогах на WordPress имеет и свои плюсы: если вы где-то заполнили свое имя и имейл, то в другом блоге вам не надо полностью вводить их, достаточно лишь кликнуть на нужном поле и браузер покажет вам подсказку. Поле с комментарием такой возможностью естественно не обладает и именно поэтому его и стоит использовать для обмана спам-скриптов.

Сначала открываем файл comments.php вашего шаблона и ищем там что-то похожее на:

<textarea name="comment" id="comment" cols="61" rows="13" class="textarea"></textarea>

Меняем эту строчку на:

<div class="smo"><textarea name="comment" id="comment" cols="61" rows="13" class="textarea"></textarea></div>
<textarea name="real-comment" id="real-comment" cols="61" rows="13" class="textarea"></textarea>

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

.smo {position: absolute; left: -1000px;}

Что мы сделали? Поле по умолчанию для текста комментария мы сделали невидимым (сдвинув его на 1000 пикселей вне экрана) и добавили новое точно такое же поле, но с именем real-comment. Почему бы просто не сделать поле hidden? Потому, что hidden очень легко можно распознать, а вот до анализа css-стилей спам-скрипты пока что не доросли. Конечно, спам-скриптам не составит труда заполнить оба поля, поэтому необходимо еще исправить и файл движка wp-comments-post.php – найдите там строки:

35
36
37
38
$comment_author       = trim(strip_tags($_POST['author']));
$comment_author_email = trim($_POST['email']);
$comment_author_url   = trim($_POST['url']);
$comment_content      = trim($_POST['comment']);

И замените их на:

35
36
37
38
39
40
$spam_test_field = trim($_POST['comment']);
if(!empty($spam_test_field)) wp_die('Спаму нет!');
$comment_author       = trim(strip_tags($_POST['author']));
$comment_author_email = trim($_POST['email']);
$comment_author_url   = trim($_POST['url']);
$comment_content      = trim($_POST['real-comment']);

Собственно, больше ничего делать и не надо. Теперь, если спам-скрипт заполнит текстовое поле comment комментарий не будет добавлен. Для большей безопасности вам стоит поменять имя css-класса smo и имя настоящего текстового поля для текста комментария real-comment. Если вы используете какие-нибудь сторонние плагины для комментариев вроде Filosofo Comments Preview, то вам необходимо и там сменить comment на real-comment. Проверить работу хака очень легко: просто удалите из style.css строчку с .smo, обновите страницу комментариев в вашем блоге и попробуйте отправить комментарий с заполненным первым текстовым полем – если вы все сделали правильно, то вы не сможете разместить комментарий.

Забавно, но такой маленький хак уменьшает количество автоматического спама на 99% и ни малейшим образом не мешает настоящим комментаторам оставлять свои сообщения. Надеюсь, этот хак вам поможет в борьбе со спамом. Если есть какие-нибудь вопросы – оставляйте комментарии, буду рад ответить :)

PS. Прошел почти год после установки хака – ни единого автоматического спам-комментария не прошло. Конечно, это не помешало особо умным товарищам вручную нафлудить пару сотен спамных комментариев. Но что такое несколько сотен мусорных комментариев за год работы блога? Абсолютно ничего. Если бы не хак весь блог был бы завален тысячами и тысячами спамными комментариями, так что пользуйтесь и радуйтесь отсутствию спама.

Плагин WordPress "Article Templates" добавляет шаблоны записей.

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

Плагин Article Templates позволяет вам использовать при написании записей в блоге заранее определенные шаблоны. Речь не об оформлении страниц, речь именно о тексте самих статей. Если статьи в вашем блоге имеют повторяющуюся структуру, то, несомненно, использование шаблонов будет оправданным. У меня в этом блоге по сути есть только два типа записей: "статья о плагине" и "как сделать". В статьях о плагинах у меня куча повторяющегося текста от процедуры установки до ссылок на страницы плагина и вынесение всего этого текста в шаблон может здорово сэкономить время при написании статьи.

Скачиваем плагин с его домашней страницы и устанавливаем его:

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

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

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

Настроек у плагина нет, сами шаблоны вы можете добавить в "ИнструментахManage Templates". Хотя вру, одна настройка у плагина есть – вы можете определить шаблон по умолчанию, поставив галку на "Default Template".

Пользоваться шаблонами тоже проще простого: или создаем запись прямо в "ИнструментахManage Templates" при клике на "Новая запись" в колонке с нужным шаблоном или создаем запись как обычно через "ЗаписиДобавить новую", а шаблон выбираем в настройках записи в "Article Template". Причем плагин не даст вам вставить шаблон, если вы уже что-то написали в записи.

 

Автор плагина: binnyva
Страница плагина: [ссылка]
Рассматриваемая версия: 1.04.1 от 15.07.2009
Совместимость с версией WordPress: 2.5 и выше.