Тарифы Услуги Сим-карты

Hyper Cache — включаем плагин кэширования в Вордпресс для оптимизации WP блога и снижения его нагрузки на сервер хостинга. Кэширование WordPress блога с помощью плагина Hyper Cache — установка и настройка

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

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

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

Кэширование в WordPress и как при этом работает блог

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

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

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

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

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

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

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

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

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

Герой сегодняшней публикации (плагин Hyper Cache) кэширует странички целиком и хранит их HTML версии в своей папке с кэшем. Что примечательно, кэширование работает только для незарегистрированных посетителей вашего блога. Т.к. у большинства блогеров регистрация не используется, то единственным зарегистрированным пользователем в этом случае будет лишь администратор, т.е. вы.

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

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

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

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

Установка плагина Hyper Cache на Вордпресс

Скачать Hyper Cache вы можете с официальной страницы . Далее осуществляем стандартные действия по установке. Распакуйте архив hyper-cache.zip , используя ftp-менеджер () подключитесь к вашему сайту и загрузите папку hyper-cache в папку с плагинами wp-content/plugins/ на удаленном хосте.

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

Define("WP_CACHE", true);

Вставить ее можно в любое место до строки:

/** Абсолютный путь к директории WordPress. */ if (!defined("ABSPATH")) define("ABSPATH", dirname(__FILE__) . "/");

Я, например, вставил в область, где идет задание параметров для базы данных:

/** Имя базы данных для WordPress */ define("WP_CACHE", true); define("DB_NAME", "wm1604_ox823");

Войдите в админку Вордпресса, выберете вкладку «Плагины»- «Inactive», найдите строку с этим плагином и активируйте его. Далее выберете из левого меню Параметры -> Hyper Cache. Если в окне с настройками никаких предупреждающих сообщений не появилось, то все готово к работе.

Если предупреждения появились, то скорее всего поможет выставление прав доступа 777 на папку (читайте об этом в статье про Файлзилу по приведенной чуть выше ссылке) wp-content или папку wp-content/plugins/hyper-cache .

Это нужно для того, чтобы данный плагин мог создать в WordPress папку для хранения кэшированных вебстраниц под названием cache . После того, как он ее создаст, вы можете вернуть права доступа () на папку wp-content и папку wp-content/plugins/hyper-cache обратно на 755, а уже папке cache , которая у меня находится в wp-content/plugins/hyper-cache/cache , назначить права 777, чтобы Hyper Cache имел возможность записывать в нее и стирать HTML-файлы с кэшем.

Настройки Hyper Cache для снижения нагрузки на сервер

В первом поле настроек (в левом меню выбрать Параметры — Хипер Кеш) под названием «Файлы в кэше» вы можете видеть, сколько вебстраниц вашего блога в данный момент сохранено в кэше.

В этом же поле имеется очень важная кнопка «Clear cache» , которая позволяет сбросить кэш, т.е. удалить из отведенной для этой цели папки все имеющиеся там файлы. Эта кнопка вам может понадобиться в том случае, если вы, например, внесли изменения в дизайн и хотите, чтобы их увидели ваши посетители как можно быстрее. Потому как в противном случае, им будет по-прежнему доступна только кэшированные версии вебстраниц.

В области «Конфигурация» сосредоточены основные настройки.

В поле «Таймаут кэшированных страниц» вы можете выставить время жизни кэша в WordPress. В течении этого времени в папке cache будут храниться HTML копии вебстраниц вашего блога и все пользователи, запрашивающие их, будут получать именно эти копии.

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

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

При выборе «Только измененные записи» будут обновляться (удалены из кэша) только файлы кэша тех вебстраниц, которые были изменены. Галочка в поле «При аннулировании записи также аннулировать домашнюю страницу, страницы архивов и категорий» добавит вам удобства при работе с блогом.

В поле «Отключить кэш для комментаторов» можно поставить галочку. В этом случае пользователи смогут видеть добавленные ими комментарии не дожидаясь истечения времени жизни кэша для данной вебстраницы. Это делает кеширование в Вордпрессе менее эффективным, но сам блог более удобным. Галочка в поле «Кэширование RSS» позволит кэшировать RSS ленту.

