Тестирование и сравнение нескольких плагинов для кэширования WordPress. Функции объектного кэша. Плагин LiteSpeed Cache

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

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

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

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

WordPress-плагины для кэширования

Один из лучших плагинов кэширования для WordPress – это WP Rocket. Этот премиум плагин можно купить за $39 для одного сайта. Но это явно того стоит и поэтому уже стал выбором для десятков тысяч пользователей. Если вы не знакомы с кэшированием, и у вас нет времени или желания на изучение этого вопроса, и вы просто хотите перепоручить кэширование плагину, то WP Rocket вам подойдет. WP Rocket предлагает сжатие статичных файлов, уменьшение веса ваших файлов HTML, CSS и JavaScript, что в свою очередь способствует быстрой загрузке страниц. Он также умеет загружать изображения по запросу, подобно таким крупным сайтам, как Yahoo, Facebook и YouTube.

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

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

Самые впечатляющие функции WP Rocket:

  • Простая установка;
  • Практически немедленные результаты;
  • Продвинутые опции для более опытных пользователей;
  • Поддержка сетей доставки контента;
  • Функции для интернет-магазинов;
  • Поддержка преиум пользователей;
  • Большое количество онлайн документации.

Минусы: отсутствие бесплатных опций: вы не сможете попробовать WP Rocket, пока не купите его.

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

Еще один великолепный и простой в использовании WordPress плагин – это ZenCache. Самые базовые функции расширения доступны бесплатно, и это делает его хорошим выбором для тех, кто хочет сохранить не только время и усилия, но и деньги. Но если вы хотите получить что-то типа WP Rocket, то вам придется обновиться до pro-версии. Раскошелиться придется также на $39 минимум, но лицензия будет действительна в течение трех лет, а не года как у многих конкурентов.

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

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

Самые лучшие функции плагина:

  • Бесплатные базовые функции;
  • Сжатие файлов;
  • Кэширование для авторизованных пользователей и членов сообщества;

Плюсы: можно попробовать перед покупкой;

Минусы: пользовательский интерфейс выглядит не особо привлекательно.

Цена: бесплатно или $39 за доступ к про-версии для одного сайта.

Бесплатная версия ZenCache уже дает вашему сайту скоростное преимущество, но если вам нужно больше, то всегда есть про-версия, до которой всегда можно обновится.

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

Хотя W3 Total Cache был разработан для всех типов сайтов, все же лучше использовать его для крупных сайтов, так как при его наличии любой сайт быстро загружается даже при наплыве посетителей. Плагин позволяет сохранить до 80% трафика, минимизируя контент, а также используя HTTP-сжатие для HTML, CSS, JavaScript и фидов.

Лучшие функции W3 Total Cache:

  • Бесплатный;
  • Легко включить режим по умолчанию;
  • Присутствуют премиальные адд-оны;
  • Богатство настроек и опций;
  • Очень популярный плагин, который высоко оценивается пользователями;
  • Потенциальная возможность разогнать сайт в 10 раз;
  • Минимизация и сжатие файлов;
  • Поддержка большинства популярных систем доставки контента;
  • Огромное количество плагинов позволяет вам обрести полный контроль над процессом кэширования.

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

Цены: бесплатно или $99 за про-версию.

W3 Total Cache устанавливается в один клик, но вам нужно очень внимательно почитать о том, как его настроить, ведь только тогда вы сможете извлечь из него максимальную пользу.., возможно.

Если вы ищите бесплатный плагин попроще, то возможно, это – ваш вариант. Этот плагин предлагает меньше опций, чем W3 Total Cache, но его функциональность опять же впечатляет.

Сейчас WP Super Cache – это самый популярный выбор WordPress-пользователей. Он работает, показывая 99% ваших пользователей статичные файлы. Плагину делает это, используя режим переписи или PHP. Для 1% пользователей, которые знакомы сайту, плагин использует кэширование наследия. Этот плагин также хорош для сайтов-сообществ. Рекомендованные настройки для него также очень просты.

