Статьи из рубрики «Патчи» RSS

Патчи и исправления к WordPress и различным плагинам

Google XML Sitemaps: убираем версию и сигнатуру из карты сайта

После установки различных плагинов, отвечающих за псевдобезопасность сайта — например, путем сокрытия используемой версии , имён и версий установленных плагинов и т.п. — обычно выясняется, что они не могут справиться с : он как выдавал секретные данные о версии в карте сайта, так и продолжает их выдавать.

Очевидно, что это очень смущает людей, зацикленных на безопасности сайта.

К счастью, это лечится (во всех смыслах). Далее »

Автор: Wandering Soul, опубликовано в: Патчи, комментариев: нет
23
Авг
2010

Simple Tags 1.7.4.4: The New Bugs

Сегодня наконец-то появилось время обновить старые плагины; в их числе оказался и . Честно говоря, версия 1.7.4.4 меня разочаровала: автор сломал автоматические ссылки меток. Теперь они не работают даже для английского языка.

Резюмируя: в данной версии нужно исправить:

Далее »

Автор: Vladimir, опубликовано в: Патчи, комментариев: 5
23
Март
2010

Оптимизация All in One SEO Pack

Как оказалось, плагин All in One SEO Pack — один из основных источников запросов к базе данных на блогах с большим количеством страниц (page). Всё дело в том, что в All in One SEO Pack есть одна неотключаемая особенность: он пытается переписать все ссылки, которые выводятся через функцию wp_list_pages() (обычно эта функция вызывается из заголовка или подвала темы и используется для создания меню).

Вообще переписывание ссылок — это отдельная история, заслуживающая отдельной статьи. Если вкратце, то плагин берёт метаданные из поста и заменяет ими title и текст ссылки.

All in One SEO Pack: Edit Page

Что характерно, если поле Title Attribute пустое, то All in One SEO Pack вообще затрёт title ссылки.

Проблема с запросами возникает из-за того, что All in One SEO Pack читает метаданные для каждой страницы, присутствующей в результате, который вернула функция wp_list_pages(). Если в меню тридцать страниц, то в результате получим тридцать лишних запросов к базе данных. Умножаем на количество показов страниц (страниц в широком смысле, а не в терминах ) и получаем большую цифру. Далее »

Автор: Vladimir, опубликовано в: Патчи, комментариев: 7
25
Ноя
2009

Еще одна оптимизация NextGen Gallery

Плагин имеет одну неприятную особенность: при каждом обращении к блогу выполняется обновление (UPDATE в терминах MySQL) таблицы wp_options. Хотя для «средних» блогов это не критично, для хорошо посещаемых ресурсов это плохо по ряду причин:

  1. Обновление таблицы wp_options сбрасывает кэш запросов MySQL к таблице wp_options, что приводит к необходимости реального выполнения запросов на выборку данных (с учётом огромного количества записей — благодаря всяким разным плагинам — это лишний трафик между PHP и MySQL).
  2. Выполнение операции обновления таблицы при использовании MyISAM приводит к блокировке таблицы; при высокой посещаемости это приводит к вынужденному ожиданию освобождения таблицы и негативно сказывается на нагрузке и производительности.
  3. При использовании плагинов объектного кэширования каждый вызов update_option() приводит к необходимости обновления и записи кэша; обновление файлового объектного кэша приводит к лишним обращениям к диску (которых на виртуальных серверах лучше избегать).
  4. В конце концов, это лишний запрос, который не является необходимым.

Далее »

Автор: Vladimir, опубликовано в: Патчи, комментариев: 18
23
Ноя
2009

WordPress 2.8 и плагин Post Templates

 2.8 сказался не самым лучшим образом на плагине Post Templates от Vincent Pratt. На данный момент в плагине присутствуют несколько серьёзных ошибок, которую сводят его практическую пользу к нулю. Хуже всего, что автор, по-видимому, забросил плагин, и исправлять ошибки теперь некому.

Итак, имеются следующие ошибки:

  • Ошибка «You do not have sufficient permissions to access this page» при попытке создания нового шаблона или редактировании существующего (и еще в нескольких местах) — появилась в  2.8.1 в результате исправления этой уязвимости;
  • Fatal error: Maximum execution time of 30 seconds exceeded in /wp-includes/plugin.php on line 385 при заходе на страницу редактирования страниц (звучит-то как!);
  • невозможность сохранения шаблонов, так как отсутствует кнопка «Сохранить» (это если вы побороли первую ошибку, либо у вас  2.8).

Далее »

Автор: Vladimir, опубликовано в: Патчи, комментариев: 8
6
Авг
2009