Здравствуйте, уважаемые читатели! Сегодня у нас очень важная и интересная статья из разряда «намотай на ус». Как ускорить WordPress, чтобы страницы блога загружались в 3 раза быстрее, а нагрузка на хостинг снизилась в 2 раза!

как ускорить wordpress

На моем блоге уже есть статья, посвященная оптимизации WordPress, но практика показала, что перечисленных в ней мер недостаточно. То время, что я мучился с хостингом Hostenko, не было потрачено зря. Оно дало повод вновь взяться за оптимизацию работы моего блога. Результатом кропотливой работы стало ускорение WordPress в 3 раза и снижение нагрузки на хостинг примерно 2 раза. Очень неплохие результаты, учитывая, что мой WP был не в таком уж запущенном состоянии. Я бы даже сказал — пациент был скорее жив, чем мертв. :) Эх, нет предела совершенству!

Я бы выделил 10 самых важных шагов на пути ускорения WordPress. Рассмотрим подробно каждый из них.

1. Кэширование страниц.

Пожалуй, это самый важный пункт, без которого никак не обойтись. Принцип работы WP (да и большинства других CMS ) таков, что страницы блога не лежат на сервере в статическом html формате, а генерируются на основе php кода при переходе на нее пользователя. Для каждого пользователя, каждая страница генерируется вновь и вновь! Это влечет неоправданный расход ресурсов сервера и значительно увеличивает время загрузки страниц.

Принцип кэширования прост — для страницы создается статическая html версия, которая отдается всем перешедшим на нее пользователям и существует в течении определенного времени (время жизни кэша), по истечении которого обновляется. Физически эта страница представляет собой файл в формате html, который лежит на сервере в отдельном каталоге.

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

  • Hyper Cache — пожалуй, самый популярный плагин кэширования;
  • Super Cache — использую в настоящий момент.

Выбирайте любой из них. По качеству и функционалу они схожи.

2. Оптимизация скриптов и стилей плагинов wp.

Каждый новый плагин WordPress добавляет свои файлы со скриптами и стиля, при формировании страницы все они должны подключится. Это занимает определенное время. Чтобы его сэкономить, все дополнительные файлы стилей (и скриптов) следует объединить в один файл, который в последствии и будет подключаться. Не волнуйтесь, я не заставлю вас делать это в ручную (хотя можно было, просто ради прикола ;) ), ведь есть замечательный плагин Better WordPress Minify.

3. Уменьшение объема файла style.css.

Есть замечательный сервис, который позволяет оптимизировать и сжать файл стилей style.css, за счет удаления лишних пробелов и отступов. Конечно, впоследствии с таким файлом работать крайне не удобно, поэтому настоятельно советую держать на компьютере копию в нормальном, доступном для человеческого восприятия виде.

Оптимизация стилей

Кроме этого, если вы постоянно переделываете свою тему (как я ;) ), то со временем в файле style.css накапливаются незадействованные нигде стили. От таких «мертвых» элементов следует своевременно избавляться. Для их отслеживания я пользуюсь бесплатным дополнением Dust Me Selectors для браузера FireFox. Скачать его можно здесь.

4. Оптимизация языкового пакета.

В деле ускорения WordPress мелочей нет, нужно сжать и уменьшить все, что только возможно, даже файл с русским языком. Долго описывать этот процесс не буду, ибо сводится все к банальному использованию плагина WPLANG Lite. Пользуйтесь на здоровье!

5. Очистка шаблона header.php от лишнего php кода.

Темы WordPress отличаются универсальностью, ведь они должны работать на любом блоге. Этого добиваются с помощью использования php кода и запросов к базе данных в тех местах, где вполне можно обойтись обычным html кодом (кодировка страницы, адрес RSS ленты новостей и так далее) . Чтобы снизить нагрузку на сервер, достаточно найти такой php код и заметь его на соответствующий html код.

Напрашивается вопрос — как это сделать? А вот сейчас увидите. Открываем на редактирование файл header.php вашей темы WP и находим в нем между тегами head строчку, содержащую php код. К примеру, такую:

<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />

Данный код задает кодировку. Теперь нам следует узнать соответствующий ему html код. Подсмотреть его можно в своем браузере — открываем главную страниц блога, открываем ее исходный код (нажимаем сочетание клавиш ctrl + U или через правую клавишу) и находим нужную строчку кода. По свой структуре она похожа на строчку из шаблона header.php, только вместо php кода подставлено какое-то значение, взятое из базы данных.

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

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

Если в теме присутствует мета тег Generator, то в целях повышения безопасности WordPress его вовсе необходимо удалить.

