Оптимизации блога на WordPress с целью снижения его нагрузки на сервер хостинга. Вопрос нагрузки Вордпресс на сервер хостинга будет становиться для вас тем актуальнее, чем больше посетителей будет приходить на ваш WP блог.
В предыдущей статье были описаны некоторые способы снижения нагрузки Вордпресс на сервер за счет уменьшения количества запросов к базе данных WP. Но это, конечно же, только полумеры, которые нужно выполнять обязательно в комплексе с другими способами снижения нагрузки блога на WordPress на сервер хостинга.
Способов оптимизации WordPress очень много и обо всех я подробно буду рассказывать в этой серии статей. Сегодня мы рассмотрим один из самых действенных способов оптимизации WP блога, а именнокэширование WordPress. Сначала нужно определиться с тем, что же такое кэширование и зачем его нужно использовать. Для начала рассмотрим работу блога на WordPress без кэша.
Кэширование в WordPress — алгоритм работы WP блога без и с использованием кэша в Вордпресс
Все дело в том, что браузеры работают только со вебстраницами в формате HTML (язык гипертекстовой разметки) и напрочь не понимают язык PHP на котором, собственно, и написан движок WordPress блога. Поэтому WordPress, после того как пользователь обратится к той или иной страничке WP блога, должен успеть сформировать эту страницу, опираясь на алгоритм, прописанный в ее коде на языке PHP.
В классическом статичном сайте (сейчас таких осталось очень мало) все вебстраницы реально существуют и находятся на сервере вашего хостинга. К ним всегда можно обратиться, введя соответствующий адрес в браузере, или даже физически, через FTP, скачать какую-нибудь страничку с сервера себе на компьютер и открыть просто двойным щелчком по ней. Как говорится, ее можно пощупать.
В случае же WordPress, да собственно и любой другой CMS, базирующейся на PHP и MySql, странички в формате HTML генерятся непосредственно на сервере хостинга, в момент обращения к ним. Каким образом они генерятся? Ну, в соответствии с содержанием запрашиваемой вебстраницы загружается определенный набор шаблонов (файлов) из используемой вами в текущий момент темы Вордпресс. Подробнее об этом вы можете почитать здесь:
На основе этих шаблонов Вордпресс создается графическое оформление запрашиваемой вебстраницы, а затем в область контента WP блога загружается из базы данных MySql, например, текст статьи. В область сайдбара WP блога так же могут загружаться данные из базы данных MySQL, если вы используете вывод в сайдбаре (sidebar) Вордпресс какой-либо информации штатными средствами WordPress или с помощью WP плагинов.
Как вы уже, наверное, заметили, такой способ формирования вебстраниц для браузера скрывает в себе некоторую проблему, которая особенно остро может встать при большом количестве посетителей на WP блоге. Код файлов вашего блога на WordPress, написанных на PHP, интерпретируется в HTML-страничку на сервере хостинга.
Если запросов к базе данных на создание страничек будет очень много (при высокой посещаемости блога на WordPress), то это может существенно нагрузить сервер хостинга. Даже если предположить, что все посетители, находящиеся в данный момент на вашем WP блоге, запросили одну и туже страничку, она все равно будет создаваться в вордпресс заново столько раз, сколько посетителей нажали по соответствующей ее ссылке.
Выход из этой ситуации состоит в использовании кэша в WordPress. Как работает кэширование в Вордпресс? Довольно просто. Каждый раз, когда по требованию посетителя WP блога, на сервере хостинга генерится страничка в формате HTML, то она не только передается браузеру пользователя, нажавшего по ссылке, но и сохраняется в соответствующей папке вашего сайта.
И уже при следующем обращении к этой страничке WP блога, она не будет заново генерится, отнимая ресурс сервера (создавая дополнительную нагрузку на его процессор и оперативную память), а будет передана браузеру пользователя, запросившему эту страничку, из той самой папки на вашем сайте, где хранятся кэшированные вебстраницы WordPress.
Такой способ кэширования, когда кэшируется вся вебстраница блога на WordPress является самым эффективным, но не единственно возможным. Кроме того, некоторые динамичные элементы вашего блога могут при этом не работать. Некоторые плагины для WordPress кэшируют только запросы к базе данных WP и, следовательно, позволяют работать динамическим элементам в WP блоге.
Но все же кэширование вебстраниц WP блога целиком является, на мой взгляд, наиболее эффективным способом снижения нагрузки WordPress на сервер хостинга и ускорения работы вашего WP блога в целом. В этом случае не будет тратиться время на генерацию запрашиваемых вебстраниц, т.к. они уже будут существовать в виде HTML-файлов в папке с кэшем WordPress.
Плагин кэширования Hyper Cache для блога на WordPress — установка и настройка Hyper Cache в Вордпресс
Плагин Hyper Cache кэширует вебстраницы блога на WordPress целиком и хранит их HTML версии в своей папке с кэшем. Что примечательно, кэширование работает только для незарегистрированных посетителейвашего WP блога. Т.к. на большинстве WP блогов регистрация не используется, то единственным зарегистрированным пользователем в WordPress блоге будет его администратор, т.е. вы.
Для вас кэширование в Вордпресс работать не будет и это очень удобно. Например, при внесении изменений в дизайн блога на WordPress, вам не надо будет каждый раз сбрасывать WP кэш, чтобы посмотреть результаты произведенных изменений. Хочу привести пример эффективности использования плагина Hyper Cache для кэширования страниц блога на WordPress.
Данный WP блог KtoNaNovenkogo.ru в начале своего существования базировался на бесплатном хостинге. Хостинг хороший, а для бесплатного так и вовсе отличный. Но однажды у них полетел жесткий диск, где размещались базы данных всех пользователей. И что примечательно, мой блог на WordPress с плагином Hyper Cache продолжал при этом спокойно работать. Страницы WP блога открывались из кэша и при этом обращений к базе данных Вордпресс вообще не было, т.к. она не работала.
Сайт на Joomla, например, у которого тоже было включено кэширование при этом не работал, жалуясь на недоступность базы данных. Время жизни HTML копий вебстраниц в кэше WordPress у меня стояло 1440 минут (одни сутки), а все время, пока на хостинге лежала база данных (несколько часов) большинство вебстраниц моего WP блога были доступны посетителям. Вот такой вот замечательный плагин Hyper Cache для кэширования в WordPress. Ну, думаю, что уже достаточно теории и пришла пора рассмотреть непосредственно установку и настройку плагина Hyper Cache.
Установка плагина Hyper Cache на Вордпресс, включение и настройка кэша в WordPress
Скачать плагин Hyper Cache вы можете с официальной страницы плагинов для WordPress. Далее осуществляем стандартные действия по установке плагина Hyper Cache на WordPress. Распакуйте архив
hyper-cache.zip
, используя ftp-менеджер подключитесь к вашему сайту и загрузите папку hyper-cache
в папку Вордпресс с плагинами wp-content/plugins/
на сервере.
Дальше нужно будет включить кэширование в WordPress. Для этого нам потребуется открыть на редактирование файл конфигурации WordPress
wp-config.php
, который вы сможете найти в корневой папке на сервере вашего сайта. Вам нужно будет добавить в файл конфигурации Вордпресс одну строчку кода:define( 'WP_CACHE' , true); |
Вставить ее можно в любое место файла
wp-config.php
до строки:/** Абсолютный путь к директории WordPress. */ if ( !defined( 'ABSPATH' ) ) define( 'ABSPATH' , dirname( __FILE__ ) . '/' ); |
Я, например, вставил эту строку в область, где идет задание параметров для базы данных WP:
/** Имя базы данных для WordPress */ define( 'WP_CACHE' , true); define( 'DB_NAME' , 'wm1604_ox823' ); |
Войдите в админку WordPress, выберете вкладку «Плагины»- «Inactive», найдите строку с плагином Hyper Cache и активируйте его. Опять зайдите в админку WordPress и выберете из левого меню Настройки ->Hyper Cache. Если в окне с настройками никаких предупреждающих сообщений не появилось, то кэш в WordPress готов к работе. Если предупреждения появились, то скорее всего поможет выставление прав доступа 777 на папку
wp-content
или папку wp-content/plugins/hyper-cache
.
Это нужно для того, чтобы плагин Hyper Cache мог создать в WordPress папку для хранения кэшированных вебстраниц вашего WP блога под названием
cache
. После того как плагин Hyper Cache создаст эту папку, вы можете вернуть права доступа на папку wp-content
и папку wp-content/plugins/hyper-cache
обратно на 755, а уже папке cache
, которая у меня находится wp-content/plugins/hyper-cache/cache
, назначить права доступа 777, чтобы плагин Hyper Cache имел возможность записывать в нее и стирать HTML-файлы с кэшем вебстраниц блога на WordPress.
Более подробно о правах доступа вы можете почитать в статье Оптимальные права доступа для файлов и папок вашего сайта. Если при установке плагина Hyper Cache у вас возникли какие-либо затруднения, то можете обратиться к материалам этой статьи — Решение возможных проблем при установке плагинов в WordPress.
Hyper Cache — настройки в админке Вордпресс для оптимальной работы кэша
Для того, чтобы попасть в настройки плагина Hyper Cache, нужно в админке WordPress выбрать из левого меню Настройки -> Hyper Cache. В первом поле настроек под названием «Cache status» вы можете видеть сколько вебстраниц вашего WP блога в данный момент сохранено в кэше плагином Hyper Cache.
В этом же поле имеется очень важная кнопка «Clear cache», которая позволяет удалить из кэша WordPressвсе уже имеющиеся там вебстраницы. Она вам может понадобиться в том случае, если вы внесли изменения в дизайн своего WP блога и хотите, чтобы эти изменения увидели ваши посетители, потому как в противном случае, им будет по-прежнему доступна только кэшированная версия вебстраниц вашего WP блога.
В области «Configuration» сосредоточены основные настройки плагина Hyper Cache в WordPress.