В области «Сжатие», поставив галочку в приведенных полях, вы можете страниц находящихся в кеше. Это позволит немного ускорить загрузку страниц вашего блога.

В области «Экспертные настройки» желательно будет поставить галочку в поле «URL с параметрами» . В моем случае, после ее установки нагрузка блога на хостинг уменьшилась вдвое.

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

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

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

Откройте любую страницу блога и посмотрите ее исходный код. Для этого нужно щелкнуть правой кнопкой мыши по странице в вашем браузере и выбрать пункт контекстного меню «Исходный код» (), либо «Исходный код страницы» (Firefox), либо «Просмотр кода страницы» (Google Chrome), либо «Просмотр HTML-кода» (IE).

Если вы увидите в самом низу окна с исходным кодом что-то вроде

то это будет означать, что Hyper Cache работает и при следующем запросе эта страница будет открываться им из кэша.

Удачи вам! До скорых встреч на страницах блога сайт

посмотреть еще ролики можно перейдя на
");">

Вам может быть интересно

Снижение потребляемой в WordPress памяти при создании страниц - плагин WPLANG Lite для подмены файла локализации Как в плагине Yet Another Related Posts убрать прозрачный пиксель http://yarpp.org/pixels и изменить надпись Похожие материалы
Simple Counters и Category and Page Icons - красивые счетчики RSS и Twitter, а так же иконки для категорий и страниц в WordPress
Как обновить WordPress вручную и автоматически, а так же плагин Database Backup для резервного копирования
Оптимизация темы (шаблона) WordPress для снижения его нагрузки на сервер хостинга, плагин WP Tuner и число запросов к БД Как отключить комментарии в WordPress для отдельных статей или всего блога, а так же убрать или наоборот подключить их в шаблоне

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

Польза кэширования

Небольшое отступление. Если все же кто-то еще сомневается в необходимости кэширования, то знайте, с 21 апреля Googleобъявил что все mobile-friendly сайты (а скорость - это одно из составных «friendly») получаютсущественное преимущество в результатах поисковой выдачи. Намерения Google предельно ясны – SEO-специалистам и вебмастерам необходимо работать над производительностью как десктопной, так и мобильной версии сайта.

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

WordPress формирует страницы динамически, что приводит к большому количеству запросов к БД. Кэширование же динамически создаваемых страниц позволяет пользователям видеть обычные HTML-страницы, что значительно уменьшает время загрузки страницы и снижает нагрузку на сервер.

Детали теста по кэшированию

В самом начале планировалось использовать в тестах 2 темы – простейшую «twenty-fourteen» и более сложную (которая будет имитировать «реальный» сайт). Но во время тестов оказалось, что влияние кэширования на скорость загрузки темы «twenty-fourteen» настолько минимально, что им можно пренебречь. Важнее оказалась тонкая настройка сервера, но сегодня статья не об этом.

В итоге мы будем использовать только 1 тему (тема Novelty от Tesla Themes). Тестовая страница оформлена с применением графики и текста. Также присутствует сайдбар и несколько плагинов (новости, фид из Twitter/Instagram). Хостинг использовался от WP Dev Shed. В итоге мы получили страницу с относительно большим временем загрузки.

Т.к. сайт новый, то у него не было посещаемости (в том числе, во время тестирования, не было даже ботов ПС). Сервер работал в связке Apache+ Ngnix.

В тесте участвовали следующие плагины:

  1. AIO Cache
  2. WP Fast Cache
  3. WP-Cache.Com
  4. Alpha Cache
  5. Flexicache
  6. Bodi0’s Easy Cache
  7. Hyper Cache
  8. Hyper Cache Extended
  9. Cachify
  10. Lite Cache
  11. Next Level Cache
  12. Really Static
  13. Super Static Cache
  14. W3 Total Cache
  15. Gator Cache
  16. Wordfence Falcon
  17. WP Fastest Cache
  18. WP Rocket
  19. WP Super Cache
  20. Zen Cache (formerly Quick Cache)

За тестом остались:

Brutal Cache - не работал;

Batcache - плагин с зависимостью от Memcache, что не использовалось в текущем тесте.

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

Инструменты бенчмаркинга

