Сайт о телевидении

Сайт о телевидении

» » Hyper Cache — включаем плагин кэширования в Вордпресс для оптимизации WP блога и снижения его нагрузки на сервер хостинга. Wp Fastest Cache — Плагин кэширования wordpress

Hyper Cache — включаем плагин кэширования в Вордпресс для оптимизации WP блога и снижения его нагрузки на сервер хостинга. Wp Fastest Cache — Плагин кэширования wordpress

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

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

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

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

Давайте сначала разберемся, что такое кэширование.

Заметка о кэшировании

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

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

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

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

Наша методика тестирования

Мы решили протестировать реальную тему для WordPress от WPExplorer - Total . Тестируемый веб-сайт на этой теме Color Awesome - это установка WordPress, которая была специально создана для имитации реального веб-сайта.

На этом веб-сайте были установлены все типичные плагины для WordPress, включая Contact Form 7 , Slider Revolution , Visual Composer , Formidable Forms , WooCommerce , и Yoast SEO . Color Awesome имеет демо-данные и интегрированный интернет магазин. Размер тестируемого сайта близок к размеру реального.

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

Хостинг-провайдер и тарифный план

Согласно с веб-сайтом Bluehost :

Bluehost и WordPress с 2005 года совместно работали над созданием хостинг-площадки, подходящей для обеспечения работы веб-сайтов WordPress.

Веб-сайт Color Awesome размещен в хостинге Bluehost Shared. Мы специально выбрали этого хостинг-провайдера и хостинг-план, поскольку Bluehost является одним из лучших рекомендованных хостингов для сайтов WordPress.

Инструменты тестирования для анализа

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

1. Site Grading Tools

Эти инструменты созданы для тестирования определенного веб-сайта по разным критериям, кроме скорости. Они учитывают такие факторы как оптимизация изображений, кэширование браузеров, минификаторы Javascript, сжатие GZIP и огромное количество HTTPS запросов. Для оценки мы использовали GTMetrix и Google PageSpeed Insights.

GTMetrix

GTMetrix основан на принципах работы Yahoo и представляет более детальный отчет по сравнению с Google PageSpeed Insights. С помощью этого инструмента пользователи получают подробное описание всего, что замедляет процесс загрузки страницы.

Google PageSpeed Insights

Особенностью Google PageSpeed Insights является то, что он тестирует сайт с позиции и компьютера, и мобильного устройства, а потом ставит балл от 1 до 100. Хотя этот инструмент и не дает глубокого понимания работы алгоритма ранжирования Google или факторов, которые важны для Google, но он всё еще широко используется для оценки сайта, поскольку предоставляет консультацию для каждого сайта.

2. Timing Tools

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

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

Плагины кэширования

Мы успели обсудить стратегию тестирования, определились с инструментами, давайте просмотрим выборку плагинов для кэширования. Кроме WP Rocket, мы нашли все плагины для кэширования в директории плагинов WordPress:

  • WP Rocket
  • WP Super Cache
  • W3 Total Cache
  • WP Fastest Cache
  • Zen Cache
  • Hyper Cache
  • Cachify
  • Hyper Cache Extended
  • Lite Cache
  • Gator Cache

Мы выбрали 10 лучших WordPress плагинов для кэширования согласно их популярности и количества активных установок.

Результаты по GTMetrix и PageSpeed Insights

После проверки каждого плагина для кэширования с помощью инструментов GTMetrix и PageSpeed Insights мы получили такие результаты:

Анализ результатов

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

С помощью Google PageSpeed Insights мы выяснили, что WP Super Cache и Hyper Extended Cache получили наивысшую оценку как для компьютеров, так и для мобильных устройств, 52 и 45 баллов соответственно.

В категории GTMetrix WP Fastest Cache занял первое место с наивысшей скоростью загрузки страницы и получил 83 балла, от него отстает на 2 балла WP Rocket . Очень впечатляет!

Наш вердикт

Согласно результатам тестирования сайта мы приходим к заключению, что лучшие плагины для кэширования - WP Rocket , WP Fastest Cache , WP Super Cache и Hyper Extended Cache .

Результаты по Pingdom

После завершения оценки тестирования сайта мы приступаем к замеру времени загрузки страницы при использовании каждого из плагинов. Итоги:

Анализ результатов

Перед тестированием плагинов мы замеряли время загрузки страницы нашего сайта на Pingdom. Без кэширования сайт загружается за 9,45 секунд (не судите!) После записи времени загрузки страницы с каждым плагином мы вычислили разницу от начальной скорости (без кэширования - 9,45 секунд), и насколько плагин ускорил загрузку.

И снова идёт следующим с результатом – 5,29 секунд, а W3 Total Cache занял третье место с 6,02 секунд.

Наш вердикт

Согласно результатам замера времени загрузки страницы нашего сайта с каждым плагином, можно с уверенностью сказать, что лучшими плагинами стали WP Rocket , WP Super Cache , и W3 Total Cache .

Победители

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

WP Super Cache получил серебренную медаль за потрясающее время загрузки страницы и наивысший балл в Google PageSpeed Insights для компьютеров и мобильных устройств. Плагин очень легко установить и настроить. Он отлично подойдёт для тех, кто не хочет тратить много денег.

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

Итоги

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

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

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

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

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

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