Ускорение блогаО необходимости и о способах оптимизации блога сказано уже достаточно много. И, пожалуй, самый эффективный  – это кэширование WordPress.

Для открытия любой страницы блога, она должна быть предварительно сгенерирована на сервере. Генерация страницы заключается в ее графическом оформлении на основе php файлов текущей темы блога и подключаемых скриптов с последующим наполнением ее содержимым из базы данных MySQL.

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

Существенно снизить нагрузку на сервер и ускорить загрузку страниц можно используя кэш WordPress. Как это происходит? Все страницы, после первого к ним обращения, сохраняются в отдельные папки вашего сервера. Каждому последующему посетителю будет передаваться уже сохраненная HTML страница, минуя процесс генерации.

Задействовать кэширование WordPress мы будем при помощи плагина Hyper Cache. Я рассматривал несколько подобных расширений и остановил свой выбор именно на нем, как на наиболее эффективном и к тому же бесплатном.

Настройка Hyper Cache

Скачать последнюю версию Hyper Cache можно с репозитория плагинов WordPress здесь, но свежий плагин не работает так хорошо, как старый работал. Разработчики его сильно упростили, убрали те функции, благодаря которым он завоевал такую бешеную популярность. Hyper Cache старой версии 3.0.6 можно скачать тут и описание настроек я оставлю только для этой версии.

Установка стандартная через админку блога или по ftp.

После активации перейдите  Параметры → Hyper Cache к настройкам плагина.

В верхней части страницы настроек будет предупреждающая надпись на красном фоне:

WP кэш

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

define('WP_CACHE', true);

откройте файл wp-config.php (находится в корневой папке вашего блога) и вставьте скопированный код под тег <?php>.WP кэш

Для редактирования файлов я использую файл менеджер Notepad ++. Можно также отредактировать файл через файл менеджер вашего хостинга.

После сохранения отредактированного wp-config.php, обновите страницу с настройками, предупреждение исчезнет.

Теперь можно перейти непосредственно к самим настройкам.

Hyper Cache настройки

Кнопка «Clear cache»

Весьма полезная кнопка. После внесения изменений в структуру или в графический дизайн сайта, эта кнопка стирает кэш WP, чтобы посетители смогли увидеть эти изменения.

Состояние кэша

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

Конфигурация

Hyper Cache настройки

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

Режим аннулирования кэша – в выпадающем списке выберите вариант очистки кэша (все кэшированные страницы, только измененные записи или ничего). Выбранные страницы будут удаляться с периодичностью, согласно выбранного таймаута в опции выше. Выбор "все кэшированные страницы" позволит экономить место на сервере. Ведь не к каждой странице обращаются каждый день, так зачем их хранить. У меня пока со свободным местом все в порядке и я выбрал "только измененные записи".

Если записи отображаются на главной странице, как на большинстве блогов, поставьте ниже галочку, чтобы сбрасывать кэш главной.

Отключить кэш для комментаторов – включите эту опцию, чтобы читатели могли видеть сразу свежедобавленные комментарии.

Кэширование RSS – включите для кэширования RSS ленты. Делает блог немного быстрее. Однако свежие записи в ленте будут появляться с некоторой задержкой.

Allow browser caching – разрешает использовать кэш браузера.

Конфигурация для мобильных устройств

Hyper Cache настройки конфигурация для мобильных устройств

WordPress Mobile Pack – не включайте, если у вас не установлен именно этот плагин для оптимизации страниц под мобильные устройства.

Определять мобильные устройства – если проект оптимизирован под мобильную версию, включите. Для корректной работы блога страницы будут кэшироваться для мобильных устройств под другими именами. Ниже, представлен список мобильных агентов.

Сжатие

Hyper Cache сжатие

Store compressed pages – сжатие страниц для экономии места под них. Если включить, станет доступна следующая опция.

Send compressed pages – сжатие текстовой части страниц.

On-the-fly compression – сжатие "на лету" тех страниц, которые не сжимаются.

Понравиться читателям с низкой пропускной способностью интернета. Но только если у провайдера включена функция gzencode и если в браузере включен GZIP. Слишком много если, рекомендую не включать, так как возможны ошибки, например, в виде открытия по запросу пустых страниц.

Экспертные настройки

Hyper Cache настройки экспертные настройки

Перевод- не переводить страницу с этими настройками.

