Как настроить смартфоны и ПК. Информационный портал
  • Главная
  • Обзоры
  • Кэширующий плагин для wordpress. WP Super Cache vs W3 Total Cache: какой плагин кэширования WordPress выбрать

Кэширующий плагин для wordpress. WP Super Cache vs W3 Total Cache: какой плагин кэширования WordPress выбрать

Сегодня я предлагаю вам обсудить такую интересную тему как кэширование в wordpress. Первым делом нужно уточнить что такое кэширование и зачем оно нужно? Каждому блоггеру и вебмастеру справедливо хочется чтобы его блог или сайт работал быстро. Как известно WP не обладает рекордно высокой производительность, поэтому зачастую даже хороший хостинг не способен этого компенсировать. А уж если у вас «тяжелый» контент, да еще и высокая посещаемость, дело может быть вообще беда. В любом случае есть возможность ускорить блог почему бы этого не сделать?

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

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

Как проводилось данное исследование? Для оценки производительности того или иного плагина использовался Apache Benchmark. Данный тест генерирует большое количество запросов, на основании чего формируется отчет о количестве обработанных сервером запросов в секунду и среднем времени передачи данных. Исходные данные: WordPress 2.9.1 на котором установлено несколько популярных плагинов - Akismet, All in SEO Pack и Google XML Sitemap. Количество трафика на тестовом блоге не велико, представлен смешанный контент - текстовый, изображения, электронные таблицы, java-скрипты. Для объективности каждое измерение повторялось несколько раз в сутки.

Я не буду приводить результаты тестирования всех плагинов, которые тестировались авторами Tutorial9, потому что смысл заострять внимание есть только на самых распространенных, ходовых и популярных плагинах. Итак, приступим:

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

Запросов в секунду - 13,96;
Время на каждый запрос — 716,58 мс;
Скорость передачи данных - 673,98 Кбит/сек

Как видите исходные данные не впечатляют. Давайте посмотрим что и как можно улучшить.

Если вы привлекаете аудиторию из соц.сетей, которые могут генерировать очень большой объем трафика, без кэширования не справиться. Кстати, есть такой недорогой сервис https://avi1.ru/ для развития и продвижения аккаунтов, групп, сообществ и встреч в самых узнаваемых и проходимых социальных сетях. С его помощью можно накрутить большое количество лайков, просмотров, подписчиков и комментариев.

Популярный плагин WP-Cache продемонстрировал следующий результат:

Запросов в секунду - 109,59;
Время на каждый запрос - 91,25 мс;
Скорость передачи данных - 5307,00 Кбит/сек

Заметно лучше чем без кэширования. Результат превосходит блог без активированных плагинов в среднем на 685%. Замечу что WP-Cache — давно известный плагин, который исторически пользуется популярностью.

Плагин WP Super Cache

WP Super Cache в настоящее время пожалуй более популярен чем WP-Cache. Это легко объяснимо — WP Super Cache является доработанной версией WP-Cache. Помимо того что он быстрее, он и «умнее», то есть умеет больше чем предшественник. В частности его легче устанавливать и удалять, он умеет чистить за собой «мусор» после деактивации и так далее.

Что же касается скорости, результат получился следующий:

Запросов в секунду - 118,23;
Время на каждый запрос - 84,58 мс;
Скорость передачи данных - 5743,07 Кбит/сек

Результаты тестирования превосходят результаты WP-Cache. WP Super Cache в среднем быстрее блога без активированного кэширования в среднем на 747%. Отмечу еще одну особенность - если в WP Super Cache включена компрессия , он может быть даже медленнее блога без плагинов !

Плагин Hyper Cache

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

Результаты:

Запросов в секунду - 130,75;
Время на каждый запрос - 76,48 мс;
Скорость передачи данных - 6325,36 Кбит/сек

В среднем это лучше на 837% чем блог без плагинов.

Итоги работы плагинов кэширования для wordpress

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

Лучший результат показал Hyper Cache , к тому же он обеспечивает хороший контроль над процессом. Вполне можно использовать WP-Cache или WP Super Cache. И тот и другой заметно повышают производительность. Кроме того они из когорты «старых добрых», проверенных поколениями, а значит неплохо поддерживаются. Надеюсь, эта статья помогла вам определиться с выбором плагина для кэширования. Дело за установкой! Что касается меня, то для одного из блогов блогов я использую плагин кэширования WP Super Cache, вроде помогает:)

А какой плагин для кэширования 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.

(Последнее обновление: 30.04.2019)

Привет, друзья! Сегодня у меня тема - правильная настройка WP Super Cache . Кэширование страниц в WordPress позволяет у вашего сайта и значительно снизить нагрузку на ваш хостинг. Два самых популярных плагина для кэширования данных это - WP Super Cache и W3 Total Cache. WP super cache - очень быстрый плагин .

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

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

Настройка WP super cache плагина легче чем например, W3 Total Cache и поэтому он самый востребованный у пользователей Вордпресс (установок более 26 072 370 раз). Да, к тому же, он полностью бесплатный. Поэтому речь сегодня пойдёт именно о WP Super Cache.

Модуль активно поддерживается разработчиками Automattic, так что смело устанавливайте его. Один раз настроите его и можете забыть о нём. И так, поехали.

WP Super Cache подойдёт как для начинающих, так и для более опытных пользователей WordPress.

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

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

WP Super Cache самый популярный плагин для кэширования страниц

Установите плагин стандартным способом из админ-панели. Плагины - Добавить новый, в поле поиска введите его название - WP Super Cache. Нажмите Установить:

Устанавливаем plugin для кэширования страниц WP

После установки и активации плагина в разделе Настройки появится новый пункт WP Super Cache.

