WordPress Support

Плагин "Page Links To" настраивает редиректы со страниц или записей.

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

Page Links To

Page Links To позволяет задать для страницы или записи произвольный урл. И пусть вас не вводит в заблуждение описание, знакомое по различным плагинам произвольной навигации вроде Navigation Manager – назначение и функциональность плагина Page Links To состоит совсем в другом. Самый простой пример: с помощью этого плагина можно безбоязненно настроить переадресацию с одной статьи на другую. Причем переадресация будет выполнена и для посетителей и для поисковых систем, что важно.  Скажем, решили вы перенести статью из одного своего блога в другой – так вот в этом случае плагин будет незаменим. Хочу сразу заметить – плагин не предназначен для правильной смены постоянной ссылки у статьи, хотя и таким образом его можно использовать, если заранее скопировать статью в новую запись с нужной постоянной ссылкой. Также с помощью этого плагина можно решить вопрос вставки в навигационную структуру блога ссылки на внешний сайт. Причем, в отличие от обычных навигационных плагинов, для этого вам не надо вносить никаких изменений в код шаблона вашего блога.

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

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

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

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

Теперь у вас при редактировании страницы или записи появился новый административный виджет (как показано на скриншоте), в котором вы можете указать урл перенаправления и тип перенаправления (301 – перемещен навсегда, 302 – перемещен временно).

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

Как я уже упомянул, данный плагин можно использовать для "правильного" исправления постоянной ссылки записи. Правильно это когда старый урл записи открывает запись с новым урлом через 301 редирект. Создайте копию записи с нужной постоянной ссылкой и настройте в старой записи перенаправление на эту новую запись. Немного кривовато, но все же лучше, чем ручная настройка редиректов в файле .htaccess.

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

 

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

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