В поле «Cached pages timeout» вы можете выставить время жизни кэша в WordPress, созданного плагином Hyper Cache. В течении этого времени в папке с кэшем WordPress будет храниться HTML копия вебстраницы вашего WP блога и все пользователи, запрашивающие ее, будут получать именно эту HTML копию из кэша плагина Hyper Cache.
В поле «Cached pages timeout» вы можете выставить время жизни кэша в WordPress, созданного плагином Hyper Cache. В течении этого времени в папке с кэшем WordPress будет храниться HTML копия вебстраницы вашего WP блога и все пользователи, запрашивающие ее, будут получать именно эту HTML копию из кэша плагина Hyper Cache.
Но как только заданное в поле «Cached pages timeout» время для этой вебстраницы истечет, при очередном обращении к ней посетителя вашего WP блога, эта вебстраница будет открыта уже не из кэша WordPress, а стандартным для WP блога образом. При этом она будет заново кэширована плагином Hyper Cache и помещена в папку с кэшем Вордпресс. Если время жизни кэшированных вебстраниц поставить слишком маленьким, то плагин Hyper Cache, вместо разгрузки сервера, будет давать нагрузку, связанную с постоянным записыванием кэшированных вебстраниц.
В поле «Cache autoclean» задается время автоочистки кэша WordPress плагином Hyper Cache. Эта опция предназначена для уменьшения места занимаемого файлами кэша на жестком диске хостинга. Через тот промежуток времени, который вы зададите в поле «Cache autoclean», плагин Hyper Cache будет инспектировать файлы кэша на предмет истечения у них времени жизни и удалять файлы кэша WordPress, у которых время жизни уже истекло.
Т.е. допустим, что страница вашего WP блога была кэширована давно и время жизни ее файла кэша уже истекло, но еще не один посетитель вашего WP блога не обратился к этой вебстранице после истечения времени жизни для файла кэша. Именно такие, уже не нужные и неактуальные файлы кэша в WordPress, будут удаляться с периодичностью заданной в поле «Cache autoclean».
В поле «Cache invalidation mode» задается способ очистки кэша WordPress плагином Hyper Cache при добавлении новых материалов на WP блог или обновлении уже существующих статей (в том числе добавлении комментариев).
Если из выпадающего списка выбрать «All cached pages», то при добавлении новой записи на WP блоге или обновлении существующей будет обновлен (очищен) весь кэш WordPress. При выборе «Nothing» кэш Вордпресс останется без изменений. При выборе «Only modified posts» будут обновляться (удалены из кэша) только файлы кэша тех вебстраниц Вордпресс, которые были изменены.
В поле «Disable cache for commenters» можно поставить галочку для отключения кэширования комментариев WordPress. В этом случае, пользователи смогут видеть добавленные ими комментарии не дожидаясь истечения времени жизни кэша для данной вебстраницы. Это делает кэширование в WordPress менее эффективным, но WP блог более удобным.
Галочка в поле «Feeds caching» позволит кэшировать RSS ленту WordPress. В области «Compression», поставив галочку в поле «Enable compression», вы можете активировать gzip сжатие страниц WordPress с помощью плагина Hyper Cache, отправляемых в браузер ваших посетителей. Это позволит немного ускорить загрузку страниц вашего WP блога.
В области «Advanced options» вы сможете произвести дополнительные настройки плагина Hyper Cache.

