Hyper Cache
Hyper Cache это один из самых простых плагинов кэширования. И пусть вас не смущает слово "простой" - Hyper Cache чрезвычайно надежный и эффективный плагин кэширования, который незаслуженно обойден вниманием владельцев блогов на WordPress (по большей части, из-за того, что автор плагина итальянец и его английский язык далек от совершенства).
Маленькое пояснение для тех, кто вообще не представляет себе, что такое кэширование. При открытии любой страницы блога WordPress формирует необходимую страницу "на лету", путем выполнения PHP-кода. На слабых серверах или при большой посещаемости время генерации страницы может очень заметно вырасти (как узнать скорость генерации страниц вашего блога читайте тут). В некоторых, особо тяжелых случаях, генерация страниц может идти десятки секунд, что, конечно же, мало кого может устроить.
При такой ситуации вам необходимо либо сменить хостера (перейти на более дорогой тариф), либо воспользоваться плагинами кэширования. Какой вариант выбрать решать вам, но, на мой взгляд, если при малой посещаемости ваш сайт тормозит – надо менять хостера, а если ваш сайт тормозит лишь при большой посещаемости, то стоит воспользоваться плагинами кэширования.
Что делает плагин кэширования? Объясню на примере. Скажем, посетитель открывает главную страницу вашего блога. WordPress создает эту страницу, тратя на ее создание определенные ресурсы сервера. Плагин кэширования при этом сохраняет эту сгенерированную страницу на диске, а при следующем ее запросе посетителем отдает уже сгенерированный и сохраненный на диске вариант, не давая WordPress'у заново тратить ресурсы сервера на генерацию полностью идентичной страницы.
Просто, не так ли? Но очевидно, что у кэширования есть и недостатки. Все динамические элементы блога перестанут работать. Оно и понятно – какая динамика может быть у страницы, которая была сгенерирована месяцы назад? Всяческие плагины голосований, подсчета просмотров и т.д. и т.п. придется отключать, так как толку от них станет немного.
А как быть с таким динамическим содержимым, как, например, комментарии от посетителей? Вот с этим плагины кэширования справляются на ура. Любой плагин кэширования умеет сбрасывать кэш для страниц, которые были изменены. То есть оставил кто-то комментарий к записи – плагин кэширования удалил старую страницу из кэша и сохранил на диске новый вариант этой страницы с уже добавленным комментарием. Таким образом, ваш блог останется блогом, а не полностью статичным сайтом.
Использование плагинов кэширования имеет свои недостатки и особенности, но кэширование все равно остается самым простым способом избежать лишних трат на хостинг вашего блога. Но хватит ликбеза, вернемся к Hyper Cache.
Скачиваем плагин по ссылке в конце страницы и устанавливаем его:
1 Распаковываем архив.
2 Копируем папку hyper-cache в /wp-content/plugins/.
3 Теперь необходимо внести изменения в файл конфигурации блога
wp-config.php (он находится в корне вашего сайта). Найдите в нем строчку:
define ('WPLANG', 'ru_RU'); |
После нее добавьте строку:
define ('WP_CACHE', true); |
4 Перед активацией плагина вам необходимо установить права на запись 777 на папку wp-content (временно, только на период установки плагина – после установки верните права по умолчанию 755 назад). Это необходимо, так как при активации плагин в этой папке создаст свою папку cache, в которой и будет хранить файлы кэша.
5 Заходим в админку блога на вкладку "Плагины" и активируем плагин.
Если вы все сделали правильно, то плагин активируется. Если же вы что-то напутали, то плагин выведет об этом предупреждение. После активации плагина на вкладке "Плагины" появится такое:
Не удивляйтесь непонятному "вкраплению" – так надо.
Настройка плагина находится в "Параметрах\Hyper Cache". Плагин переведен на русский язык, но криво и не полностью. Однако настраивать его вам практически не придется – настройки по умолчанию идеально подходят практически для любого сайта. Ну, за исключением времени жизни кэша.
Впрочем, по порядку. Начнем с основного:
Здесь надо править только таймаут кэшированных страниц. Смело ставьте цифру 0 – это значит вечный кэш до изменения содержимого. Нет никакого смысла ограничивать кэш временем в 1440 минут (сутки), если он все равно сбрасывается при любом изменении содержимого блога.
Остальные настройки здесь оставляйте без изменений – это идеальный вариант для большинства блогов. Если вы добавили или изменили статью в блоге – кэш будет сброшен. Если кто-то оставил комментарий – будет сброшен кэш страницы с комментарием, а также остальные связанные страницы (связаны они просто – комментарий может выводиться в сайдбаре на главной странице или просто числом у статьи).
Играться с настройками стоит только на очень сильно посещаемом сайте, на котором каждую минуту кто-то оставляет комментарии. Тогда смысла в кэшировании не будет, если кэш будет сбрасываться каждую минуту. Именно в таком случае стоит ставить таймаут в 1440 минут и "Ничего" в "Режим аннулирования кэша". При таких настройках сайт будет обновляться лишь раз в сутки, но это единственный способ снижения нагрузки при очень сильно посещаемом сайте.
Следующая часть настроек плагина касается мобильных устройств:
Зачем вообще нужны эти настройки? Некоторые плагины вроде WPtouch iPhone Theme или WordPress Mobile Pack создают отдельную версию вашего блога для мобильных устройств. Если плагин закэширует страницу мобильной версии сайта, то она же будет показана и для обычных посетителей. Понятное дело, что видеть на экране 24 дюймового монитора сайт, сверстанный для айфона, никому не хочется. При включении данных настроек плагин будет создавать две версии кэша – для обычных и для мобильных устройств, которые не будут пересекаться. Если у вас не установлены данные плагины, то эта часть настроек плагина вам совершенно не нужна.
Следующие настройки касаются сжатия кэшированных страниц:
Настройки по умолчанию указывают плагину хранить и отсылать архивированные версии закэшированных страниц. Это сохраняет место жесткого диска на сервере и увеличивает скорость загрузки страниц посетителями. При любых проблемах (белые страницы, "крякозябры" и т.д.) эти настройки следует отключить. Архивированные кэшированные страницы на сервере хранятся в папке "wp-content/cache/hyper-cache/":
Следующая часть настроек плагина называется экспертной:
Вот здесь есть некоторая путаница при выставлении некоторых опций. Галка на опции "Перевод" отключает перевод и плагин будет использовать английский язык. То же самое с опцией "Кэширование Домашней" – галка отключает кэширование главной страницы для всех пользователей.
Из важного в этой части настроек следует отметить опцию "URL с параметрами". Если в вашем блоге формат постоянных ссылок установлен "По умолчанию" ("Параметры\Постоянные ссылки"), то эту опцию необходимо включить. Если ее не включить, то плагин не будет кэшировать страницы, в урле которых будет содержаться знак вопроса, а следовательно, большая часть вашего сайта кэшироваться не будет. C другой стороны, существует много плагинов, чья работа зависит от передаваемых в урле параметров и включение данной опции может испортить работу данных плагинов. Будьте осторожны!
Последняя часть настроек плагина касается фильтров, которыми можно отключить кэширование для определенных страниц или для определенных пользователей:
Агенты и куки я не пробовал, а вот отключать кэширование определенных страниц по урлу пытался, но ничего у меня не вышло. Уж не знаю, в каком формате надо указывать ссылки, но ни один из перепробованных мной вариантов не подошел – плагин упорно кэширует любую страницу и полностью игнорирует все, что я пробовал указывать в данной опции.
Впрочем, если очень-очень надо исключить от кэширования определенные страницы или рубрики, то можно воспользоваться вот таким кодом:
<?php $post_permalink = $_SERVER["REQUEST_URI"]; if(strpos($post_permalink, 'rasnoe') == true) { global $hyper_cache_stop; $hyper_cache_stop = true; } ?> |
Вставлять данный код лучше всего в header.php. В результате любая страница, в урле которой будет слово "rasnoe" будет исключаться от кэширования.
Я долго описывал настройки, но на деле вам, скорее всего, придется лишь изменить таймаут кэшированных страниц. Плагин не кэширует страницы зарегистрированных пользователей, так что если вы залогинены в блоге, то кэшированные страницы вы не увидите. Проще всего проверить работу плагина, зайдя на блог из другого браузера и открыв в нем несколько страниц. На странице настроек плагина в самом начале появится что-то типа:
Понятно из скриншота, что в кэше 5 сохраненных страниц, а следующий процесс чистки будет произведен в 16:21. Что это значит? Как я уже говорил выше – плагин умеет сбрасывать кэш, если добавился комментарий или изменилась статья. Но сразу он старые версии кэшированных страниц не удаляет, он только сохраняет новые кэшированные страницы, а устаревшие варианты удалит согласно времени, указанному в "Cleaning process".
Я это рассказываю, чтобы вы не удивлялись, как на сайте из 100 страниц вдруг находится 300 кэшированных файлов – из этих 300 страниц 100 будут актуальными, а 200 устаревшими.
Иногда, по какой-то причине, устаревшие файлы не удаляются плагином, а так и остаются висеть. Мешать они не мешают, но для очистки места на диске стоит иногда нажимать на кнопку "Clear Cache":
При нажатии на эту кнопку все файлы кэша будет удалены. Этой кнопкой стоит пользоваться при любом изменении блога, о котором плагин не может знать - скажем, если вы поправили файлы шаблона.
Кэшированные страницы отличаются от сгенерированных лишь одним – плагин в конец таких страниц добавляет отладочную информацию вида:
<!-- hyper cache: 3a8bc13e2ebd78ca025616ad626b7c36 13-03-03 01:19:46 --> |
Время в этой строке указано без учета часового пояса.
Если вам необходимо удалить плагин, то просто деинсталлировать и удалить файлы плагина недостаточно. Надо еще отменить изменения в файле wp-config.php, а также удалить файл advanced-cache.php из папки wp-content. Лишь после этого плагин будет корректно удален.
Hyper Cache, на мой взгляд, один из самых удобных для рядового пользователя плагинов кэширования. Минимум настроек, максимум функциональности. Даже у самого дешевого или бесплатного хостера данный плагин позволит легко держать блог с несколькими тысячами посетителей в день.
Hyper Cache
Автор плагина: Stefano Lissa
Рассматриваемая версия: 2.9.1.2 от 27.02.2013
Текущая версия: 3.4.2 от 28.10.2023
Совместимость с версией WordPress: 4.6 и выше
Активных установок плагина: 10 000+
Скачать плагин версии 3.4.2 (всего скачено 1 086 792 раза)
Понравился пост? Подпишись на обновления по RSS или Twitter !
Tipdoma.com tipdoma.com | Prostroiku.info prostroiku.info |
#81,
включите плагин, я посмотрю работает ли он у вас.
#82,
Включил, посмотрите пожалуйста!
#83,
все работает отлично.
не забывайте, кэшированные страницы отдаются обычным посетителям - тем, кто залогинен кэш не отдается. хотите проверить работу плагина просто разлогиньтесь на нем и вы сами сможете увидеть в исходном коде страницы в самом конце метку плагина.
#84,
Отлично? А у вас быстро открывается сайт undelete-file.ru, а другие страницы?
А как же быть с белым экраном? Как решить проблему?
Вот скрин http://prntscr.com/7jbiiw
#85,
быстро.
надо знать из-за чего белый экран происходит, а логи ошибок у вас по этому поводу не слишком информативны. попробуйте увеличить память под php скрипты, добавьте в .htaccess строчку:
может поможет, я не знаю.
#86,
Добрый день!
Также не могу отключить кеширование для некоторых страниц в настройках плагина, а в них необходимо вставить голосование. Не хочется вставлять код в header.php ради пары страниц. Может быть есть какое-либо другое решение? Спасибо.
#87,
а зачем отключать кэширование то? обычно плагины опросов используют js-скрипты, которые грузятся каждый раз заново.
#88,
Понял, спасибо! Буду пробовать!
#89,
Установил Hyper Cache, активировал, но не настраивал, сайт работал нормально.
Настроил плагин. Нагрузка на сервер упала.
Но при входе в админку сайта стала отображаться пустая страница. Удалил куки, не помогло.
В файле error_log две ошибки:
/public_html/wp-content/plugins/google-sitemap-generator/sitemap-core.php on line 1615
/public_html/wp-content/plugins/hyper-cache/plugin.php on line 593
Удалил плагин Hyper Cache (подключился по FTP), но особо ничего не поменялось. При входе в админку выдается сообщение, что неправильное имя или пароль. Когда запрашиваю новый пароль на эл.почту и перехожу по ссылке, которую прислали, то опять появляется пустая страница.
В файле error_log пишет такие три ошибки:
/public_html /wp-content/plugins/platinum-seo-pack/platinum_seo_pack.php on line 115
/public_html /wp-content/plugins/google-sitemap-generator/sitemap-core.php on line 1615
/public_html/wp-includes/load.php on line 154
/public_html/wp-includes/pluggable.php on line 1216
Удалил: google-sitemap-generator, platinum-seo-pack и BackUpWordPress (с ним когда-то давно тоже были проблемы). Не помогло.
В файле error_log теперь вот что пишет:
public_html/wp-includes/pluggable.php on line 1216
public_html/wp-includes/load.php on line 154
public_html/wp-admin/includes/misc.php on line 1114
Кстати, в основной папке, где находится папка /public_html и другие, нашел еще папку cache с пустым файлом: motd.legal-displayed.
Не знаю, можно ли ее удалять?
В технической поддержке провайдера говорят, что у них все нормально и что это проблемы с сайтом.
#90,
очень похоже на то, что сайт заражен вирусами.
попробуйте сделать переустановку движка из консоли.
#91,
Вирусов нет, проверял.
#92,
Что выбрать лучше стоял всегда из за простоты hyper cache, сейчас склоняюсь к WP Super Cache. Этот w3-total-cache не хочу много настроек боюсь наврежу только. WP Super Cache даже активных установок больше намного. Сайты небольшие, собираюсь настроить, при добавлении информации или смене дизайна очистить кеш и отключать наверное плагин данный, т.к. когда еще в след раз что то изменять буду
#93,
WP Super Cache ставьте или Hyper Cache новую версию, я его пользую
#94,
Hyper Cache стоит Версия 3.3.5, это он новая версия?
#95,
Пусть наверное они и стоят, сайты небольшие меняю инфу мало добавляю редко, только после обновления тем как недавно менял заново теги заголовков, копирайты удалял и т.д., послк сразу чистил кеш и делал бекапы.
#96,
да, пусть стоит, чё трогать то
#97,
Думал заменить Hyper Cache на WP Fastest Cache. Сперва сбросив кеш предыдущего, потом деактивировав его и удалив, после удалить строку define('WP_CACHE', true); еще неплохо бы удалить его остатки на хостинге, он создает какие либо папки? Я всегда после каких либо изменений сбрасывал весь кеш, а почитал в WP Fastest Cache есть возможность сбрасывать кеш только измененной страницы. Есть сайты где вообще ничего практически не изменяется, может быть плагин кеширования вообще отключать на них?
#98,
достаточно просто отключить или удалить hyper cache, строку удалять не надо. hyper cache автоматически переслздаёт кеш изменённой страницы, где ничего не меняется кеширование нужно
#99,
После каких либо изменений на сайте, после обновления страницы и чистки всего кеша, изменений не видно, приходится смотреть через режим инкогнито. Стоит плагин кеширования Hyper Cache но ранее с ним же были видны изменения сразу же после обновления страницы, сейчас же нет. В чем может быть проблема?