В качестве инструментов мы использовали сервисы от Google, GTMetrix и Yahoo. Благодаря этому тестировалась не только скорость загрузки страниц, но и:

  • оптимизация изображений;
  • минификация и оптимизация js- и css-кода;
  • использование кэширования в браузере;
  • временная задержка сервера;
  • использование Gzip-сжатия;
  • размещение скриптов;
  • количество HTTP-запросов.
  • использование CDN, распараллеливания/доменного шардинга;

Google PageSpeed Insights

Сайт проверяется как с точки зрения десктопного ПК, так и со стороны мобильного устройства. Результат выдается по 100-балльной шкале. Сервис прост в использовании, но предоставляет относительно сырой результат, не дающий полного понимания всего, что может быть улучшено.

GTMetrix и YSlow

Основаны наруководстве по повышению производительности ресурса от Yahoo. Опять используется 100-балльной шкала. Сервисы работают более, чем с 50 различными метриками. GTMetrix даже визуализирует данные в диаграмму-водопад процесса загрузки. По нашему мнению – это один из лучших инструментов для определения способов повышения производительности сайта.

Тайминг

Для определения скорости загрузки страниц и проверки работы сервера под нагрузкой использовались следующие инструменты:

ApacheBench

Служит для определения нагрузки на сайт, вычисляет максимальное количество запросов в секунду. Во время теста отправлялось 1000 запросов по 10 различным потокам. Тест проводился 10 раз. Записывался лучший результат по каждому из плагинов.

Очень известный сервис по мониторингу и тестированию сайтов. Проводилось 20 тестов с каждым плагином и с фиксацией наилучшего результата.

Простой, но полезный сервис, показывающий время полной загрузки страницы именно в вашем браузере. Это не серверный инструмент, а сервис, запускаемый локально. Мы выбрали способ загрузки через Ethernet, браузер Opera. Каждая страница была загружена 101 раз с фиксированием среднего времени загрузки.

Итак, приступим к тестам.

Google, GTMetrix и Yslow

Результат тестирования страниц сайта с использованием указанных сервисов:

Как видно из таблицы, некоторые плагины здесь никак не проявили себя - оценка такая же или очень близка к оценке без кэширования. Google поставил лучшую оценку Super cache (и для десктопа, и для мобильного устройства). В GTmetrix и Yslow лучший результат показали Fastest Cache и Rocket. Как мы уже говорили, оценка от Googleменее информативна, т.к. он использует меньше факторов при оценке.

Итак, лучшими плагинами оказались WP Super Cache, WP Fastest Cache, и WP Rocket Cache.

Тайминг

Оценочные баллы в основном показывают качество кода сайта. Это даёт понимание того, что можно сделать для ускорения сайта. При этом высокие оценки сайта не означает, что он загружается быстрее, чем другие. И в этом главная ошибка - оценочные инструменты дают обилие идей по улучшению сайта для снижения времени загрузки, но при этом само время загрузки практически не принимается во внимание. Ниже – наглядный пример (скриншот из Pingdom).

Страница заработала 96 из 100 баллов (это лучше, чем у 99% страниц любых сайтов). При этом, страница грузится около 35 секунд. Вот до чего может довести слепая оптимизация.

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

ApacheBench

Выявим максимальное количество запросов в секунду, которое способен поддерживать наш сервер. Чем больше цифра, тем лучше.

Лучший результат показал WP Rocket. Второе и третье место поделили WP-Cache.com и WP Fastest Cache.

Результат без кэширования - 2,78 секунды. Все плагины смогли улучшить этот показатель.

Безусловный лидер – опять WPRocket. Super Cache – второй, W3 Total Cache – третий.

Здесь мы решили вывести не только средний, но и медианный результат тестирования.

Среднее время загрузки

Ситуация аналогично предыдущему тесту. Тройка лидеров не изменилась – WPRocket, WPSuperCacheи W3 TotalCache.

Медианное время загрузки

Лидер все еще WP Rocket, но при этом практически неизвестный WP-Cache.com вновь показывает весьма неплохой результат.

Не кэшированием единым

Безусловно, не всё зависит только от кэширования. Свою роль играют выбор связки Apache+Nginx, верность настройки сервера и его тип (выделенный, VPS, шаред), количество и качество (оптимизация) изображений и многое другое.

Вывод