<meta name="generator" content="WordPress <?php bloginfo ('version'); ?>" />

Еще следует обратить внимание на подключаемые файлы. К примеру, в моей теме раньше был слайдер. Для его реализации подключалась библиотека на языке JavaScript — mootools.svn.js. От слайдера я давно избавился, а вот отключить и удалить библиотеку забыл.

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

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

Только настоятельно рекомендую перед любыми работами с базой данных, создавать ее резервную копию (плагин BackUpWordpress). Если забыли забыли снять резервную копию БД и что-то пошло не так, не пугайтесь! Если вы пользуетесь хорошим хостингом, то там всегда есть свежий бэкап. Просто откатитесь на него, и дело в izgt.

7. Тестирование скорости загрузки плагинов, удаление самых тяжелых.

Плагин P3 (Plugin Performance Profiler) позволяем протестировать установленные в WordPress плагины и выявить среди них наиболее тяжелые. От таких плагинов следует избавляться, реализуя их функционал с помощью хаков.

К примеру, самым тяжелым у меня оказался плагин Special Text Boxes. Очень неожиданно. С учетом того, что я пользуюсь только одним стилем выделения специального текста, я быстро заменил его небольшим хаком.

8. Оптимизация картинок.

Следите за размером и весом загружаемых в WordPress картинок.

Оптимизация картинок

Загружайте изображения только тех размеров, которые и будут отображаться на блоге. В идеале все картинки стоит сжимать с помощью сервиса punypng, но на практике на это времени просто не хватает. Так что воспользуйтесь им хотя бы для обработки картинок, которые используются на всех страницах блога — в шапке, сайдбаре, подвале и так далее.

9. Выбор правильного хостинга.

Скорость работы WordPress и блога напрямую зависит от качества хостинга. Если хостинг паршивый, то как бы вы не ускоряли WordPress, выше головы не прыгнешь!

Из тех хостингов, с которыми мне проходилось работать, лучшие результаты показал Beget. Собственно поэтому я его и использую. Более подробно о нем можно почитать в статье — хостинг для wordpress.

10. Внешние факторы.

С этим злом я столкнулся недавно. Суть его заключается в большом числе запросов с одного или разных IP адресов. Основная цель — повысить нагрузку на сервер для торможения работы блога или его полного падения (DDos атака).

Долгое время об этой проблеме я даже не подозревал, только блог начал тормозить и время от времени выдавать ошибки. Перейдя на хостинг Hostenko, блог постоянно отключали из-за высокой нагрузки на сервер. Служба технической поддержки никакой помощи не оказывала, просто предлагала самостоятельно оптимизировать WP или приобрести VPS за немалые деньги.

В итоге я перенес свой блог на хостинг Beget, где мне помогли выявит и устранить данную проблему, за что я им очень благодарен. Ребята действительно работают очень качественно и быстро. Решение заключалось в бане самых активных IP адресов и фильтрации запросов к некоторым файлам WP.

Снижение нагрузки на хостинг

Как видите, нагрузка на сервер сократилась почти в 2 раза, а блог стал заметно быстрее работать.

Вот скажите, смогли бы вы решить подобную проблему самостоятельно без посторонней профессиональной помощи? Лично я нет. Так что последуйте моему примеру — выбирайте действительно качественный хостинг, чтобы его техническая поддержка была способна решить проблемы любой сложности, а не оставляла бы вас наедине с ними.

В процессе работы над ускорением WordPress, блог нужно постоянно тестировать на предмет выявления проблемных мест. Пожалуй, самый интересный и полезный бесплатный сервис онлайн тестирования загрузки блога tools.pingdom.com. Именно благодаря ему я отследил подключение ненужной библиотеки JavaScript и выявил пару неоправданно тяжелых картинок.

А вот и результаты согласно сервису WebWait, которые показал мой блог в итоге:

Скорость загрузки блога

Просто шикарные! Искренне желаю, чтобы и ваш блог работал так же быстро! :) Поверьте, этого добиться не так уж и сложно.

На этом на сегодня все. Если знаете другие способы ускорения WordPress, не стесняйтесь — оставляйте свои комментарии. Мои читатели и я будем вам очень признательны.

Спасибо, друзья, что дочитали мою статью до конца. Надеюсь, она действительно помогла ускорить WordPress и работу вашего блога. Берегите себя!

Лучший способ выразить благодарность автору - поделиться с друзьями!

Узнавайте о появлении нового материала первым! Подпишитесь на обновления по email:

Следите за обновлениями в Twitter и RSS.