Hyper cache - кэширование на WordPress блоге

Добрый день, друзья!

Сегодняшняя статья посвящена плагину Hyper Cache, который реализовывает кэширование страниц на WordPress сайте и делает его работу быстрей.

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

Предлагаю начать с определения понятия "кэширование" и объяснить, почему это так важно для вашего сайта.

Что такое кэширование и зачем нужен Hyper Cache

Постараюсь рассказать простыми словами.

Дело в том, что наши движки (WordPress, Joomla и т.д.) изначально формируют свои страницы из PHP кода. А нашим посетителям выдают готовый HTML код. Вот вы сейчас видите страницу со всем текстом, картинками и другими элементами. Это уже сгенерированная страница.

Каждая такая генерация создается при обращении посетителя к странице. Например, я написал в поиске Google какую-то фразу и мне показало выдачу из 10ти страниц. Я перехожу на одну из них и в этот момент, движок создает запрос к базе данных на формирование HTML страницы из PHP. После чего я вижу загруженную мной страницу в готовом варианте.

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

Представьте, что у вас на блоге 1000 посетителей в сутки. Допустим, в одну единицу времени на страницы вашего сайта заходят 40-50 посетителей. Таким образом в каждый определенный момент создается 40-50 запросов к базе данных на формирование готовой страницы.

Как вы думаете, будет ли замедляться скорость работы блога? Ответ очевиден - да! А, если посещаемость намного больше? Тогда скорость может значительно упасть.

Не секрет, что скорость загрузки сайта - один из факторов, который влияет на позиции сайта в поисковых системах. Если взять 2 абсолютно идентичных сайта, но скорость одного занимает 1 секунду, а второго 2с, то 1й сайт будет выше по позициям.

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

В чем заключается его работа?

При первом запросе к базе данных на генерацию страницы, плагин сразу же создает копию уже готовой страницы и помещает к себе в папку. Папка расположена на хостинге.

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

Вот скриншот такой страницы в папке плагина на хостинга. В пример привожу кэшированную страницу на статью про книгу "Контент, маркетинг и рок-н-ролл".

Как видите, имеется папка с названием статьи, а внутри папки файл index.html. То есть уже сгенерированная страница.

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

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

к содержанию ↑

Устанавливаем плагин

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

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

На следующей странице мы увидим настройки плагина, но нас интересует предупреждение вверху страницы.

В предупреждении написано, что мы должны добавить в файл wp-config.php новую строчку с кодом:

Давайте это сделаем. Открываем файл wp-config.php. Находится он в корне сайта, то есть там, где находятся все папки и файлы движка. Смотрите изображение ниже и все поймете.

Этот файл я скачал с папки своего сайта прямо с хостинга с помощью FTP клиента FileZilla (подробная инструкция тут). Так же его потом и закачаю обратно.

Открываю файл в редакторе Notepad и вставляю код, который предоставлен выше, в любое место. Для наглядности покажу, куда вставил его я.

Как видим, разместил я его 72й строкой. Рекомендую сделать также. После этого сохраняем файл и заменяем им исходный файл на хостинге.

Возвращаемся в настройки плагина и попробуем просто обновить страницу. Если все сделали правильно, то сообщение о необходимости вставки данного кода исчезнет. Останется только Сохранить настройки, чтобы обновить файлы.

В самом низу страницы жмем на кнопку "Сохранить" и данная надпись также исчезнет. Теперь можно переходить к произведению настроек.

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

к содержанию ↑

Главные настройки плагина Hyper Cache

На странице настроек, первое на что хочется обратить внимание - кнопки для управления кэшем.

Вкратце о каждой из кнопок.

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

Размер очень маленький, так как на блоге всего 10 статей.

  • Импортировать настройки - насколько я понял, то кнопка служит для импорта настроек со старой версии плагина. Данной кнопкой воспользоваться не смог.

Теперь рассмотри главные настройки Hyper Cache.

