Важность кэширования в wordpress. WordPress-плагины для кэширования

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

В данной статье я расскажу как с помощью плагина кэширования wordpressWp Fastest Cache — увеличить скорость загрузки сайта.

Перед тем, как перейти к установке плагина, советую прочитать . А прежде чем активировать его и настраивать проверьте уровень оптимизации и скорость загрузки сайта с помощью сервиса Gtmetrix.com .

Вы же должны знать какие проблемы мешают вашему ресурсу работать быстро и насколько высоко сервис его оценивает. Правда же интересно узнать результаты до и после настройки Wp Fastest Cache.

Вот мои результаты:

А вот после:

Улучшением веб-проекта занимаюсь комплексно, поэтому он получил оценки A, близкие к 100%.

Как вы могли заметить циферки изменились незначительно, так может он вообще не нужен? — Нужен и ещё как!

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

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

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

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

Но есть решение, как уменьшить нагрузку с помощью плагина кэширования для wordpress:

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

Как настроить Wp Fastest Cache?

После установки нажимаем на иконку в главной панеле wordpress и переходим к настройкам.

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

Советую придерживаться следующей логики: Чем чаще публикуете контент, тем меньше устанавливать промежуток.

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

Для начала переключите пункты меню на Русский язык. Чтобы изменения вступили в силу, нажмите сохранить.

1. Включаем Кэширование.

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

На картинке ниже красная область отвечает за выбор разделов для которых будут созданы статичные страницы. А вот синяя отвечает за их количество, созданных в минуту: 4 — достаточно, чтобы не создавать большую нагрузку на сервер.

4. Мобильные — в данном пункте я не ставлю галочку. Скорее всего кэширование на мобильных устройствах будет работать нормально итак, но конечно данную функцию необходимо протестировать.

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

Можно выбрать очищать все или только Домашнюю, Категории, Теги и Пагинация. Я выбираю второй вариант.

6. Обновление записи — практически тоже самое, но только при обновлении записи. Так что нажимаем галочку и не будем подробно останавливаться на данном пункте.

7. Сжатие HTML — плагин будет частично чистить код вашего сайта: убирать пробелы и сжимать. Для тех, кто еще не в курсе, ваш веб-ресурс для поисковых роботов выглядит следующим образом:

Я показал пример, когда плагин уже выполнил свою работу. Вы можете зайти на любой сайт и посмотреть его код. Для Google chrome — это комбинация ctrl + U или правая кнопка мыши, а затем Просмотр кода страницы . В большинстве случаев вы увидите красиво структурированные куски кода и много отступов.

На картинке же выше сложно что-то разобрать, но разве это важно!? Эти строчки предназначены для роботов, которым важна суть, а не красота. Так что считаю вполне оправданным включение данного пункта ради снижения веса страниц и уменьшения времени загрузки.

8. Сжатие CSS — действие аналогично предыдущему пункту, но только для css стилей, которые отвечают за вид вашего сайт.

Важно! После включения обязательно проверьте как отображается ваш сайт. Данная функция корректно работает не со всеми шаблонами wordpress. Перед этим не забудьте сбросить кэш.

9. Объединение CSS — в большинстве случаев таких файлов больше 1. Включение данного пункта обеспечивает объединение всех файлов, тем самым уменьшая количество запросов до одного.

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

10. Объединение JS — вы, наверное, сами догадались, чем это вам поможет. Скажу лишь, что это JavaScript — язык непонятный обычному пользователю. Интересно — ищем и читаем в интернете.

11. Компрессия Gzip — архивирует страницы, как программы архиваторы на компьютере. К сожалению, доступно примерно 90% веб-мастеров и зависит от вашего хостинг провайдера.

Работает следующим образом: архивированные страницы с помощью Gzip хранятся на сервере. В момент обращения пользователем распаковываются браузером. А так как компрессия Gzip уменьшает вес страниц, то наблюдается увеличивает скорости загрузки.

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

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

13. Отключить эмодзи — выключает прожорливую бесполезную функцию отображения смайликов.

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

Теперь быстренько пробежимся по остальным вкладкам:

Очистка кэша

Статистика кэша доступна только в премиум версии. А вот ручная очистка доступна и в бесплатной. Причем существует два варианта — второй более полный.

Таймаут кэша

Выбирайте таймаут в зависимости от частоты обновления контента.

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

Оптимизация изображений

Премиум

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

Исключения

В данном разделе можно запретить кэшировать определенные страницы, браузеры, куки, css и js.

