Как ускорить Word-Press

Если вы, как и большинство блоггеров, используете WordPress, то данная статья как раз для вас: она поможет вам ускорить работу вашего блога или сайта, работающего на этой замечательной CMS. Быстрая работа блога — это, во-первых, более хорошее ранжирование (скорость загрузки сайта/страницы влияет на его позицию), а, во-вторых, менее раздраженные читатели, ведь теперь им не придется долго томиться в ожидании загрузки страницы вашего блога.

1.Выбор хостинга

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

  • Канал/железо
  • Версия установленного PHP (4.1 или выше), MySQL (4.1.2 или выше). Сами вордпрессовцы рекомендуют Apache и Nginx (что не удивительно сам сайт ВП использует Nginx), но любой сервер, который поддерживает PHP и MySQL тоже вполне сгодится.
  • Расположение дата-центра — расстояние от сервера до региона основной аудитории тоже важно.

2. Кэширование

Если в файл wp-config.php file вставить следующий код:

1. // Enable the WordPress Object Cache:
2. define(ENABLE_CACHE, true);

вы уменьшите количество запросов к серверу, что очень поможет при большом наплыве посетителей.
Также не лишними будут и плагины:
WP Super Cache — кэширует посты, чем ускоряет процесс обработки повторных запросов на сервер.
W3 Total Cache. — разработчики данного плагина обещают увеличение скорости сайта в 10 раз.
Db-cache — еще один плагин для кэширования базы.

3. Удаляем лишние плагины/тэги

Просмотрите список установленных плагинов и удалите неиспользуемые/неактивные, данное действие освободит сервер от лишней нагрузки, т.к. при загрузке CMS загружаются все плагины, также нужно следить и за обновлениями данных плагинов, потому что устаревшие работают медленно и могут несколько тормозить всю систему.
Любая тема под ВП включает в себя кучу тэгов, которые дополнительно грузят сервер, и если сервер недостаточно мощный, то даже эта не слишком большая нагрузка может его опрокинуть. Какие тэги нужно удалить:
в header.php

<?php language_attributes(); ?>

<meta name=”generator” content=”WordPress <?php bloginfo(’version’); ?>” /> <!– leave this for stats –>

<?php bloginfo(’name’); ?>

<?php bloginfo(’html_type’); ?>

<?php bloginfo(’stylesheet_url’); ?>

в footer.php

<!– <?php echo get_num_queries(); ?> queries. <?php timer_stop(1); ?> seconds. –>

<?php bloginfo(’comments_rss2_url’); ?>

4. Выбор правильной темы

Слишком тяжелые и «яркие» темы могут повлиять на работу вашего сервера (чем больше изображений, тем больше время загрузки сайта), поэтому лучше выбирать стильные, но простые темы, тем более, что минимализм нынче в моде. Темы на основе фреймов, таблицами и статичным html достаточно медленные, но и не берите за основу подходящей темы лишь «простоту» дизайна — проверяйте скорость загрузки данной темы различным софтом и сайтами предназначенными для этого, к примеру,  YSlow и Pingdom’s Page Test.

5. Оптимизация изображений

Большие изображения замедляют скорость загрузки сайта, поэтому прежде чем сохранить картинку ее на сервере, нужно ее сжать (кстати, не нужно думать, что размер самой картинки зависит от размера файла изображения). Также нужно учитывать и формат: изображения с небольшим количеством цветов лучше сохранять в форматах gif или png, а картинки/фотографии с полным спектром цветов лучше сохранять в jpg. Сжать изображение можно как в редакторах по типу фотошопа, так и с использованием специальных сервисов как этот (при использовании данного сервиса нужно указать опцию «оптимизировать файл»). Старые изображения на блоге можно легко пережать: заходим на сервер в папку wp-content/uploads и качаем все изображения с большим размером и сжимаем их через фотошоп или др. редакторы.
Конечно же, не стоит уж слишком увлекаться сжатием — иначе может пострадать качество изображения.

6. Оптимизация кода

CSS
Практически все темы (99%) для ВП используют CSS файлы, но они зачастую могут быть не слишком оптимизированными, что может замедлить наш сайт: styleneat — отличная утилита, которая поможет оптимизировать cssфайлы, работает она следующим образом: вы загружаете свой css файл, она его оптимизирует, после чего старый файл на сервере нужно заменить новым.
JavaScript
Сжатие джавы достаточно простой процесс, если пользовать правильные сервисы, к примеру, этотэтот или этот. Не стоит и особо увлекаться джава скриптами, т.к. их обилие может существенно загрузить сайт.
Также для более быстрой работы сайта можно уменьшить количество php-запросов: большинство сайтов сейчас являются динамическими (сайт генерируется динамически: каждый раз, когда пользователь загружает страницу, каждая из которых теперь не пишется отдельно) и для создания таких сайтов как раз и используют php — пхп позволяет пользователю чувствовать себя более удобно на сайте, но каждый раз, когда пользователь использует какой-либо php элемент,  на сервер отправляется запрос, на который тратится определенное время, а если таких запросов много — сервер начинает тормозить (если ему не хватает мощностей, конечно). Поэтому при возможности заменяйте такие php запросы на простой html — тогда браузер будет просто читать html, а не «спрашивать» сервер, что ему отображать. Например:
<?php bloginfo(name); ?><?php bloginfo(description); ?>

можно заменить на
<title>Moi Blog — Blog o tom-to</title>
W3C Validator — проверит код на соответствие общепринятым стандартам и исправит ошибки (процесс может занять достаточно много времени). Ошибки в коде увеличивают время загрузки страницы (в особенности, ссылки на изображения, которых не существует). Firebug — тулз, который поможет увидеть ошибки в коде и исправить их.

7. Оптимизация базы данных

Оптимизировать базу данных можно через интерфейс администратора phpMyAdmin (или др.), которым можно «исправить» (repair) и «оптимизировать» (optimize) базу данных, просканировать ее на предмет устаревших таблиц, которые не были удалены, после сноса плагинов; а также для оптимизации б.д. можно использовать различные плагины:
Optimize-db — неплохой плагин для оптимизации базы ВП.
Wp-db-optimizer — автоматическая оптимизация базы.
WP-Optimize — плагин с достаточно большим количеством функций для оптимизации WP.
Clean Options — поможет слегка подчистить базу данных.
DB Cache — сохраняет в кэш результаты запросов к базе.
И помните, что всегда нужно делать бекап старой базы ВП, чтобы в случае чего можно было откатить ее назад.

8. Блокировка спаммеров

На скорость загрузки блога также влияет и спам — постоянные пинги от спаммерских сайтов, могут опрокинуть ваш блог, чтобы этого избежать такие сайты можно поместить в «черный список»: копируем данный список (можно погуглить и добавить еще) и вставляем его в .htaccess, что заблокирует доступ с данных ресурсов на ваш сайт. Это, конечно, не панацея, но и несколько уменьшить негативный эффект от спамма поможет.

Буду благодарен за дополнительные советы.