Сначала покажу изображение настроек, затем опишу их.

  • Disable translation - данный чек-бокс отвечает за перевод плагина на русский язык. Так как плагин сам на английском языке, то в нем довольно сложно разобраться новичку. Включив эту настройку вы сделаете описание всех функций плагина в настройках на английском, отменив перевод, с которым он устанавливается по умолчанию;
  • Кэшированные страницы будут действительны в течение - указываете срок, в течении которого сохраненные страницы будут храниться в кэше. Если поставите 0, то страницы будут в кэше всегда. Если вы очень часто обновляете контент своих страниц, то ставьте это значения поменьше, так как этих изменений не увидят посетители в виду того, что будут выдаваться ранее сохраненные варианты, находящиеся в папке с кэшированными страницами. Я поставил значение в 300 часов, чтобы страницы держались в кэше подольше;
  • Включить сжатие - если вы хотите сжимать ваши страницы, то данный чек-бокс установите. Я сжатие использую, поэтому настройку активировал;
  • When the home is refreshed, refresh even the - в данной настройке мы можем выставить сколько последних записей будут очищаться из кэша при обновлении главной страницы. А на блогах главная страница обновляется при добавлении записей, так как на главной выводятся их анонсы. А это также обновление страницы. Оставляю стандартное значение;
  • When a post receives a comment - включив данную настройку будет происходить обновление кэша страниц архивов, рубрик и тегов (чек- бокс "clean archives"), а также обновление главной страницы (чек-бокс "clean the home") при добавлении комментариев к статье. Считаю, что данные настройки включать не нужно;
  • When a post is edited - то же самое, что и предыдущая настройка, только обновление кэша происходит при редактировании страницы;
  • Папки кэша - можете ввести свой путь для хранения кэшированных страниц. Меня вполне устраивает и стандартная директория;
  • Далее эта функция будет выполняться в - значения данной настройки выставлено автоматическим. Ничего изменить не можем;
  • Разрешение кэширования браузерами - честно говоря, данную настройку до конца так и не понял. Если кто знает о чем она, напишите в комментариях. Разработчик настройку эту не использует. Прислушаемся к его мнению и также не будет ее включать;
  • HTTPS - какой вариант кэширования использовать для протокола https. Использую вариант "cache separately";
  • Use readfile - настройка добавляет какую-то php функцию readfile. Честно сказать, не разобрался в чем ее смысл;
  • Serve expired pages to bots - предоставлять ли страницы, вышедшие из кэша, ботам, которые посещают ваш сайт. Оставил отключенной;
  • Tidy - то же самое, что и предыдущая. После обновления плагина настройка удалена.

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

к содержанию ↑

Настройки исключений

  • Не кэшировать главную страницу - если у нас обычный блог, на котором постоянно добавляются новые записи и их анонсы публикуются на главной странице, то данную настройку включаем, чтобы главная страница не кэшировалась. На главной все изменения должны отображаться в реальном времени;
  • Не кэшировать страницу 404 - кэшировать страницу 404 нет особой надобности. Поэтому, также ставим чек-бокс;
  • Не кэшировать ленту комментариев - данную настройку не включал;
  • Не кэшировать ленту RSS комментариев - также не влючал;
  • Точный URL исключение - если хотите исключить какие-то страницы из кэширования, то можете ввести их полные адреса. Может быть полезно, если имеется какая-то статья, в которой вы постоянно что-то меняете. Например, каждый день обновляете результаты конкурса в реальном времени;
  • (Начиная с) URL исключить - настройка полезна, если вы хотите запретить к кэшированию какой-то набор страниц, например, из одной рубрики. То введите сюда часть адреса, начиная с названия рубрики и все страницы, которые будут начинаться с названия этой рубрики, кэшироваться не будут;
  • Куки исключить - более профессиональная настройка. Позволяет исключать кэширование страниц по кукам;
  • Устройства (пользовательские) исключить - если посетитель заходит на сайт через какой-то агент, то указав его название в данной настройке, кэширование происходить для него не будет;
  • Don't serve cached pages to comment authors - когда вы оставляете комментарий на блоге, он, как правило, ожидает проверки. Вам об этом всегда пишется уведомление. Чтобы оно действительно отображалось, данную настройку необходимо включить;

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

Настройки для мобильных устройств

  • Режим работы - сам использую стандартный режим. Можете выбрать вариант "cache separately" для раздельного кэширования. Может потребоваться, если у вас различный контент для мобильных устройств;
  • Мобильная тема - выбираете тему оформлению, которую нужно кэшировать или же оставляете стандартный вариант "Use the active blog theme", с помощью которого плагин сам определит активную тему;
  • Мобильные агенты пользователей - в данном поле прописаны основные мобильные устройства, с которых происходят посещения сайтов.

На этом все настройки мы проделали. Не забываем сохранять все проделанные операции.

Проверить работу плагина мы можем очень просто. Достаточно зайти через другой браузер на любую страницу вашего сайта. Нужно, чтобы эта страница уже была в кэше. Затем открыть ее исходный код (ctrl+u) и в самом низу страницы будет строчка, которая выводится плагином.

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

По традиции я приготовил специальный видео-урок по настройка плагина hyper cache. Смотрим ниже.

После этого, надеюсь, что вам все стало более, чем понятно.

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

