Оптимизация блога WordPress для снижения нагрузки на сервер
Опубликовано: 29.03.2018

Здравствуйте дорогие читатели блога dmitriydenisov.com . В этой статье я хочу рассказать о способах оптимизации блога WordPress для снижения его нагрузки на сервер . Рано или поздно всем приходится задумываться над этой проблемой. Так как движок WordPress основан на PHP и MySQL, то каждый раз при каждом обращении к страницам сайта он создает определенную нагрузку на сервер. И чем больше этих обращений, тем больше нагрузка. Так как большинство из нас использует обычный хостинг, то всем приходится подчиняться определенным правилам, одним из которых есть ограничение нагрузки на сервер. Исходя из этого, есть смысл оптимизации своего блога WordPress.
Итак, для начала давайте разберем принцип работы движка на основе PHP+MySQL.
Когда пользователь обращается к какой-то странице сайта, на сервере (при помощи специального серверного языка или просто PHP) идет обращение к так называемой базе данных, которая содержит в себе всю информацию. Затем нужная информация вытаскивается и формируется статическая HTML страница.#2_4 Плагин Hyper Cache - ускоряем блог в разы и снижаем нагрузку на хостинг
Все довольно просто и очень эффективно. Это позволяет нам избежать огромного количества статических HTML страниц, что значительно уменьшает объем занимаемого сайтом места. Также существует множество других плюсов, но есть и свои минуса, одним из которых есть нагрузка на сервер. Есть множество способов ее уменьшения. Я расскажу о трех из них, которыми пользуюсь сам. Они показали неплохие результаты, поэтому есть смысл в их использовании.
Оптимизация WordPress при помощи данного метода состоит в том, что при обращении к страницам сайта, как обычно, генерируется статическая html страница. Разница лишь в том, что она сохраняется в КЭШе. При следующем обращении к этой странице вместо того, чтобы генерироваться заново, она просто берется из КЭШа. Это позволяет значительно уменьшить число запросов к базе данных и как следствие уменьшить нагрузку на сервер.
Итак, первым делом нам нужно скачать и установить плагин Hyper Cache. Для этого переходим на официальный сайт WordPress и скачиваем последнюю версию плагина. Далее копируем файлы в папку \wp-content\plugins\ и активируем плагин через административную панель. Для этого переходим в административную панель — плагины и активируем Hyper Cache.
После установки и активации плагина, переходим к его настройке. Точнее для начала нам нужно активировать кэширование в самом WordPress. Для этого нам придется редактировать файл wp-config.php и вставить в него строку
define( 'WP_CACHE', true );Лучше это делать ближе к концу файла, но не дальше строк
if ( !defined('ABSPATH') ) define('ABSPATH', dirname(__FILE__) . '/');Затем нам необходимо соединиться с сервером и выставить права доступа 777 для папки wp-content. В принципе можете поставить эти права на саму папку с КЭШем. После этого переходим в административную панель\параметры\Hyper Cache и активируем его. Затем переходим к самим настройкам кэширования.
Это были основные настройки плагина Hyper Cache. Для того, чтобы проверить его работоспособность, заходим на наш сайт как незарегистрированный пользователь и смотрим исходный код страницы. В конце должна присутствовать такая строка.
<!-- hyper cache: 4db91f2a2fe614e38d24d4a7aa5c73b0 -->Если она есть, то плагин работает нормально.
Снижение нагрузки на сервер за счет кэширования запросов к базе данных.
Для этого можно использовать специальный плагин DB Cache Reloaded . Он кэширует запросы и направляет их не в базу данных, а в кэш, доступ к которому более быстрый. За счет этого уменьшается нагрузка на сервер и увеличивается скорость генерации страниц, что, в свою очередь, увеличивает скорость загрузки самого блога.
Настройки этого плагина очень просты и приводиться не будут. Там все интуитивно понятно. Единственное, что могу предложить, это добавить в footer.php код, который будет выводить информацию о количестве запросов к базе и время загрузки страницы.
Для этого открываем на редактирование файл footer.php и где-то в конце добавляем код
<?php if (is_user_logged_in()) { ?> <?php echo get_num_queries(); ?> queries in <?php timer_stop(1); ?> seconds. <?php } ?>Приведенный выше вариант будет выводить информацию о количестве обращений к БД и времени загрузки страницы. Замечу, что информация будет видна только вам. То есть будет выводиться только тогда, когда вы авторизированны на сайте. Выглядеть это будет примерно так:
Естественно можно поиграть со стилями, перевести «queries in» и «seconds», но это по желанию. Лично меня и так все устраивает.
Оптимизация шаблона WordPress
Оптимизация шаблона или темы сводится до уменьшения количества обращений к базе данных. Так как шаблоны создаются универсальными, то разработчики стараются все автоматизировать. Все это делается для удобства пользователей. Но если вы уже разобрались с темой, которую будете использовать, то можно уже начинать ее оптимизировать. Весь смысл состоит в том, чтобы заменить стандартные PHP кода с обращениями к базе на статичные. Проделывать такое мы будем в двух файлах – шапке сайта и футере. Начнем с первого.
Оптимизация header.php
1. Находим код
<?php bloginfo('name'); ?>и меняем его на название своего блога. У меня это
dmitriydenisov.com — создание и продвижение сайтов, блогов, заработок на сайте.2. Код, отвечающий за вывод описания, заменяем на статический.
<?php bloginfo('description'); ?>3. Строка, отвечающая за вывод кодировки.
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />Поскольку мы знаем, что кодировка WordPress UTF8, то можем видоизменить данный код и сделать его таким:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />4. Удаляем строку, которая отвечает за вывод информации о вашей версии WordPress.
<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" />Это нужно сделать для улучшения безопасности блога, так как именно эта информация является опасной и может сообщить злоумышленникам то, что им знать не нужно. Тем более если вы используете более раннюю версию движка, то данное изменение вам необходимо.
5. Заменяем путь к таблице стилей вашего шаблона на статичный.
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />После модификации будет иметь примерно такой вид:
<link rel="stylesheet" href="http://dmitriydenisov.com/wp-content/themes/Ваша тема/style.css" type="text/css" media="screen" />6. Меняем путь к RSS ленте на статический.
<link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> RSS Feed" href="<?php bloginfo('rss2_url'); ?>" />После изменения будет выглядеть вот так:
<link rel="alternate" type="application/rss+xml" title="dmitriydenisov.com — создание и продвижение сайтов, блогов, заработок на сайте RSS Feed" href="http://dmitriydenisov.com/feed" />7. Также можно изменить путь до Pingback (рассылка, которая отправляет сведенья по всем адресам, упомянутым в этой заметке).
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />Заменяем на
<link rel="pingback" href="http://dmitriydenisov.com/xmlrpc.php" />Оптимизация файла footer.php
В принципе здесь, по большому счету, можно оптимизировать только вывод копирайта. Для этого код
<?php bloginfo('name'); ?>заменяем на свой текст. У меня это
<div class="copyright"><a href="http://dmitriydenisov.com/" title="Доступно о создании и продвижении сайтов, блогов. Поисковая оптимизация. Заработок на сайте.">© dmitriydenisov.com — создание и продвижение сайтов, блогов, заработок на сайте</a></div>Также рекомендую ознакомиться со следующими статьями по оптимизации и ускорению сайтов.
На этом я заканчиваю данную статью. Если у вас остались какие-то вопросы, вы всегда сможете задать их в комментариях.
На этом все. Удачи вам и успехов в оптимизации сайтов.
Обнаружили ошибку? Выделите ее и нажмите Ctrl+Enter