CDN — сеть доставки контента.

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

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

Очистка базы данных

Доступно тоже только в премиум версии.

Писал статью не один день, вложил не мало сил, поэтому надеюсь на вашу отдачу в виде комментария!

Всем привет! В сегодняшнем посте я поделюсь с вами 17 способами, которые позволят вам ускорить блог. Мы поговорим про плагины кэширования для WordPress, а именно про hyper cache и его настройку.

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

Итак, все по порядку.

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

Любые значения нужно фиксировать, чтобы потом можно было сравнить точку начальной скорости, а затем после всех изменений посмотреть какой скорость стала. Для этого я порекомендую несколько сервисов. Вовсе необязательно зацикливаться на каком-то одном. Лучше я дам вам побольше выбора. Начну с самого распространенного гугловского сервиса проверки скорости под названием Page Speed. Чтобы найти его в одноименном поисковике просто наберите такую фразу «google page speed test». Самый первый сайт и будет искомый. Вот ссылка на него — https://developers.google.com/speed/pagespeed/insights/

Вводим адрес нашего сайта и нажимаем «Анализировать» (Analyze)

61% из 100% по пользовательскому опыту, т.е по удобству не такой уж и удобный по версии гугла.

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

Здесь уже чуточку получше – индекс 63%.

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

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

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

Нажимаем на кнопку «Go» (Начать) и смотрим на результаты.

Данное исследование показало, что у меня скорость загрузки уровня B, хороший, но не лучший. Средний размер страницы 868Кб, время загрузки – 4.68 секунд. Я считаю, что это плохой показатель, который нужно улучшить. Следующая метрика это Yslow, которая отражает информацию по заголовкам, запросам, кукам, редиректам, яваскриптам, данным, в общем все, что может в техническом плане «съедать» скорость говорит этот показатель. Он вообще никудышный – 72%.

Вот, что показано в отчете:

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

  1. Все изображения должны иметь разрешение по ширине и высоте (Specify image dimension)

Для картинок, что указаны выше не указаны расширения, т.е отсутствуют атрибуты width и height. Решение следующее: переходите по ссылкам и вручную указываете атрибуты длины и высоты картинок, тогда это сообщение у вас должно уйти.

  1. Defer Parsing of JavaScript (Проверка на наличие скриптов и их нагрузка на сервере)

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

  1. Использование кэша браузера (Leverage Browser Caching)

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

Решение есть: необходимо установить следующий плагин — Leverage Browser Caching Ninja.

После его установки и активации у вас появится в блога его ссылка. Нажимаете на нее:

Все, что вам нужно будет сделать, это выбрать чекбокс Enable (Активировать) и нажать на Update (Обновить). На этом шаге все файлы должны будут закэшироваться и этот показатель должен быть в норме.

  1. Оптимизация порядка стилей и скриптов (Optimize the order of styles and scripts)

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

Решение здесь следующее – установка и активация плагина GZip Ninja Speed Compression. С его помощью вы достигните максимальной компрессии всех ваших файлов и скриптов, в результате чего скорость станет значительно выше и показатели в поисковых рейтингах (Google в особенности) будут расти. С ним разбираться особо не нужно. Также устанавливаем и активируем, затем переходим в панель администратора вашего блога и нажимаем на одноименный раздел.

Интерфейс такой идентичный предыдущему, так как разработчик общий 🙂

5. Уменьшите редиректы (Minimize Redirect)

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

Правильный выбор хостинга

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

  • http://www.bluehost.com/wordpress цена символическая — 2.95 доллара в месяц (чуть больше 100 рублей) + специальные условия для пользователей WordPress
  • http://sweb.ru – рекомендую так как пользуюсь сам и использую его на веб сайтах своих клиентов

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

  • Удаляйте неиспользуемые темы

Если на вашем блоге помимо вашей активной темы есть еще и другие, которые не используются, но присутствуют в списке, то избавляемся от них. Особенно, если это стандартные дефолтные шаблоны от Вордпресс. Для этого нужно перейти в панель хостинга или связаться с сайтом по ФТП и войти в папку с темами «Themes» и удалить не нужные.

  • Не используйте в футере или в сайдбаре сайта

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

Сделать это не сложно. Зайдите в админку, кликните на Настройки – Обсуждение и снимите галочку с чекбокса по середине «Разрешить оповещения с других блогов (уведомления и обратные ссылки)»

  • Уменьшите количество вызовов виджетов в сайдбаре

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

  • Постоянно обновляйтесь

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

  • Используйте облегченные темы

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