Самые впечатляющие функции WP Super Cache:

  • Бесплатный;
  • Впечатляющий набор не слишком сложных настроек;
  • Хорошие отзывы тысяч пользователей;
  • Минимизация и сжатие файлов;
  • Поддержка популярных сетей доставки контента;

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

Минусы: подобно W3 Total Cacheплагин может оказаться сложноватым для некоторых пользователей. Нет про-версии и премиальной поддержки. Не на всех хостингах работает эффективно.

Цена: бесплатно

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

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

Если вы ищите легкий плагин для WordPress, то это — ваш вариант. Cache Enabler работает, просто конвертируя динамичные файлы в статичные HTML-файлы. Эти файлы хранятся на вашем сервере и быстро восстанавливаются в случае необходимости.

Вы можете установить и настроить плагин Cache Enabler быстро и легко. Плагин предполагает автоматическую чистку КЭШа, когда это необходимо, хотя вы можете сделать это и вручную.

Самые впечатляющие функции Cache Enabler:

  • Бесплатный;
  • Создан командой опытных разработчиков в области оптимизации сайтов;
  • Легкая инсталляция по шагам;
  • Поддержка популярных сетей доставки контента;

Плюсы: простой в установке и легковесный плагин кэширования

Минусы: плагин сравнительно новый, так что он не так авторитетен, как более старые и бесплатные аналоги.

Цена: бесплатно

Cache Enabler – новый плагин на который стоит обратить внимание, если вы хотите разогнать ваш 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:

В ажность кэширования в wordpress

Ч то такое кэширование?

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

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

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

П реимущества кэширования

Существуют различные преимущества кэширования в WordPress, такие как:

  • Прежде всего, это повышает скорость и производительность вашего сайта. Статические кэшированные файлы загружаются быстрее, чем запросы динамической базы данных, что приводит к более быстрой и лучшей производительности вашего сайта.
  • Кэширование также может помочь снизить нагрузку на ваш сервер хостинга. Это может сохранить память сервера и операции ввода-вывода. В результате кэширование быстро становится важной функцией, особенно для людей с ограниченными хостинговыми планами.
  • Более быстрые веб-сайты не просто загружаются быстро, но и получают выгодный ранг в поисковых системах. Это, очевидно, сильно зависит от других показателей, таких как качество вашего контента и настройки вашего SEO. Но при прочих равных условиях сайт, который загружается быстрее, получит более высокий рейтинг, чем более медленный. Google подтвердил, что он учитывает страницы страниц.
  • Кэшированные веб-сайты обеспечивают лучший пользовательский интерфейс в целом. Более быстрый сайт помогает пользователям лучше просматривать. Кроме того, кэшированный сайт означает, что полоса пропускания пользователя также сохраняется (хотя и с номинальной маржой), поскольку статические кэшированные страницы меньше с точки зрения размера файлов по сравнению с динамическими запросами. Чтобы это произошло, ваше кэширующее решение должно использовать комбинированный и мини-JavaScript, и CSS, кроме простого базового кэширования страниц.

Уже впечатлены? Но как включить кеширование в WordPress? Самый простой способ сделать это — с помощью плагинов. Существует несколько бесплатных плагинов WordPress, которые помогут вам включить кеширование на вашем веб-сайте. Мы рассмотрим некоторые из ключевых здесь:

П опулярные плагины для wordpress

WP Super Cache

WP Super Cache — это бесплатный плагин WordPress с более чем миллионом активных установок. Он создает статические HTML-файлы для вашего сайта. Таким образом, ваш сайт работает быстрее, чем не кэшированный сайт .

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

О бщий кэш w3

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

Безусловно, W3 Total Cache — довольно непростой плагин с немного более сложной системой. Если вы относительно новичок в плагинах для WordPress, это может быть слишком сложно для вас.

С амый быстрый кэш wp

WP Fastest Cache генерирует статические HTML-страницы вашего контента, чтобы ускорить загрузку страниц. В дополнение к кэшированию WordPress он также предлагает различные варианты оптимизации производительности, такие как возможность минимизации HTML и CSS и ускорение JS-скриптов.

WP Fastest Cache также поддерживает сжатие GZip, которое можно использовать для уменьшения размера файлов, отправленных с вашего сервера. Этот плагин является бесплатным, но поддерживается премиум-версией, которая поставляется с добавленными функциями, такими как возможность интеграции с службами CDN.