На этом я данную статью заканчиваю. И помните: "Быстрый блог - удобный блог". Поэтому, делаете его работу быстрой.

До скорой.

С уважением, Константин Хмелев.

40 лет Победы51937Украина, Днепропетровская обл., г. Днепродзержинск,+38 093 338 11 41
Комментариев: 14
  • Костя, как знающий человек - ты не подскажешь мне, почему у меня поля перекашивются на сайте, когда я вставляю в файл config строку define('WP_CACHE', true);???

    • Ничего не должно перекашивать. Возможно неправильно вставляешь строку в файл. Может плагин не активировал или же не установил вообще. Не могу так сказать.

      Нужен скриншот, куда вставляешь код и как перекашиваются поля. Возможен конфликт с другими плагинами. Хотя, я такого еще не встречал.

      • Понял в чем дело - дело в браузере. Что-то хром тупит, в нем перекашиваются поля страниц. Захожу в мозиллу - все нормально. А с хромом то что, не знаешь? Я уже и переустанавливал его, все равно не помогает. Кривой он какой-то. Ты не мог бы зайти на мой сайт и посмотреть все ли ровно у тебя, если можно - с хрома. Там страницы, которые идут гризонтально "Разминка", "советы для новичков" и т.д. они должны быть ровно. Я бы скриншот показал, когда они перекошены - но не знаю как. Да и вряд ли это нужно...

        • Зашел с хрома. Верхнее горизонтальное меню съехало!

          Тут может быть причина в самом шаблоне. Может в нем неправильно прописаны стили или верстка. Кроссбраузерность криво настроена и так далее.. Посмотри на другом шаблоне каком-то. Если все нормально там, то нужно искать причину именно в шаблоне.

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

          • Страницы нету и кнопка под формой отображается.

  • Спасибо за полезную и нужную информацию!

  • Замучился я с этими плагинами. Полезла нагрузка, поставил Hyper cache. Всё работает, нагрузка немного снизилась, . Поменял на WP Fastest Cache - работает, понравилось. Прочитал хвалебный отзыв про ZenCache. Установил его и о чудо - работает шустро, нагрузка минимальна. Но со временем начали выползать косяки.Удалил и его. И теперь плучается так - как включаешь кэш любого плагина, появляются косяки для посетителей (у меня как у авторизованного всё ОК) Сносил папки с кэшем, возвращался на прежние плагины, но теперь при включении кэша любого кэширующего плагина, появляются косяки. Что делать? Если откатывать на старые бакабы, то придётся много статей вновь вставлять

    • Что-то у вас постоянно много проблем) Может быть найти "голову" всех этих проблем, которые у вас возникают, чтобы потом не мучиться?

      Какие именно это косяки? С Hyper Cache проблем быть не должно. Плагин очень прост и кроме кэша он ничего не делает. Другие плагины, которые вы указываете, я не пробовал. Сейчас стоит W3 total cache, который мне нравится тем, что можно включать не только кэш, но и более гибко и в то же время очень мобильно управляться с некоторыми функциями для оптимизации скорости загрузки сайта. Попробуйте его. Может с ним будет все ок. Как раз сейчас пишу подробную статью про него. Сегодня-завтра она уже будет опубликована.

      • W3 total cache сегодня пробовал. Не углублялся в настройки и поставил всё как на одном из блогов написано. Всё так же не работает.А Super Cache вообще ошибку вызвал.

        Косяки к примеру такие - заходят на главную страницу, а там только шапка с меню

        Да, но почему даже те плагины, которые раньше работали - теперь у всех одни косяки как под копирку? Плагин отключаешь - всё работает.

        Сейчас поставил снова Гиппер, поставил, чтобы не кэшировал главную страницу. Так какие то страницы отображаются, какие то нет, опять очищаю кэш, недоступные страницы могут поменяться. В какую сторону копать не знаю. Кодировку всех файлов проверил, все без БОМ.

        • С кодировкой это не связано никаким боком. Всегда нужно искать причину там, с чего это все началось. После чего это все произошло? Просто так не начнутся косяки. Может быть установили какой-то плагин. Может быть что-то изменили в верстке. Правили код при установке гипер кэша и что-то задели. На другом шаблоне пробовали?

          • После zencache чего то добавил или изменил. Повторная установка не решает проблемы

  • Здравствуйте, Константин. Подскажите, пжл, как исправить закэшированную версию страницы? У меня на сайте исказился просмотр галереи.

    • Здравствуйте. Ни что не нужно исправлять. Просто очистите кэш и оригинальная страница вновь закэшируется при повторном запросе к ней. Если ошибка на оригинальной странице, то необходимо ее исправить и почистить кэш.

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

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