Объектный кэш в WordPress. Как настроить кэширование wordpress

При разработке собственного сайта мы всегда хотим снизить время загрузки до минимума, и многие сделали это уже почти спортом, стараясь выгадать хотя бы 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. Этот плагин очень прост в настройке, так что, если у вас нет желания заморачиваться с конфигурацией, рекомендуем именно его.

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

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

Инфографика

Явным победителем, судя по инфографике, является плагин W3 Total Cache.

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

Сравнивать будем плагины, которые по-моему мнению одни из лучших:

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

Тема разбивается ниже с соотношением запросы и соотношение размеров для каждого элемента группы.


Испытание проводилось 3 раза для каждого плагина в отдельности с исходными настройками, кэширование на стороне клиента CDN отключены. Итоги ниже:

Эффективность плагинов кэширования
None HyperCache Quick Cache WP Super Cache W3 Total Cache
Сэкономлено времени 0 сек 1.05 сек 1.89 сек 2.00 сек 4.74 сек
Версия плагина н/у v2.9.1.2 v111203 v1.3.1 v0.9.2.9
Время загрузки 7.56 сек 6.51 сек 5.67 сек 5.56 сек 2.82 сек
Запросов 64 60 65 60 26
Байтов 330 KB 326 KB 331 KB 326 KB 268 KB

Все плагины справляются с задачей, но W3 Total Cache лучше справился со своей задачей. (на своем блоге разницу между плагинами HyperCache и W3 Total Cache явная, последний в 3 раза уменьшил кол-во запросов к БД)

Настройка плагина кэширования W3 Total Cache

Рассказать в одной статье про настройку всех 4 плагинов кэширования будет нудно, лучше расскажу про настройку W3 Total Cache .

1) Для начала скачиваем плагин . Появится 2 кнопки плагина в панели админки (в левом сайдбаре) и сверху (в нем нет настроек, только очистка всего кэша):

Основные настройки

Откройте General Settings. В этом разделе основные настройки плагина, которые здесь активируем.

General — Есть возможность сразу активировать возможности плагина, НО есть вероятность, что будут ошибки, и что ваш сайт будет работать некорректно. Поэтому не рекомендую активировать (ставить галочку) у этого пункта. Также здесь есть режим предпросмотра, теста работы, чтобы плагин работал в реальном времени, нажмите на кнопку (disable) в случае, как на скриншоте этого делать не надо.

Page Cache — позволяет создавать кэш для статистических страниц. Благодаря этому увеличивается скорость загрузки сайта. В строке Page cache method:, если у вас виртуальный сервер, то выбирайте пункт Disk (enhanced). Рядом с кнопкой сохранения есть кнопка очистки кэша для данного пункта.

Minify — данная опция позволяет уменьшить размер таких файлов с расширением: .css .js .html . Сделайте на всякий случай бекап перед включением данной опции. С помощью этой опции файлы с этим расширением уменьшаются в размере, за счет удаления пустых строк. НО, если ваш JS скрипты не валидны (Объясню: иногда не ставят в конце строк точку с запятой и браузер понимает, но, когда переносы строк будут убраны, строки сольются в одну, что приведет к ошибкам). Скорости сэкономите немного, зато проблем можете получить достаточно, поэтому можно отключить.

Database Cache — кэширование запросов к базе данных. Рекомендую включить опцию, так как WordPress очень часто обращается к БД, включив данную опцию, количество обращений будет намного меньше.

Object Cache — включение объекта кэширования. Содержит в себе различные объекты из БД. Может, как ускорить сайт, так и нет. Зависит от скорости диска — операций записи и чтения. Проверьте, если ускорит, то включайте.

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

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

Varnish или (Reverse Proxy) — опция включает HTTP-акселератор. Подходит для огромных проектов, для блога можно оставить выключенной данную опцию.

Network Performance & Security powered by CloudFlare — еще одна опция, похожая на предыдущую, по доставке контента из другого хранилища. Включать для не очень большого блога также нет необходимости.

Miscellaneous — доп. настройки. У меня отмечено: Verify rewrite rules — проверяет правила перезаписи на сервере, некоторые плагины могут сбить настройки плагина W3 Total Cache, данная опция скажет об ошибке. Enable Google Page Speed dashboard widget — будет составляться отчет о скорости работы сайта и его оптимизации при помощи Google Page Speed.

Debug Mode — не использую. Хотя, когда было отмечено (Page Cache, Database Cache, Object Cache) запросов к БД было чуть меньше.