У всех представленных плагинов разная функциональность. Некоторые до неприличия просты, другие же можно сравнить со швейцарским ножом. Super Cache, W3 и прочие аналогичные плагины часто в своей работе используют профи, знакомые с CDN и прочими хитростями. Другие пользователи (особенно начинающие) останавливают свой выбор на более простых плагинах (Lite Cache или WP-Cache.com). Кстати, WP-Cache.com, несмотря на свою малоизвестность, смог показать отличные результаты.

Какой же плагин для WordPress лучше кэширует?

На первом месте (с большим отрывом) - WP-Rocket. У него много плюсов, но есть одно НО (для многих это будет минусом) – он платный. Разработчики хотят за него $39 (причем обновления не life-time, а только год)

На втором месте (хотя учитывая бесплатность, его можно тоже поставить на первое) -WPSuperCache. Результаты почти, как и у лидера, но зато он абсолютно free!

На третьем - WP-cache.com. Смущает только то, что он последний раз обновлялся в 2014 году.

Но зато он прост, бесплатен и показывает достойные результаты.

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

Небольшая ремарка о кэшировании


Google недавно объявил, что все mobile-friendly сайты (а скорость - это путь к тому, чтобы быть «friendly») получают существенное преимущество в поисковой выдаче , начиная с 21 апреля. Возможно, вы уже видели тег «mobile friendly» в поисковой выдаче. И в Google Page Insights первая же панель адаптирована под мобильные устройства, а не под десктопы. Намерения Google ясны, и звучат громко для любого SEO-специалиста или вебмастера. Сейчас важно работать над производительностью как десктопной, так и мобильной версии сайта, что мы и попробовали отобразить в бенчмаркинге.

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

WordPress (и большинство сайтов на CMS) динамически формируют страницы на лету, что требует многократных обращений к базе данных для получения различных частей контента. Кэширование этих динамически формируемых страниц позволяет пользователю видеть обычные HTML-страницы. Это значительно снижает время загрузки и разгружает сервер.

Подробности теста

Изначальная идея базировалась на использовании как простейшей темы типа , так и более сложной темы, что позволит смоделировать более «реальный» сайт. Но во время проведения тестов выяснилось, что влияние плагинов на скорость загрузки сайта с темой «2014» было минимальным, и писать почти не о чем. Но есть много приёмов, позволяющих улучшить производительность «2014», так что здесь более важна настройка сервера, а не кэширование.

Для того, чтобы сделать тестируемый пустой сайт максимально приближенным к реальности, использовалась тема Novelty от Tesla Themes. Тестируемую страницу сайта оформили с использованием графики и текста, был добавлен сайдбар и некоторые плагины (вывод новостей, фид из Twitter/Instagram). Теперь у нас страница, загрузка которой занимает относительно много времени. Да, в качестве хостинга использовался вот этот WordPress хостинг .

Плагины, которые тестировались:

  • AIO Cache
  • Alpha Cache
  • Bodi0’s Easy Cache
  • Cachify
  • Flexicache
  • Gator Cache
  • Hyper Cache
  • Hyper Cache Extended
  • Lite Cache
  • Next Level Cache
  • Really Static
  • Super Static Cache
  • W3 Total Cache
  • Wordfence Falcon
  • WP Fast Cache
  • WP Fastest Cache
  • WP Rocket
  • WP Super Cache
  • WP-Cache.Com
  • Zen Cache (formerly Quick Cache)
Остались ещё:

Brutal Cache - просто не работал;Batcache - плагин с зависимостью от Memcache, что не использовалось в текущем тесте.Autoptimize и Widget Cache также остались за бортом, поскольку они являются поддержкой для других плагинов, это не совсем самостоятельные плагины.

Хостинг и инструменты бенчмаркинга


Во время проведения тестов мы работали с аккаунтом на шаред-хостинге, схожим с большинством других вариантов. Таким образом, мы получаем скорость загрузки, достижимую для «бюджетных» пользователей. У тестируемого сайта не было посещаемости, на него не заходили поисковые боты во время тестирования. Сервер работал с Ngnix в качестве прокси, а не с чистым Apache.

