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

Статьи, посвященные WordPress и всему, что с ним связано

Дочерние рубрики:

WP Super Cache vs MaxSite Cache: часть 2

Вторая часть статьи WP Super Cache vs MaxSite Cache.

В предыдущей части я сравнивал поведение и на тестовом VDS (512 MiB RAM, 10 GB HD, Intel Xeon X3320 (1 ядро), 2.5 GHz), на котором ни операционная система, ни программное обеспечение не были специально настроены — бралась конфигурация «из коробки» и тестировалась. Одним словом, «VDS абсолютного чайника».

В этой части изменилась только конфигурация программного обеспечения: сервер настраивался на максимальную .

В частности:

  • отказ от в пользу и от mod_php5 в пользу php-fcgi (количество -процессов выбиралось таким образом, чтобы избежать использования файла подкачки);
  • смена ядра с linux-image-server на linux-image-virtual;
  • настройка MySQL: отказ от InnoDB (экономит примерно 100 МБ памяти), увеличение буфера ключей и т.п.;
  • установка и настройка xCache (я исходил из того, что далеко не все чувствуют себя комфортно при сборке программ из исходников, поэтому брал только готовое ПО);
  • настройка iptables для фильтрации пакетов.

Далее »

Автор: , опубликовано в: WordPress, комментариев: 2
13
Дек
2009

Опять сломали!!!

В очередной раз разработчики ломают совместимость… Хотя справедливости ради стоит отметить, что затронуты будут далеко не все плагины, а только те, которые полагаются на то, что функция wp_nonce_field() создаёт в форме поле с именем _wp_http_referer. Далее »

Автор: , опубликовано в: WordPress, комментариев: 1
9
Дек
2009

Безопасный логин в WordPress с использованием nginx

, начиная с версии 2.6, имеет улучшенную поддержку работы с .

У администратора есть две возможности:

  1. Использование HTTPS для работы в панели управления (wp-admin).
  2. Использование HTTPS только для входа в систему.

Первое достигается путём добавления строки

[-]
View Code PHP
define('FORCE_SSL_ADMIN', true);

в wp-config.php, второе — путём добавления строки

[-]
View Code PHP
define('FORCE_SSL_LOGIN', true);

Добавляем одну из этих двух строк в wp-config.php и проблема решена? Но в действительности всё не так, как на самом деле :-)
Далее »

Автор: , опубликовано в: nginx, WordPress, Безопасность, комментариев: 5
5
Дек
2009

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

Как оказалось,  — один из основных источников запросов к базе данных на блогах с большим количеством страниц (page). Всё дело в том, что в есть одна неотключаемая особенность: он пытается переписать все ссылки, которые выводятся через функцию 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(). Если в меню тридцать страниц, то в результате получим тридцать лишних запросов к базе данных. Умножаем на количество показов страниц (страниц в широком смысле, а не в терминах ) и получаем большую цифру. Далее »

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

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

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

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

Далее »

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

WP Super Cache vs MaxSite Cache: часть 1

После того, как MAX’у не понравился тест с участием MaxSite Cache, я решил несколько видоизменить методику тестирования.

На этот раз я тестировал только два кэша: и Lite. Далее »

Автор: , опубликовано в: WordPress, комментариев: 9
14
Ноя
2009

Перенаправление RSS в WordPress на FeedBurner для nginx

Хотя для перенаправления фидов на существует несколько плагинов, справиться с этой задачей можно и силами web-сервера. Рассмотрим на примере . Далее »

Автор: , опубликовано в: nginx, WordPress, комментариев: 5
13
Ноя
2009

WP Super Cache vs HyperCache vs W3 Total Cache vs MaxSite Cache

Для написано много кэширующих плагинов, предназначенных для борьбы со слабой производительностью сервера (либо кривыми руками администратора, который не в состоянии настроить PHP/MySQL). Простой пользователь зачастую задаётся вопросом: какой же из плагинов выбрать?

В данной статье я рассмотрю наиболее популярные плагины (, , и ), а затем расскажу о результатах жестокого теста, которому я подверг все эти плагины. Далее »

Автор: , опубликовано в: WordPress, комментариев: 53
6
Ноя
2009

Еще один патч для Post Templates

Три месяца назад я писал о плагине Post Templates и его несовместимости с WordPress 2.8. С тех пор автор плагина исправил ошибки (что характерно, исправление захватило только те ошибки, что и мой ), выпустил новую версию плагина и сменил лицензию плагина на коммерческую.

Тем не менее, последняя бесплатная версия (на момент написания статьи — 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»). Далее »

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

Использование серверного gettext в WordPress

Тема использования «родного» для PHP не нова, и неоднократно уже поднималась: на форуме, в блогах. Но все представленные решения оказались неудовлетворительными, так как они не поддерживают больше одного домена локализации.

Тем не менее, у меня получилось побороть этот недостаток — ценой изменений кода . Далее »

Автор: , опубликовано в: WordPress, комментариев: 4
26
Окт
2009