Google Website Optimizer

Google Website Optimizer — , интегрирующий одноимённый сервис Google с . Далее »

Автор: , опубликовано в: Плагины WordPress, комментариев: 8
20
Май
2009

Борьба с плагином Time spent on blog жёсткими методами

Вчера пришлось очень рано встать из-за SMS от монитора, наблюдающего за сервером: Apache лёг от DDoS-атаки. Как оказалось, DDoS был спровоцирован плагином (http://iron.randombase.com/2008/05/31/wordpress-widget-time-spent-on-blog/, битая ссылка). Честно говоря, я никогда не понимал смысла в таких плагинах, тем более на очень посещаемых сайтах.

определяет, сколько времени пробыл пользователь на сайте (с двухсекундной точностью). Такая точность создаёт большие проблемы в тех случаях, когда средний посетитель открывает сразу три-пять страниц. Точность гарантируется конструкцией setTimeout("updateTime()", 2000), где updateTime() — функция, отправляющая асинхронный запрос на сервер.

Обновление текущей информации осуществляется в два запроса: SELECT для получения старых данных и INSERT/UPDATE для их обновления. Что характерно, в таблице нет никаких индексов, поэтому если у сайта обширная аудитория, а на сайте не настроена репликация, то MySQL очень быстро становится слабым звеном (что ни говори, а MyISAM не сильно хорошо работает с большим количеством параллельных записей). А IP-адрес посетителя (по нему делается выборка/обновление) хранится в базе строкой, что тоже далеко от идеала (экономнее хранить его числом).

Несколько сотен посетителей, открывшие по нескольку страниц, умудрились положить сервер. Далее »

Автор: , опубликовано в: Linux, комментариев: 9
19
Май
2009

Плагин Redirect от Nick Berlette

Сегодня по долгу работы пришлось столкнуться с плагином Redirect от Nick Berlette. выполняет перенаправление на URL, заданный в Произвольных полях записи или страницы. Сам по себе простой — кода всего 10 строк. Я бы на него даже не обратил внимание, если бы CLI-скрипт не вернул фатальную ошибку. Далее »

Автор: , опубликовано в: Плагины WordPress, комментариев: 4
15
Май
2009

nginx Compatibility: делаем WordPress дружелюбнее к nginx

Переведя несколько сайтов с Apache на , уже который раз встречаю подводные камни. Один из них — нежелание понимать код редиректа, другая — постоянные попытки использовать PATHINFO-пермалинки вместо «нормальных» (pretty permalinks).

Неудобно каждый раз лезть в код WordPress, чтобы поправить очередную несовместимость, поэтому я написал небольшой . Далее »

Автор: , опубликовано в: nginx, Плагины WordPress, комментариев: 7
14
Апр
2009

All in One SEO Pack 1.4.6.15: пустой экран при неверном запросе

Вчера вечером нашёл, а сегодня утром окончательно разобрался с одной очень интересной ошибкой плагина . проявляется в версии 1.4.6.15, но, возможно, более ранние версии тоже ей подвержены. Для проявления ошибки необходима определённая структура пермалинков: я столкнулся с ошибкой на такой структуре: /%category%/%postname%/. Тем не менее, структура — условие необходимое, но не достаточное: я не на всех сайтах смог воспроизвести ошибку. Возможно, причиной этому являются сторонние темы и/или плагины. Тем не менее, в причинах её возникновения я разобрался.

Проявляется ошибка следующим образом: при переходе на сайт по неверной ссылке (например, http://example.com/wpadmin) отображается пустая страница, а в логе ошибок присутствует примерно такое сообщение:

[-]
View Code Text
PHP Catchable fatal error:  Object of class WP_Error could not be converted to string in /wp-content/plugins/all-in-one-seo-pack/all_in_one_seo_pack.php on line 950

Далее »

Автор: , опубликовано в: Патчи, комментариев: 14
18
Дек
2008

Deferred RSS: отложенная публикация RSS-фидов

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

Реализация двух трёх таких способов представлена в данном плагине. Далее »

Автор: , опубликовано в: Плагины WordPress, комментариев: 110
5
Дек
2008

WP File Cache 1.0

Появилась новая версия плагина WP File Cache.

В данной версии у плагина появился интерфейс для администратора и, как следствие, возможность «тонкой настройки».

Функциональность плагина:

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

Особенности плагина:

  • возможность отключения кэширования (в том числе и встроенного в WordPress);
  • возможность отключения межсессионного кэширования;
  • возможность задания групп, не подлежащих межсессионному кэшированию (полезно только разработчикам, которые знают, о чём идёт речь);
  • хранит свои настройки непосредственно в коде (в файле wp-content/object-cache.). Это связано с проблемой курицы и яйца, а также с архитектурными особенностями WordPress.

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

Замечания по установке: после активации плагин для хранения кэша будет использовать каталог wp-content/plugins/file-cache/cache. Поэтому перед активацией каталог должен быть доступен на запись. Каталог для хранения кэша можно изменить в настройках (для увеличения производительности имеет смысл размещать кэш на RAM-диске); каталог также должен быть доступен на запись. Плагину при активации/сохранении настроек должен быть доступен на запись каталог wp-content: в него копируется файл object-cache.php. После того, как плагин активирован и сконфигурирован, права на запись можно убрать.

По производительности плагин бьет как «голый» WordPress 2.7rc1, так и WordPress, «нагруженный» плагинами. Причем выигрыш в производительности становится всё более заметным при увеличении нагрузки на сайт (когда обмен данными с MySQL становится всё более интенсивным).

Плагин скоро появится на wordpress.org (да, у меня наконец-то дошли руки), и его можно будет скачивать прямо оттуда :-) Как следствие, у плагина появилась домашняя страница.

Скачать последнюю версию плагина WP File Cache.

Большое спасибо Максиму Покровскому за тестирование плагина под Windows.

Свежая версия плагина, а также вопросы/комментарии находятся на странице WP File Cache: долговременное кэширование в WordPress.

Автор: , опубликовано в: Плагины WordPress, комментариев: 24
2
Дек
2008

Simple Tags и автоматические ссылки меток на русском языке

Сегодня у Lecacus’а на сайте наткнулся на упоминание одной нерешённой проблемы:

У меня не работают автоматические ссылки меток в содержимом записи для меток на русском языке. Т.е. если есть метка «», то слово «» заменяется на ссылку http://myblog.net/tag/wordpress/. А вот если есть метка «спорт», то слово «спорт» ссылкой не заменяется. Подскажите как сделать так, чтобы работал и с русскими метками.

А так как сегодня мне уже пришлось иметь дело с , я решил разобраться, в чём же дело и исправить досадный баг. Далее »

Автор: , опубликовано в: Патчи, комментариев: 17
22
Ноя
2008

WordPress 2.7 и Simple Tags

Simple Tags — это для , предназначенный для управления тэгами (или, как их еще называют, метками). Достоинств у плагина очень много (полный список — на официальной странице плагина), работает просто на «ура».

Но, как обычно, в бочке мёда есть ложка дёгтя: плагин отказывается работать в WordPress 2.7. Причём довольно-таки по-глупому: номера версий, с которыми плагин хочет работать, жёстко зашиты в коде. Если в список добавить 2.7, плагин будет работать. Далее »

Автор: , опубликовано в: Патчи, комментариев: 3
22
Ноя
2008

HitsLink для WordPress

HitsLink — это платный сервис стаистики, который достаточно хорош, чтобы быть альтернативой Google Analytics. предоставляет 30-дневный пробный бесплатный период.

HitsLink является довольно-таки популярным сервисом в странах Запада (и лично мне он нравится больше, чем Clicky или Google Analytics). Далее »

Автор: , опубликовано в: Плагины WordPress, комментариев: нет
19
Ноя
2008