В поле «Home caching» вы можете поставить галочку для отключения кэширования главной страницы WordPress. Это может понадобиться, если главная страница вашего WP блога интенсивно обновляется и включение ее кэширования может вызывать дополнительную нагрузку на сервер за счет постоянного кэширования главной страницы.
В поле «URI to reject» вы можете вписать в приведенную форму URI (относительный адрес), например, какой-нибудь категории вашего WP блога (допустим,
В поле «Home caching» вы можете поставить галочку для отключения кэширования главной страницы WordPress. Это может понадобиться, если главная страница вашего WP блога интенсивно обновляется и включение ее кэширования может вызывать дополнительную нагрузку на сервер за счет постоянного кэширования главной страницы.
В поле «URI to reject» вы можете вписать в приведенную форму URI (относительный адрес), например, какой-нибудь категории вашего WP блога (допустим,
/joomla
) вебстраницы, которые не должны кэшироваться в Вордпресс.
Не забудьте сохранить произведенные изменения в окне настроек плагина Hyper Cache, нажав на кнопу «Обновление». Для того, чтобы проверить работает ли кэширование с помощью плагина Hyper Cache в WordPress, вам надо будет зайти на свой WP блог не под зарегистрированным пользователем, а как обычный посетитель. Для этого можно просто открыть свой WP блог в браузере, отличном от того, в котором вы работаете с WP блогом как администратор.
Откройте любую вебстраницу вашего WP блога и посмотрите ее исходный код. Для этого нужно щелкнуть правой кнопкой мыши по странице в вашем браузере и выбрав пункт контекстного меню «Исходный код» (Opera), либо «Исходный код страницы» (Firefox), либо «Просмотр кода страницы» (Google Chrome), либо «Просмотр HTML-кода» (IE).
Если вы увидите в самом низу окна с исходным кодом что-то вроде
<!-- hyper cache: 1b7e9b9b714b0b83a6f28ad4f7541abf 10-01-23 06:09:45 --> |
то это будет означать, что кэширование в WordPress, с помощью плагина Hyper Cache, работает и при следующем запросе посетителями вашего WP блога этой страницы, она будет открываться им из кэша.
И еще можно почитать здесь.
Комментариев нет:
Отправить комментарий