C ache enabler

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

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

Обратите внимание, что поскольку Cache Enabler — это новый плагин, он менее популярен, чем другие записи в этом списке.

К ометный кэш

Comet Cache предлагает такие функции кэширования, как создание статических HTML-страниц, а также функции оптимизации, такие как сжатие GZip. Он поддерживает кэширование и серверное кэширование. В настоящее время Comet Cache имеет более 30 000 активных установок.

Comet Cache также имеет версию Pro, которая позволяет вам делать такие вещи, как интеграция с службами CDN, запуск настраиваемого кода PHP, принудительное использование канонических URL-адресов и т.д. Интерфейс Comet Cache немного запутан, хотя и не такой чистый, как у других плагинов в этом списке. Возможно, вам понадобится некоторое время, прежде чем вы привыкнете к этому.

WP rocket

WP Rocket — это превосходное решение, но было доказано, что он обеспечивает лучшие результаты из всех инструментов кэширования WordPress на рынке. (Это, вероятно, плата за деньги).

WP Rocket легко настраивается, а также предлагает более индивидуальные функции по сравнению с другими плагинами в этом списке.

В ывод

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

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

Какой плагин кэша WordPress вы используете и почему? Поделитесь своими мнениями в комментариях ниже!

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

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

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

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

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

Кэширование в WordPress

В WordPress существует три основных типа кэширования:

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

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

Кэширование страниц в WordPress

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

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

При изменении содержания записи или странцы, кэш страницы сбрасывается, и при последующем запросе кэшируется уже новая страница с обновлёнными данными.

В самом ядре WordPress кэширование страниц не реализовано, но есть все необходимые функции для реализации этого на уровне плагинов. Два самых популярных плагина для кэширования страниц — WP Super Cache и W3 Total Cache, хотя существуют и другие.

Плагин WP Super Cache

WP Super Cache — самый популярный плагин для кэширования страниц в WordPress. Он позволяет создавать и выдавать статические HTML файлы для ваших страниц, а при определённой конфигурации, вы можете настрить выдачу этих страниц напрямую вашим веб-сервером (Apache или nginx), минуя при этом обработку PHP файлов в целом.

Новые версии плагина WP Super Cache имеют некотоыре дополнительные функции, например настройку CDN, поддержку мобильной версии сайта и прочее, но основая суть данного плагина — кэширование страниц.

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

Плагин W3 Total Cache более молодой, чем WP Super Cache, но не уступает ему по функционалу. Он очень быстро набирает популярность, и на сегодняшний день насчитывает более 2 миллионов скачиваний из директории WordPress.org.

W3 Total Cache позволяет хранить закэшированные страницы как на жёстком диске, так и в памяти. Он не сохраняет структуру кэша, как делает это WP Super Cache, поэтому настроить выдачу без использования PHP невозможно, но в отличии от WP Super Cache использование внешнего хранилища позволяет легко работать в многосерверной архитектуре.

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

На момент написания данной статьи, плагин Batcache скачали всего около десяти тысяч раз из директории WordPress.org, но в данном случае это не является показателем его эффективности. По производительности он не уступает ни WP Super Cache, ни W3 Total Cache.

У плагина Batcache функция всего одна — кэширование страниц, но делает он это безупречно. Batcache использует внешнее кэширование объектов для хранения данных, что позволяет легко его исопльзовать в многосерверной архитектуре. Этот плагин используется в крупной сети WordPress.com, с более 40 млн сайтов, более 2000 серверов и более 10 млрд просмотренных страниц каждый месяц.

Какой из плагинов кэширования страниц выбрать вам зависит от размера вашего сайта, от возможностей вашего и от вашего опыта работы с WordPress. Если вы не используете плагинов кэширования страниц на данный момент, мы всегда советуем начать с WP Super Cache. Если вам важно иметь больше возможностией и более тонкую конфигурацию кэширования, попробуйте W3 Total Cache. Если вы неплохо разбираетесь в программировании и серверном администрировании, и готовы пожертвовать графическим интерфейсом при настройке — попробуйте Batcache.