WP Super Cache настройки плагина

Плагин на русском языке и поэтому разобраться с ним не составить особого труда. На данной странице настроек во вкладке "Простые" включите кеширование - Кеширование включено (рекомендуется):

Статус кэширования: Включите кеширование

Не забудьте нажать кнопку обновить. Следующая вкладка "Расширенные":

Расширенные настройки кэширования

Отметьте как на скриншоте, а именно:

  • Включить кеширование;
  • Простой (Рекомендовано);
  • Не кэшировать страницы для известных пользователей. (Рекомендовано);
  • Сжимать файлы кэша чтобы ускорить работу. (Рекомендовано);
  • Авто перестройка кэша. Гости блога увидят устаревшие версии страниц кэша пока новые будут генерироваться. (Рекомендовано);
  • Ошибка 304. Данная ошибка возникает тогда, когда страница не была изменена со времени прошлого запроса. (Рекомендовано);
  • Считать известных пользователей анонимными, чтобы и им отдавать супер-кешированые файлы.
  • Поддержка мобильных устройств.
  1. Очистить все файлы кеша при публикации или обновлении страницы или записи;
  2. Дополнительная сверка кэша (очень редко может нарушить работу кэширования). (Рекомендовано);
  3. Обновлять страницу при добавлении нового комментария к ней;
  4. Создать список страниц в кэше (выводится на этой странице).

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

Далее, . Сборка мусора - это очистка устаревших файлов кэша. Там нет правильных или неправильных настроек для сборки мусора. Это зависит от вашего собственного сайта. Если ваш сайт получает регулярные обновления или комментарии, установите тайм-аут на 1800 секунд и таймер на 600 секунд.

Если ваш сайт статический и редко обновляется то:

  • Тайм-аут кэша: 0 секунд;
  • Часы: 00:00 ЧЧ: ММ;
  • Интервал: один раз в день.

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

Время истечения срока и сбор мусора

Сохраните настройки. Затем отметьте пункты - Не кэшировать страницы следующих типов:

Допустимые имена & Запрещенные адреса

Сохраните настройки. Затем, перейдите во вкладку Общий кэш. Настройки CDN (Сеть доставки контента) пропустим, так как, это продвинутый метод, требующий базового понимания работы вашего веб-сервера или CDN.

Для повышения эффективности предварительной загрузки может быть полезно отключить сборку мусора, чтобы старые файлы кэша не удалялись. Выставите - Обновлять общий кэш каждые 0 минут; Кэшировать все записи; Режим предзагрузки (сбор мусора отключен. Рекомендуется):

Настройки WP Super Cache

Сохраните настройки. Всё готово.

Теперь 99% ваших посетителей будут обслуживаться статическими HTML-файлами. Один кэшированный файл может обслуживаться тысячи раз. Другим посетителям будут предоставлены пользовательские кэшированные файлы с учетом их посещения. Если они вошли в систему или оставили

Сегодня я хочу рассказать Вам об одном очень не плохом способе кеширования в WordPress без использования плагинов. При его использовании страница загружается за доли секунд (0.000216 сек - среднее время загрузке на локальном компьютере моего блога), что во много раз быстрее чем при использовании любых (для примера среднее время загрузки моего блога на локальном компьютере при использовании WP Super Cache - 0.388 сек). Кроме этого в разы падает нагрузка на процессор и память.

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

Итак, что же нужно сделать:
1. Создаем папку в корне сайта, называем её cache и ставим на неё права - 777
2. В файле index.php в корне сайта заменяем то, что там есть на этот код:

Вот собственно и все. С помощью 4 строки Вы можете самостоятельно изменять время жизни кеша, для вывода времени загрузки страницы в 5 строке установите 1. Если будут какие либо вопросы, спрашивайте в комментариях 😉

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

  • Браузерны й, то есть файлы сайт загружаются на компьютер и при повторном заходе грузятся с жёсткого диска
  • Внутренний у wordpress , он формируется посредством работы плагинов, если нет, то страница собирается из нескольких файлов, например, footer.php, header.php и им подобные. На составление из всех частей уходит время. Они самостоятельно делают HTML код уже готового ресурса и его составляющих, что в разы увеличивает скорость

Разберём все приёмы и решим проблемы полностью.

Обнуление контента горячими клавишами

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

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

  1. Нажимаем на три точки в правом углу
  2. Выбираем пункт “история”
  3. Нажимаем удалить

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

Сбросить внутренний кэш wordpres

Файлы созданные плагинами wordpress кэширования применяются для серверного ускорения. Простое обновление не поможет отобразить изменённое содержимое. Давайте разберём на примере hyper cache.

Удаление через административную панель wordpress

После установки и полной активизации переходим в настойки.

  • Clean the whole cache стереть кэш полность, то есть для записей и рубрик
  • Clean home and archives сбросить только главную и архивы (полезно когда изменяете только home page)

Частые стирания кеша в wordpress провоцируют большую нагрузку на базу данных, поэтому если планируется большая работа с изменением функционала блога (дизайн, начинка), то лучше на время отключить кэширование и пользоваться CNTRL+F5 .

Удаление через FTP, стираем css и html шаблоны

Сбросить движок и кеш можно через FTP соединение. Обычно плагины создают свою папку на сервере, в них располагаются созданные копии. Чтобы их удалить заходим в папку cache и удаляем всё содержимое. У отсальных по другому, но принцип один, ищите в wp-content.

Остальные инструменты

В любом из инструментов внутреннего копирования предусмотрена кнопка очистки, разберём где она находится в панели:


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

P.S. Прилагаю видео оно поможет лучше понять процесс

Лучшие статьи по теме