Можете использовать У меня есть подборка из 67 штук. Все это бесплатно.

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

! ^ http (s ) ? : //(www\.)?feeds2.feedburner.com/wpbeginner

RewriteRule \ . (jpg | jpeg | png | gif ) $ –[ NC , F , L ]

Вместо wpbeginner.com подставьте адрес своего сайта и сохраните изменения.

А сейчас давайте посмотрим, как изменилась скорость загрузки моего блога. Чтобы было с чем сравнить. Переходим снова в наш любимый сервис GTMetrix и нажмем на ссылку Re-Test

Класс! Теперь блог стал загружаться гораздо быстрее! Есть к чему стремиться. Этот показатель я еще увеличу, когда на блоге запустится адаптивная версия Bootstrap. Сейчас ее верстаю. Кстати, решил сравнить свой блог по производительности с блогом Дмитрия (ktonanovenkogo.ru). Его сайт очень популярен в интернете и у него бешенная посещалка. Результаты ниже:

На этом все дорогие друзья. Никогда еще за все время развития сайта я не писал такие очень подробные статьи – 3200 слов (22000 знаков). Я думаю, что теперь ваши сайты будут загружаться быстрее и вы, и ваша целевая аудитория останетесь довольными. Не забывайте ставить лайки и делать репосты.. Пока!

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

Пример объектного кэширования

Рассмотрим пример кэширования SQL запроса.

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

Function myfunc() { return $wpdb->get_results("SELECT ..."); } myfunc(); // SQL запрос myfunc(); // SQL запрос myfunc(); // SQL запрос

Сделаем, чтобы функция работала с объектным кэшем. И теперь только первый вызов функции выполнит SQL запрос, а остальные будут брать данные из кэша.

Function myfunc() { // пробуем получить кэш и вернем его если он есть $cache_key = "my_cache_key"; if($cache = wp_cache_get($cache_key)) return $cache; $value = $wpdb->get_results("SELECT ..."); wp_cache_set($cache_key, $value); // добавим данные в кэш return $value; } myfunc(); // SQL запрос myfunc(); // Кэш myfunc(); // Кэш

Функции объектного кэша

wp_cache_get($key, $group, $force, $found) Получает данные из кэша по указанным ключу и группе. wp_cache_add($key, $data, $group, $expire) Добавляет данные в кэш, если кэша с указанным ключом еще нет. wp_cache_set($key, $data, $group, $expire) Добавляет данные в кэш объектов. Перезапишет кэш, если он существует. wp_cache_replace($key, $data, $group, $expire) Устанавливает/заменяет/обновляет данные указанного кэша, только если кэш уже существует, в противном случает ничего не делает (вернет false). wp_cache_delete($key, $group) Удаляет кэш по указанному ключу и группе. wp_cache_flush() Полностью очищает объектный кэш. Удаляет все элементы объектного кэша. wp_cache_add_global_groups($groups) Добавляет указанную группу объектного кэша в список глобальных групп. Нужно для мультисайта. wp_cache_add_non_persistent_groups($groups) Помечает указанную группу/группы как непостоянный кэш, т.е. который не нужно сохранять для межсессионного использования. wp_suspend_cache_addition($suspend) Временно приостанавливает добавление объектов в объектный кэш.

Где в WordPress используется объектное кэширование?

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

Кэширование объектов в опциях WordPress

Для примера, рассмотрим как работает кэширование объектов в опциях WordPress. Функция get_option() не создает дополнительных запросов в базу данных при множественном вызове, как раз благодаря такому кэшу.

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

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

По умолчанию глобальными группами являются:

Users userlogins usermeta user_meta useremail userslugs site-transient site-options blog-lookup blog-details site-details rss global-posts blog-id-cache networks sites themes

В список глобальных групп можно добавить свою группу, см. функцию wp_cache_add_global_groups("my-global-group") .

Непостоянные группы

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

Иногда надо, чтобы кэш не сохранялся на постоянной основе, а работал как и прежде (только во время генерации страницы). Чтобы добиться этого, можно указать группу для создаваемого кэша объектов и пометить эту группу как «Непостоянная». Делается это с помощью функции wp_cache_add_non_persistent_groups("my-group") .

Так при сохранении кэша в группе «my-group», значение будет сохранено только в локальный кэш (в оперативную память) и не будет сохраняться в хранилище кэширующего плагина, например на сервер Memcached.

Обычно к непостоянным группам относятся группы:

Counts plugins themes

Отключение кэша объектов

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

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

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