Disable Last-Modified header – отключение в заглавии отображения даты последнего изменения. На некоторых хостингах, возможно, будет вызывать ошибки.

Кэширование Домашней – не кэшировать главную страницу. Включите, если главная страница постоянно обновляется по разным причинам. Это избавит сервер от нагрузки при постоянном кэшировании  страницы.

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

Page not found caching (HTTP 404) – кэширование страницы с ошибкой 404.

Strip query string – удаление символов дополнительных запросов в конце URL в адресной строке. Может вызвать конфликт с некоторыми плагинами.

URL с параметрами – включите только в том случае, если на блоге не применены ЧПУ (человеко понятные урлы). ЧПУ дает соответствующая настройка постоянных ссылок (без знака вопроса в URL) плюс Плагин Rus-to-Lat.

Allow browser to bypass cache – включите, чтобы разрешить браузеру генерировать страницу при ошибке загрузить ее из кэша.

Filters (Фильтры)

Фильтры Настройка Hyper Cache

Исключаемые URI – относительные адреса страниц, которые не надо кэшировать. Такой страницей может быть, к примеру форум на блоге.

Исключаемые агенты – прописываются агенты поисковых ботов. Роботы будут видеть оригинальные, не кэшированные страницы.

В таблице приведен список агентов основных поисковых систем.

Поисковик

Агент

URL

Яндекс

Yandex

http://www.ya.ru

Google

Googlebot

http://www.google.com

Мэйл.ру

Mail.Ru

https://mail.ru/

Рамблер

StackRambler

http://www.rambler.ru

Yahoo!

Slurp

http://www.yahoo.com

Aport

Aport

http://www.aport.ru

MSN

MSNBot

http://www.msn.com

Live

MSNBot

https://login.live.com

Ask

Teoma

http://www.ask.com

AltaVista

Scooter

http://www.altavista.com

Alexa

ia_archiver

http://www.alexa.com

AOL

Slurp

http://www.aol.com

Вебальта

WebAlta

http://www.webalta.ru

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

Совпадение Cookies – кэш не выполняется при совпадении куков. Лучше ничего там не писать, чтобы не усложнять себе жизнь.

Не забывайте после каждого блока настроек нажимать на кнопку "Обновить", чтобы изменения вступили в силу.

У плагина есть еще одно, очень полезное свойство. Не все его сразу замечают, хотя оно лежит на поверхности. Допустим, вы решили, методом проб и ошибок, внести какие-либо изменения в графический дизайн блога или в его текстовую часть. Причем вы не хотите, чтобы посетители наблюдали промежуточные варианты этих изменений. Закрывать сайт с вывеской таблички "Сайт на реконструкции" тоже не вариант. Все промежуточные изменения будут видны только автору и авторизированным пользователям на блоге, каких мало или вообще нет. Остальные посетители будут видеть только страницы из кэша.

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

Теперь убедимся в правильной работе Hyper Cache. Для этого перейдите на любую страницу своего блога как не зарегистрированный пользователь. Если вы в настройках разрешили использовать кэш браузера, откройте страницу в другом браузере или предварительно очистите его кэш. Щелкните правой кнопкой мыши по странице и из контекстного меню выберите пункт просмотра исходного кода страницы. Если Hyper Cache работает без ошибок, в самом низу вы увидите примерно такую надпись:

Hyper Cache настройки проверка работы

 

Ну и последнее - проверка скорости загрузки сайта. Интересно же, в какой степени плагин помог нам оптимизировать блог. Я проверил скорость загрузки своей главной страницы http://wordpress-book.ru/ при помощи этого сервиса и получил следующий результат:

Проверить скорость загрузки сайта

 

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

скорость загрузки сайта

 

Как видим, время загрузки и средняя скорость  разнятся почти вдвое. Надеюсь, посетители, поисковики и мой хостинг провайдер это оценят :-).

P.S. Одновременно с включением кэширования, советую отключить обновления WordPress.

С уважением, Роман Ваховский.

Хороший человек всегда нажмет на кнопку!
Комментарий > Благодарность > Ссылка на секретную страницу блога

17 комментариев: Плагин WordPress Hyper Cache - оптимизация блога и снижение нагрузки на сервер хостинга