В качестве инструментов использовались сервисы, предлагаемые Google, GTMetrix и Yahoo. Благодаря этому стало возможным тестировать не только скорость загрузки страниц, но и другие факторы, среди которых:

  • оптимизация изображений;
  • временная задержка сервера;
  • минификация и оптимизация js- и css-кода;
  • использование кэширования в браузере;
  • размещение скриптов;
  • использование CDN, распараллеливания/доменного шардинга;
  • использование Gzip-сжатия;
  • количество HTTP-запросов.

Google PageSpeed Insights

Сервис PageSpeed Insight проверяет сайт как с точки зрения десктопного ПК, так и со стороны мобильного устройства, выдавая оценку по 100-балльной шкале. Page Speed Insights прост в использовании, но предоставляет относительно сырой результат, который не даёт полного понимания того, что может быть улучшено. Даже несмотря на то, что инструмент даёт представление о некоторых вещах, которые Google может находить важными, информация, предоставляемая GTMetrix и Yahoo, намного полнее.

При этом Google во время оценки не принимает во внимание CDN, поэтому в некоторых случаях оценка занижена.

GTMetrix и YSlow

GTMetrix и YSlow основаны на руководстве по повышению производительности ресурса от Yahoo , оценка также выводится по 100-балльной шкале. Эти инструменты гораздо более изощрены в плане проведения измерений. PageSpeed Insight даёт всего несколько подсказок о том, что может быть улучшено, в то время как GTMetrix YSlow работают с не менее чем 50 различными метриками. GTMetrix также предлагает диаграмму-водопад, препарируя процесс загрузки, а также весьма продвинутую историю загрузки. Если вы хотите понять, как повысить производительность вашего ресурса, это один из лучших инструментов.

Тайминг

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

ApacheBench

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

Стоит отметить, что использование Nginx несколько снижает различие между работой сайта с плагинами/без плагинов. По этому поводу можно спорить, но в случае использования Nginx зафиксирована двукратная разница по сравнению с Apache.

Pingdom

Pingdom - хорошо известный сервис для мониторинга и тестирования. С каждым плагином проводилось 20 тестов, с фиксацией лучшего результата. Отметим, что сервер был расположен в Швеции (Стокгольм), а сервер Pingdom - в Нидерландах (Амстердам).

Webwait

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

Итак, с описанием всё, теперь приступим непосредственно к тестам.

Google, GTMetrix и Yslow

Страницы сайта тестировались с использованием указанных сервисов, вот результат:


Как видим, некоторые плагины здесь просто никак не проявились - оценка такая же или очень близка к оценке, когда кэширование вообще не используется. Google дал лучшую оценку Supercache как для десктопа, так и для мобильного устройства. В GTmetrix и Yslow мы видим, что Fastest Cache Rocket впереди планеты всей. Мы склонны оценивать последние значения как более важные, поскольку Google Page Insight для оценки использует меньше факторов.

Итак, лучшими плагинами оказались WP Fastest Cache, WP Super Cache и WP Rocket Cache. Победитель - WP Super Cache с работой через мобильный девайс. Кэширование для мобильных было также включено, о нём не забыли.

Тайминг

Как уже говорилось выше, оценочные баллы являются в большей мере показателем качества кода сайта. Они дают понимание того, что можно сделать для ускорения сайта, хотя более высокая оценка у сайта вовсе не значит, что он загружается быстрее, чем другие ресурсы. И в этом ошибка - оценочные инструменты дают идеи по улучшению сайта для снижения времени загрузки, но время загрузки не принимается во внимание в достаточной степени. Вы поймете это, взглянув на скриншот из Pingdom.
Как видите, тестируемая страница получила 96 из 100 баллов, что, вероятно, лучше, чем у 99% страниц любых сайтов. Тем не менее эта страница загружается почти 35 секунд. Корректен ли результат? Сделайте вывод сами:)

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

ApacheBench

Итак, тестируем наш сервер на его способность поддерживать выполнение большого количества запросов. Чем больше показатель числа запросов за секунду, тем лучше.


Без кэширования сервер показывает результат в 18 запросов за секунду. Это довольно неплохой результат, который стал возможным благодаря использованию Nginx. На каждый запрос уходит примерно 1/500 с.

Здесь мы видим, что Hyper Cache Ext, WP Fastest Cache, WP-Cache.com и WP Rocket улучшают результат на 300% по сравнению с работой без кэширования. WP Rocket - самый быстрый и WP-Cache.com занимает второе место.