Import / Export Settings — импорт и экспорт настроек. Можно сохранить настройки на компьютере. Download — сохранить настройки на компьютере. Upload — загрузить на сайт настройки. Restore Default Settings — восстановить настройки по умолчанию.

Вкладка Page Cache

Следующая вкладка, после General settings. Здесь можно более подробнее настроить параметры кэширования для опции Page Cache . Каждые следующие вкладки — более детальная настройка.

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

Cache Preload — включение предзагрузки кэша. Это позволит быть кэшу всегда быть готовым, готовясь уже в фоновом режиме. Что равномерно распределит нагрузку на сервере. Немного посчитаем: я использую интервал в 100 секунд для создания кэша для 10 страниц. В следующем пункте (Advanced ) я указываю цифру в 2500 секунд ≈ приближенно равно количеству моих страниц (250). Если же я укажу во вкладке Advanced цифру 1500, то будет подготовлено кэша только для 150 страниц. После отведенного времени кэш обнуляется и строится заново. Также укажите адрес к вашей карте сайта, на основе которой и будет готовиться кэш.

Purge Policy: Page Cache, Varnish — установка страниц, кэш которых будет сразу удален после выхода новой статьи. Те страницы, на которых будет показана новая статья будут сразу обновлены и актульны, если же не указать эту страницу, то она некоторое время будет старой, пока кэш не будет обновлен. Остальные страницы, редко используются, что могут быть немного устаревшими.

Advanced дополнительные настройки кэша. Здесь указываем сколько будет жить кэш, после чего он обновится. 3600 секунд — 1 час достаточно, но можно изменить время, все зависит от настроек в пункте Cache Preload . Также можно указать список User-Agent’ов, для которых страница не будет отдаваться из кэша. Очень важно, чтобы боты поисковых систем, индексировали актуальные страницы.

Compatibility mode (Режим совместимости) — снижает производительность на 20%, в обмен на повышение совместимости в работе. Рекомендуется включить для большинства сайтов.

Вкладка Minify

General общие настройки для уменьшения файлов. Устанавливаем: перезаписать структуру URL и отключить уменьшение файлов для зарегистрированных пользователей.

HTML & XML — уменьшение файлов формата HTML и XML. Отмечаем все, кроме Don’t minify feeds . Нижнее окошко нужно для того, чтобы указать какие комментарии оставить в файлах. (комментарии, которые в файлах, а не те, которые оставляют посетители).

JS — настройки для уменьшения JS файлов. Могут быть ошибки при активации пункта, поэтому будьте осторожны. Указываем где проводить слияние, до тега или только в определенных местах. И также отмечаем 2 строчки, как на скриншоте.

CSS уменьшение CSS файлов стилей. @import handling — позволяет применить правило @import , это позволяет импортировать содержимое 1 файла в другой. Выбираем Process.

Advanced — оставляем как есть. Можно изменить время жизни кэша и сборки мусора.

Вкладка Database Cache

General — общие настройки кэша БД. Ставим галочку перед Don’t cache queries for logged in users означает не кэшировать запросы для зарегистрированных.

Advanced — время жизни кэша, сбора мусора, а также страницы, которые не кэшировать и запросы, которые не кэшировать. Оставляем как есть.

Вкладка Browser Cache

Вкладку Object Cache мы пропускаем, т.к. она может быть бесполезной.

General — ставим галочки, как на скриншоте.

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

Вывод: плагин W3 Total Cache очень хороший и отлично кэширует файлы, снижая нагрузку на сайт в несколько раз. Из всех плагинов, что я устанавливал, этот лучший.

При разработке собственного сайта мы всегда хотим снизить время загрузки до минимума, и многие сделали это уже почти спортом, стараясь выгадать хотя бы 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. Этот плагин очень прост в настройке, так что, если у вас нет желания заморачиваться с конфигурацией, рекомендуем именно его.

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

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

Что такое кэш?

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

Именно поэтому кэширование контента вашего сайта так полезно:

— быстро предоставляйте доступ к данным сайта, которые редко меняются

— ускорьте весь процесс загрузки сайта

— предоставьте более качественный пользовательский опыт для всех посетителей своего сайта

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

— приберегите серверные ресурсы и снизьте кол-во крахов

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

Лучшие плагины для кэширования WordPress

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

Плагин – 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 автором: Илья Журавлёв



Просмотров