Страница 1 из 11
  • Сергей Стеклов говорит:

    Я для таких целей использую W3 Total Cache - это настоящий монстр, а не плагин. Только в нем сильно много настроек, но если все правильно сделать, то эффективная работа гарантированна.

  • Андрей говорит:

    Здравствуйте.
    Мне хотелось бы поинтересоваться по поводу пункта "Исключаемые агенты". Вот у меня стоит этот плагин, я написал статью, она ещё не в индексе, но посетители блога её уже посмотрели и она закешировалась. И когда на спец. сервисе моделирую просмотр этой страницы ботом Яндекса, сервер отдаёт код 304, типа она не изменилась. В связи с этим вопрос. Когда она и как попадёт в индекс? Или лучше всё же прописать в пункт "Исключаемые агенты" некоторых ботов ?
    Спасибо.

    • Роман Ваховский говорит:

      Если размышлять логически, то бот получит инфу о появлении новой страницы, которая не в индексе и которая не изменялась некоторое время. А в в индекс попадет текст кэшированной страницы. А что касается индексации изменений на странице, вы ведь в настройках указали сбрасывать кэш при изменении? Поправьте меня, я могу и ошибаться.
      А вообще я согласен с вами, лучше не лениться и исключенных агентов прописать. Я уже прописал :-). Завтра - послезавтра дополню статью этой инфой.

  • Вячеслав говорит:

    Роман, подскажите, не конфликтует ли плагин с мобильной версией сайта?
    И еще, при настройке плагина в разделе "Конфигурация для мобильных устройств" включать "Определять мобильные устройства", если у меня установлен не WordPress Mobile Pack, а другой плагин для мобильной версии?
    Спасибо

    • Роман Ваховский говорит:

      1. В теории любой плагин может конфликтовать с другим плагином. Разобраться можно только на месте.
      2. Включайте определение мобильных устройств если у вас есть мобильная версия любого плагина. Однако Hyper Cache заточен под WordPress Mobile Pack.

  • Сергей говорит:

    Задумался над кэшированием, но беспокоит вопрос: можно ли так настроить, чтобы кэш сбрасывался при изменении данных в виджете плагина post-ratings? Проще говоря, если в результате читательского голосования в ряду выводимых в этом виджете лидерах рейтинга произошли изменения, то было бы правильно, если посетители это увидят не когда-то тогда, когда кэш сбросится, а, что называется, в реальном времени. Иначе интерактивность оказывается под большим таким вопросом. А хочется, чтобы и то и другое (кэш и интерактивность) могли сосуществовать.

    • Роман Ваховский говорит:

      Если виджет на главной странице то можно отключить кэширование главной в экспертных настройках.

  • Иван говорит:

    А вы не подскажите, почему у меня на сайте поля перекашиваются после того, как для плагина гипер Кэш я вставляю код define('WP_CACHE', true); в wp-config?

    • Роман Ваховский говорит:

      У вас свежая версия плагина? Если да, то код надо вставлять в wp-config в другое место, отличное от того которое я показал. Посмотрите в настройках, после какой строчки нужно вставить этот код.

  • Ольга говорит:

    Если вы собираетесь улучшить и ускорить работу вашего сайта, уменьшить нагрузку на сервер хостинга, вам нужно научиться и провести кэширование данных php, очистить кэш, при помощи плагина Hyper Cache.

  • Милана говорит:

    Но как только заданное в этом поле время для какой-то вебстраницы истечет, при очередном обращении к ней посетителя, она будет открыта уже не из кэша, а стандартным образом. При этом она будет заново закэширована плагином и помещена в папку cache. Если время жизни поставить слишком маленьким, то Hyper Cache вместо разгрузки сервера будет давать на него повышенную нагрузку, связанную с постоянным записыванием кешированных вебстраниц.

  • Татьяна говорит:

    Добрый день. Что означает сообщение "You should choose a different permalink structure.Change it on the permalink panel otherwise Hyper Cache cannot work properly." в верхней части страницы? Оно он у меня появилось вместе с сообщением "You must add to the file...".С последним справилась, как описано в статье, а с этим не знаю, что делать...

    • Роман Ваховский говорит:

      Татьяна, видимо плагину не нравятся постоянный ссылки в URL Ваших страниц. У Вас они какие, типа "?p=123" на конце?

  • Татьяна говорит:

    Да, именно такие. В настройках постоянных ссылок я выбрала "простые". Что в таком случае делать?

Страница 1 из 11

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Поиск по блогу

Все права защищены © 2011-2016. WordPress-book.ru

Копирование материалов разрешено только с размещением открытой обратной ссылки на источник.