Здесь очевидно проявляется преимущество использование плагинов кэширования - вы можете держать в три раза больше запросов. Используя Nginx, хороший плагин кэширования, и, может быть, что-то вроде Varnish, вы получаете сервер, который летает.

Pingdom

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

Webwait

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

Среднее время загрузки

Медианное время загрузки


Как видим, практически неизвестный WP-Cache.com работает весьма неплохо.

Не кэшированием единым

Конечно же, далеко не всё зависит от кэширования. Важную роль играют и такие факторы, как выбор Apache, Nginx и т. п., корректность настройки, тип сервера (выделенный, VPS, шаред), количество изображений и их оптимизация, HTTP-запросы. Собственно, об этих факторах на «Хабре» знают практически все, поэтому останавливаться на них мы не будем.

Вывод

У всех плагинов, которые здесь представлены, разная функциональность. Некоторые очень просты, в то время как другие можно сравнить со швейцарским ножом. Super Cache, W3 и прочие плагины зачастую используют профи, которые знакомы с CDN и прочими премудростями. Другие пользователи предпочитают работать с более простыми плагинами вроде Lite Cache и WP-Cache.com. Кстати, WP-Cache.com, как говорилось выше, малоизвестный плагин, который показал отличные результаты.

Кто победитель?

На первом месте - WP-Rocket , платный плагин, над которым работает целая команда специалистов. За установку разработчики просят $39, а за безлимитку - $199.

На втором месте - WP Super Cache . Здесь результаты почти такие же, как и у лидера.

На третьем месте - WP-cache.com , заслуженный призёр. Похоже на то, что над созданием этого плагина работали ничуть не менее способные разработчики, чем над WP-Rocket. Этот плагин очень прост в настройке, так что, если у вас нет желания заморачиваться с конфигурацией, рекомендуем именно его.

Плагин – WP Fastest Cache является одним из лучших плагинов для кэширования файлов на сайте wordpress. Плагин достаточно простой и имеет минимум настроек. Особенности и преимущества плагина:

Настройки плагина на Русском языке!

Использует быстрый модуль Mod_rewrite, используется в файле htaccess.

Все файлы кэша удаляются при публикации записи или страницы.

Можно вручную удалять весь кэш.

Можно вручную удалять оптимизированные CSS и JS файлы на странице Параметры.

Функция “Блок кэш” для конкретной записи или страницы. Если вставить на страницу специальный шорткод, то страница не будет кэшироваться.

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

Включить или отключить кэш для мобильных устройств.

Включение или отключение кэширования для зарегистрированных пользователей.

Уменьшение размера HTML страницы.

Уменьшить размеры CSS файлов.

GZIP сжатие.

Браузерное кэширование, уменьшить время загрузки страницы для повторных посетителей.

Объединение CSS файлов, для уменьшения http запросов.

Установить плагин вы сможете прямо из админ-панели wordpress. Перейдите на страницу: Плагины – Добавить новый , введите название плагина в форму поиска, нажмите Enter, установите и активируйте плагин.

После установки и активации плагина, перейдите на страницу: WP Fastest Cache , чтобы настроить плагин. Чтобы включить Русский язык, внизу страницы, в последнем поле, выберите Русский язык и Сохраните настройки .

Настройки

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

– Preload, можно заранее создавать кэш для всех страниц, не дожидаясь пока посетитель зайдёт на ваш сайт. Поставьте галочку, в открывшемся окне поставьте 4 галочки и нажмите – ОК.

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

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

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

– Сжатие CSS, поставьте галочку, чтобы уменьшать размер CSS файлов.

– Объединение CSS, поставьте галочку, чтобы объединять CSS файлы в один, для уменьшения http запросов.

– Объединение JS, поставьте галочку, чтобы объединять JS файлы, для уменьшения http запросов.

– Компрессия Gzip, включение GZIP сжатия файлов. Внимание! перед тем как включать данную функцию, . Если у вас уже включено GZIP сжатие, то галочку ставить НЕ нужно!

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

Сохраните настройки .

Остальные страницы

Очистка кэша, здесь можно – Очистить весь кэш или Очистить весь кэш и сжатые CSS/JS файлы .