Кэширование объектов в WordPress

Объектное кэширование (object cache) реализовано в самом ядре WordPress. Этот механизм позволяет хранить объекты произвольного типа в памяти и полезен в основном разработчикам тем и плагинов для WordPress.

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

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

Кэширование объектов в WordPress производится с помощью ряда внутренних функций, в том числе: wp_cache_add , wp_cache_set , wp_cache_get .

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

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

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

Тем не менее, постоянное кэширование объектов (или внешнее кэшированое) в WordPress легко реализуется с помощью сторонних плагинов, например Memcached Object Cache или APC Object Cache . Оба плагина позволяют использовать оперативную память сервера для хранения объектов WordPress, при этом объекты не пропадают при окончании запроса. Такой подход существенно снижает нагрузку на базу данных MySQL.

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

Транзитное кэширование в WordPress

Для пользователей данный метод кэширования совершенно прозрачен. Транзитное кэширование (transient cache) позволяет разработчикам сохранять данные на определённый промежуток времени. Этот метод реализован в WordPress с помощью функций get_transient , set_transient и delete_transient .

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

Подобное кэширование так же используется в ядре при работе с RSS лентами, и запросами на обновление тем, плагинов и ядра WordPress.

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

Кэширование объектов или транзитное кэширование?

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

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

Заключение

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

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

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

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

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

02.07.2013 05.11.2013

Сооснователь журнала WP Magazine и первой конференции WordCamp в России. Разработчик в компании Automattic , принимает активное участие в развитии ядра WordPress. Любимый язык программирования: Python.

Приветствую Всех читателей. Сегодня хочу поговорить об одном из пунктов оптимизации сайта на WordPress — ускорение загрузки страниц, ускорение работы сайта в целом. Одним из способов для выполнения поставленной задачи является кэширование. Плагинов для создания кэша предостаточно. Два популярных Hyper Cache и WP Super Cache. В этой статье выполнена настройка WordPress Hyper Cache.

Обо всём по порядку.

Работа WordPress, кэширование

CMS WordPress является отличной платформой для создания сайтов. Она лёгкая в настройке, удобная, с большим функционалом, множеством набором плагинов для реализации задачи любой сложности. В то же время нагрузка на сервер больше, чем при работе с статическими страницами.

Как работает Вордпресс? Вся информация, так же как и в Joomla и других CMS, хранится в различных частях шаблона и таблицах базы данных. Для каждого типа инфы своя таблица: записи, комментарии, данные об авторе, сайте и так далее.

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

Решить данную проблему призвано кэширование.

Принцип кэширования данных

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

Такой приём облегчает работу сервера и ускоряет загрузку сайта в браузере.

Кэш — это своеобразное хранилище данных, с быстрым доступом информации к ним.

База WordPress содержит огромное количество плагинов. Но есть группа так называемых обязательных плагинов, установить которые необходимо на каждом проекте. Такие как плагин сеооптимизации, к примеру, SEObyYoast, плагин для резервного копирования (WordPress Database Backup), плагин кэширования.

Особенности установки Hyper Cache

Плагин устанавливается стандартным способом. Здесь подробная , чтобы освежить в памяти. Есть одно маленькое отличие. Для работы Hyper Cache после активации запросит внести изменения в файл wp-config.php.

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

Корректировать wp-config можно непосредственно на хостинге . Я же для таких целей использую специализированную программу Notpade++.

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

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

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

  • Удалить весь кеш — плагин создаёт папку для хранения кэшированной информации. При нажатии на кнопку удаляются все данные. При глобальных изменениях следует воспользоваться.
  • Очистка архивов и домашней — при нажатии удаляется кэш обозначенные страницы, при этом записи и остальное остаётся сохранённым.
  • Вычисление размера КЕШа — информация о размере папки на сервере.

Настройки плагина состоят из четырех разделов: Главные, Исключения, Мобильный, CDN.

Главные настройки плагина Гипер Кэш

Приступим к полному разбору каждой функции.

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

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

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

