Статьи из рубрики «wordpress»
Статьи, посвященные WordPress и всему, что с ним связано
- Патчи (32)
- Плагины WordPress (32)
- Советы (4)
WP Super Cache vs MaxSite Cache: часть 2
Вторая часть статьи WP Super Cache vs MaxSite Cache.
В предыдущей части я сравнивал поведение MaxSite Cache и WP Super Cache на тестовом VDS (512 MiB RAM, 10 GB HD, Intel Xeon X3320 (1 ядро), 2.5 GHz), на котором ни операционная система, ни программное обеспечение не были специально настроены — бралась конфигурация «из коробки» и тестировалась. Одним словом, «VDS абсолютного чайника».
В этой части изменилась только конфигурация программного обеспечения: сервер настраивался на максимальную производительность.
В частности:
- отказ от Apache в пользу nginx и от
mod_php5в пользуphp-fcgi(количество FastCGI-процессов выбиралось таким образом, чтобы избежать использования файла подкачки); - смена ядра с
linux-image-serverнаlinux-image-virtual; - настройка MySQL: отказ от InnoDB (экономит примерно 100 МБ памяти), увеличение буфера ключей и т.п.;
- установка и настройка xCache (я исходил из того, что далеко не все чувствуют себя комфортно при сборке программ из исходников, поэтому брал только готовое ПО);
- настройка
iptablesдля фильтрации пакетов.
Дек
2009
Опять сломали!!!
В очередной раз разработчики WordPress ломают совместимость… Хотя справедливости ради стоит отметить, что затронуты будут далеко не все плагины, а только те, которые полагаются на то, что функция wp_nonce_field() создаёт в форме поле с именем _wp_http_referer. Далее »
Дек
2009
Безопасный логин в WordPress с использованием nginx
WordPress, начиная с версии 2.6, имеет улучшенную поддержку работы с HTTPS.
У администратора есть две возможности:
- Использование HTTPS для работы в панели управления (
wp-admin). - Использование HTTPS только для входа в систему.
Первое достигается путём добавления строки
в wp-config.php, второе — путём добавления строки
Добавляем одну из этих двух строк в wp-config.php и проблема решена? Но в действительности всё не так, как на самом деле ![]()
Далее »
Дек
2009
Оптимизация All in One SEO Pack
Как оказалось, плагин All in One SEO Pack — один из основных источников запросов к базе данных на блогах с большим количеством страниц (page). Всё дело в том, что в All in One SEO Pack есть одна неотключаемая особенность: он пытается переписать все ссылки, которые выводятся через функцию wp_list_pages() (обычно эта функция вызывается из заголовка или подвала темы и используется для создания меню).
Вообще переписывание ссылок — это отдельная история, заслуживающая отдельной статьи. Если вкратце, то плагин берёт метаданные из поста и заменяет ими title и текст ссылки.
Что характерно, если поле Title Attribute пустое, то All in One SEO Pack вообще затрёт title ссылки.
Проблема с запросами возникает из-за того, что All in One SEO Pack читает метаданные для каждой страницы, присутствующей в результате, который вернула функция wp_list_pages(). Если в меню тридцать страниц, то в результате получим тридцать лишних запросов к базе данных. Умножаем на количество показов страниц (страниц в широком смысле, а не в терминах WordPress) и получаем большую цифру. Далее »
Ноя
2009
Еще одна оптимизация NextGen Gallery
Плагин NextGen Gallery имеет одну неприятную особенность: при каждом обращении к блогу выполняется обновление (UPDATE в терминах MySQL) таблицы wp_options. Хотя для «средних» блогов это не критично, для хорошо посещаемых ресурсов это плохо по ряду причин:
- Обновление таблицы
wp_optionsсбрасывает кэш запросов MySQL к таблицеwp_options, что приводит к необходимости реального выполнения запросов на выборку данных (с учётом огромного количества записей — благодаря всяким разным плагинам — это лишний трафик между PHP и MySQL). - Выполнение операции обновления таблицы при использовании MyISAM приводит к блокировке таблицы; при высокой посещаемости это приводит к вынужденному ожиданию освобождения таблицы и негативно сказывается на нагрузке и производительности.
- При использовании плагинов объектного кэширования каждый вызов
update_option()приводит к необходимости обновления и записи кэша; обновление файлового объектного кэша приводит к лишним обращениям к диску (которых на виртуальных серверах лучше избегать). - В конце концов, это лишний запрос, который не является необходимым.
Ноя
2009
WP Super Cache vs MaxSite Cache: часть 1
После того, как MAX’у не понравился тест с участием MaxSite Cache, я решил несколько видоизменить методику тестирования.
На этот раз я тестировал только два кэша: WP Super Cache и MaxSite Cache Lite. Далее »
Автор: Vladimir, опубликовано в: WordPress, комментариев: 9Ноя
2009
Перенаправление RSS в WordPress на FeedBurner для nginx
Хотя для перенаправления фидов WordPress на Feedburner существует несколько плагинов, справиться с этой задачей можно и силами web-сервера. Рассмотрим на примере nginx. Далее »
Автор: Vladimir, опубликовано в: nginx, WordPress, комментариев: 5Ноя
2009
WP Super Cache vs HyperCache vs W3 Total Cache vs MaxSite Cache
Для WordPress написано много кэширующих плагинов, предназначенных для борьбы со слабой производительностью сервера (либо кривыми руками администратора, который не в состоянии настроить PHP/MySQL). Простой пользователь зачастую задаётся вопросом: какой же из плагинов выбрать?
В данной статье я рассмотрю наиболее популярные плагины (WP Super Cache, Hyper Cache, W3 Total Cache и MaxSite Cache), а затем расскажу о результатах жестокого теста, которому я подверг все эти плагины. Далее »
Автор: Vladimir, опубликовано в: WordPress, комментариев: 53Ноя
2009
Еще один патч для Post Templates
Три месяца назад я писал о плагине Post Templates и его несовместимости с WordPress 2.8. С тех пор автор плагина исправил ошибки (что характерно, исправление захватило только те ошибки, что и мой патч), выпустил новую версию плагина и сменил лицензию плагина на коммерческую.
Тем не менее, последняя бесплатная версия Post Templates (на момент написания статьи — 3.4.1) содержит две ошибки, приводящие к облому вида «You do not have sufficient permissions to access this page». Ошибка проявляется при создании или редактировании шаблона страницы: на ней ссылки на Manage Templates и Create a page from this template ведут в никуда (а точнее — на страницу с ошибкой «You do not have sufficient permissions to access this page»). Далее »
Ноя
2009
Использование серверного gettext в WordPress
Тема использования «родного» для PHP gettext не нова, и неоднократно уже поднималась: на форуме, в блогах. Но все представленные решения оказались неудовлетворительными, так как они не поддерживают больше одного домена локализации.
Тем не менее, у меня получилось побороть этот недостаток — ценой изменений кода WordPress. Далее »
Автор: Vladimir, опубликовано в: WordPress, комментариев: 4Окт
2009

Меня зовут Владимир, я программист-фрилансер, специализирующийся на Web-программировании и програмировании под Linux.
По совместительству занимаюсь администрированием LAMP/LNMP-серверов и техническим переводом.