Таймаут кэша, здесь можно установить временной период для авто-обновления кэша. Нажмите на кнопку – Add New Rule . В открывшемся окне выберите страницы для кэширования, укажите временной период и нажмите на кнопку – Save .

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

– CDN, можно подключить функцию CDN для доставки контента с другого сервера. Можно перенести файлы на другой сервер, тем самым вы снимите нагрузку со своего сервера. Платная услуга.

Блок кэш

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

Обновлено: Апрель 17, 2018 автором: Илья Журавлёв

Тема избитая, есть много постов про кэширование WordPress, но столкнувшись с этим вопросом, я не смог найти ни одной статьи, которая бы однозначно ответила на вопрос «Какой плагин лучше использовать для кэширования WordPress?». И тогда я решил сам разобраться и ответить на этот вопрос. И как думаете, ответил?)

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

Начал делать несколько небольших тематических сеток сателлитов на WordPress. Для этого взял несколько недорогих хостингов, которые позволяют разместить 5-10 сайтов. Я понимаю, если поставить на такие хостинги 5-10 WordPress в «голом виде», то даже при небольшой посещаемости, они будут превышать установленные для аккаунта нагрузки на сервер и меня попросят съехать. Именно это и подтолкнуло меня разобраться с темой кэширования и постараться максимально оптимизировать WordPress в плане нагрузки на сервер.

На некоторых блогах, которые я читаю, мне попадались отзывы о скрипте для кэширования WordPress — maxcahe. Поэтому когда я начал искать плагин для кэширования, я вспомнил именно про maxcahe. Нашёл страничку плагина, но когда начал читать, выяснилось, что этот скрипт платный. Цена 30$ не так высока и можно было купить, но этот скрипт можно использовать на ограниченном количестве сайтов. Чтобы увеличить количество сайтов, на котором можно использовать скрипт, нужно доплатить за каждый новый домен. То есть чтобы установить скрипт на дополнительный сателлит, нужно связаться с автором, оплатить дополнительный домен… в общем этот вариант мне не понравился. Учитывая то, что за обзор и хороший отзыв о скрипте, автор материально поощряет оставивших такой отзыв, то ценность таких отзывов снижается. Да и зачем платить, если есть аналогичное и бесплатное. В общем, решил пока разобраться и найти бесплатный аналог, которых, как оказалось, не так мало.

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

Существующие плагины для кэширования WordPress

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

WP Super Cache Этот плагин аналогичен WP-Cache. WP Super Cache, при обращении пользователя к конкретной странице блога, сохраняет статистическую копию страницы на сервере. При следующем обращении пользователей к содержимому этой же страницы, загружается сохранённая копия страницы.

WP Widget Cache Из названия плагина можно понять его функции. Плагин WP Widget Cache кэширует виджеты вашего блога. Это уменьшает количество запросов к базе банных, что ускоряет загрузку страниц и уменьшает нагрузку на сервер. Если использовать плагин, который кэширует содержимое страниц полностью, то в использовании этого плагина не вижу смысла.

DB Cache Этот плагин отличается от предыдущих. Он не сохраняет страницы, а сохраняет запросы к базе данных.

1 Blog Cacher Ещё один плагин для кэширования. 1 Blog Cacher аналогичен WP-Cache. Он сохраняет ответы на запросы к сайту в отдельные локальные файлы, помещая их в директории, которые соответствуют структуре ссылок вашего сайта.

Hyper Cache Этот плагин также как и WP Super Cache кэширует запросы к вашему блогу, создавая статистические страницы.

w3 Total Cache Ещё один плагин для кэширования WordPress. Плагин кэширует данные, создавая статистические страницы. Отличительная особенность этого плагина в том, что он поддерживает сжатие скриптов, CSS, кэш для базы данных.

WP File Cache Плагин для кэширования WordPress, который позволяет производить долгосрочное кэширование на уровне запросов, сессионное кэширование часто изменяющихся объектов. Подробное описание плагины Вы найдёте на странице плагина на блоге автора по ссылке ниже.

WP Simple Cache Ещё один плагин для кэширования. По отзывам, от аналогов отличается простотой настройки и использования.

MaxCache Платный скрипт для кэширования WordPress. По словам автора и по отзывам, MaxCache превосходит на голову все плагины WordPress для кэширования. на английском.