Enable on-the-fly compression — включить сжатие на «лету». Происходит процесс сжатия вебстраниц отсутствующих в кэше. Активация ускорит загрузку страницы, но и увеличит нагрузку.

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

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

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

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

Разрешение кеширования браузерами . Наверняка Вы хоть раз при переходе на определенную страницу видели в браузере строку типа: «Вам будет показана сохранённая копия страницы». Это работа подобного плагина и данной функции. Суть её такова. При посещении Hyper Cache разрешает браузеру сохранять кэш страницы на стороне пользователя, то есть сохраняется в папке с кэшем на компьютере. При повторном обращении к этой вебстранице она будет показана с кэша компьютера, что быстрее, чем если бы показывалась со стороны сервера. Включаем данную пункт — мы же за скорость.

HTTPS . Надо активировать при использовании безопасного протокола соединения HTTPS.

Use readfile() . Опция чтения файла. Со слов разработчиков работает лучше, чем фактически используемая функция кэширования file_get_contents ().

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

Сохраняем главные настройки и переходим к следующему разделу.

Настройка исключения плагина Hyper Cache

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

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

Не кэшировать «стр.404» . Активируем.

Не кешировать ленту комментариев . Создавать кеш комментариев не стоит. Посетители должны видеть оставленные новые комментарии. Моё мнение.

Не кешировать ленту RSS комментариев . То же.

Do not cache pages with URIs — Не кэшировать страницы с URL. Можно задать конкретные страницы не подлежащие кешированию. Прописывайте каждый URL с новой строки.

Do not cache pages with URIs starting with — Не кэшировать страницы с URL, начиная с. Используется для исключения целого раздела из функции кэш. Например, сайт с постоянно обновляющимся разделом новостей, посещаемый форум.

Bypass the cache for readers with cookies — Обход кеша для читателей с помощью файлов cookie.

Bypass the cache for readers with devices (user agents) — Обход кеша для считывателей с помощью устройств. Подразумеваются приложения, осуществляющие доступ к сайтам. Например, браузер.

Bypass the cache for readers which are commenters — Обход кеша для читателей, которые являются комментаторами. При включении опции посетитель, оставивший комментарий тут же увидит его. В случае если они не модерируются администратором. Иначе будет сообщение с таким смыслом: «Ваш комментарий ожидает модерацию». Читателю становится понятно, что коммент дошел до цели, а не затерялся.

Do not cache posts older than — Не кэшируйте сообщения старше, чем. После отметки количества дней статьи переходят в разряд старых и плагин перестаёт кэшировать. Стоит включить в случае когда старые посты перестают лить трафик.

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

Немного отступил от темы поста. Продолжаем настраивать Гипер Кеш.

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

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

For mobile devices — Для мобильных устройств. В этом пункте три варианта для выбора. При использовании на ресурсе адаптивного дизайна оставляйте настройки: Использовать основной кеш . В этом случае разницы просмотра страницы для пользователя ПК и с мобильного не будет.

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

Пару слов по поводу адаптивного шаблона. Всё больше людей приобретают и используют для выхода в интернет мобильные гаджеты. Смартфоны и планшеты. Трафик с этих устройств постепенно увеличивается. По статистике Яндекс Метрике на этот сайт процент посетителей с мобильных составляет в среднем 20-25%. В некоторых нишах, например, в сфере услуг, этот вид трафика является основным. Поисковые системы в аккаунтах для вебмастера при отсутствии мобильной версии сайта отмечают как замечание и советуют исправить.

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

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

Мобильные агенты пользователей . По умолчанию указаны user-agent считающиеся как пользователи с мобильного. Есть что добавить, добавляйте.

Настойка CDN HyperCache

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

После всех настроек логично проверить, может «WordPress Hyper Cache не работает?» Делается очень просто. Откройте сайт в другом браузере. Это необходимо сделать потому, что администратору ресурса всегда показывается актуальная информация. Просмотрите исходный код, который открывается сочетанием клавиш CTRL + U. В самом низу должен появится следующий код.

Если его нет, обновите страницу и просмотрите ещё раз.

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

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

Желаю Всем удачи и быстрых сайтов!

Понравилась статья? Поделиться с друзьями: