Важность кэширования в wordpress. Кэширование в wordpress — выбираем лучший плагин для кэширования

Тема избитая, есть много постов про кэширование WordPress, но столкнувшись с этим вопросом, я не смог найти ни одной статьи, которая бы однозначно ответила на вопрос «Какой плагин лучше использовать для кэширования WordPress?». И тогда я решил сам разобраться и ответить на этот вопрос. И как думаете, ответил?)

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

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

На некоторых блогах, которые я читаю, мне попадались отзывы о скрипте для кэширования WordPress — maxcahe. Поэтому когда я начал искать плагин для кэширования, я вспомнил именно про maxcahe. Нашёл страничку плагина, но когда начал читать, выяснилось, что этот скрипт платный. Цена 30$ не так высока и можно было купить, но этот скрипт можно использовать на ограниченном количестве сайтов. Чтобы увеличить количество сайтов, на котором можно использовать скрипт, нужно доплатить за каждый новый домен. То есть чтобы установить скрипт на дополнительный сателлит, нужно связаться с автором, оплатить дополнительный домен… в общем этот вариант мне не понравился. Учитывая то, что за обзор и хороший отзыв о скрипте, автор материально поощряет оставивших такой отзыв, то ценность таких отзывов снижается. Да и зачем платить, если есть аналогичное и бесплатное. В общем, решил пока разобраться и найти бесплатный аналог, которых, как оказалось, не так мало.

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

Существующие плагины для кэширования WordPress

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

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

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

DB Cache Этот плагин отличается от предыдущих. Он не сохраняет страницы, а сохраняет запросы к базе данных.

1 Blog Cacher Ещё один плагин для кэширования. 1 Blog Cacher аналогичен WP-Cache. Он сохраняет ответы на запросы к сайту в отдельные локальные файлы, помещая их в директории, которые соответствуют структуре ссылок вашего сайта.

Hyper Cache Этот плагин также как и WP Super Cache кэширует запросы к вашему блогу, создавая статистические страницы.

w3 Total Cache Ещё один плагин для кэширования WordPress. Плагин кэширует данные, создавая статистические страницы. Отличительная особенность этого плагина в том, что он поддерживает сжатие скриптов, CSS, кэш для базы данных.

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

WP Simple Cache Ещё один плагин для кэширования. По отзывам, от аналогов отличается простотой настройки и использования.

MaxCache Платный скрипт для кэширования WordPress. По словам автора и по отзывам, MaxCache превосходит на голову все плагины WordPress для кэширования. на английском.

Очень долго я не касался темы кэширование wordpress , так как был уверен, что на моем виртуальном сервере с SDD дисками кэширование не так важно. Именно в этом меня убеждала служба поддержки хостинга. Хотя как убеждала, скорее предостерегала, вот моя переписка:

Я: - Скажите, при такой конфигурации сервера есть ли смысл делать кэширование плагинами на уровне wordpress?

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

И вот недавно я опять задал этот вопрос и получил немного другой ответ:

Я: - Здравствуйте! У меня периодически падает ngnix и база данных, перезапускаю их и все нормально. Происходит это раз в 1-2 сутки. Скажите, поможет ли мне установка плагинов кэширования на уровне сайтов или можно сделать кэширование на уровне сервера?

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

Спрашивается: кому или чему верить? А верить нужно экспериментам. Решил я установить на это блог плагин кэширования, чтобы посмотреть, как это скажется на работе блога.

Какой плагин кэширования вордпресс выбрать?

Я пробовал несколько разных плагинов, но всех больше мне понравился плагин кэширования wordpress W3 Total Cache . Почему именно он? Просто он ОЧЕНЬ функциональный и позволяет не только кэшировать страницы сайта, преобразуя их в html файлы, но и многое другое, например, он работает и как плагин кэширования запросов к базе данных.

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

Как установить W3 Total Cache?

Для начала идем в админку wordpress в раздел ПЛАГИНЫ - ДОБАВИТЬ НОВЫЙ и в строку поиска вбиваем название плагина - W3 Total Cache и жмем ENTER.

Обратите внимание: плагин скачало почти миллион человек, эта цифра показывает, что этот плагин для кэширования вордпресс на самом деле самый лучший! Устанавливаем.

Сразу после установки получаю предупреждение:


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

Нажимаю Update via FTP, что то там происходит, надпись исчезает и появляется вот такая надпись, перевел:

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

Нажимаю еще раз и все кажется заработало. Если это так, то у вас должна появиться папка wp-content/cache . Сразу задайте ей и всем файлам в ней права доступа 777, иначе работать не будет. Так же на время нужно такие же права дать файлу.htaccess в корне диска (сделайте лучше перед этим его копию, на всякий случай)

Так же возможно вам придется дать доступ к файлу /wp-config.php или прописать в нем самому опцию:

Define("WP_CACHE", true); // Added by W3 Total Cache

Пройдемся по настройкам, для этого находим настройки плагина в левой колонки админки вордпресс и нажимаем на PERFOMANCER - GENERAL SETTING.

1. Page Cache - кэширование страниц

Это самое главное, ради чего ставился этот плагин. Нужно поставить галочку в Enable (включить), выбрать метод Disk: Basic и нажать кнопку Save all setting (сохранить настройки).


Теперь, когда посетитель открывает страницу сайта, ее копия в html формате сохраняется в папке wp-content/cache/page. Можно так же выбрать метод ENHANCED (повышенная), но не знаю, стоит ли это делать в моем случае. Да и к тому же у меня при использование этого метода выдавало ошибку, хотя файлы при этом кэшировались.

2. Minify - уменьшение

Тут имеется ввиду сокращение и сжатие файлов стилей и скриптов. Я не включаю эту функцию, так как после этого мой сайт реально перекашивает.


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

3. Database Cache - кэширование базы данных

А вот это пункт важный. Но не выбирайте метод Disk: Basic, так как это может привести к сбоям, лучше выбрать метод Alternative PHP Cache. В этом случае запросы к базе данных буду кэшироваться PHP акселератором, у меня он, как я понял, на сервере установлен.


4. Object Cache - кэширование объектов

Это тоже очень важная функция, которую нужно включить, выбрав метод Disk: Basic.


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

5. Browser Cache - включение кэша браузера

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


Но у меня тест Google Page Speed в упор не хочет замечать эту опцию, что я только не делал, и с этим плагином, и без. Скорее всего это происходит потому, что у меня стоит связка ngnix и apache2, первый работает как прокси сервер и видимо этот тест поэтому не работает как нужно. Хотя, может я и ошибаюсь.

6. CDN -

Для чего это нужно? Вы можете использовать посторонние сервера для кэширования ваших данных. Если посетитель находится в Америке, в ваш основной сайт в России, то ему лучше получить основную массу данных с сервера CDN, который находится в его стране или где то рядом. Но я не включаю пока эту опцию. Почему?


Да потому что большинство этих сервисов платные. Есть и бесплатные, но их нужно поискать, изучить, зарегистрироваться и после этого вписать данные в плагин. Сам плагин пытается нам всучить MaxCDN, который стоит денег, правда со скидкой в 25%. Но это тема для отдельной статьи, скорее всего очень скоро я исследую этот вопрос и отпишусь.

Вот таким образом я настроил кэширование этого блога. В плагине есть еще некоторые опции, но они не стоят рассмотрения, так как на практике не нужны. Если вам будут интересно, то можете покопаться в настройках. Если не знаете английского (как я), то можете воспользоваться Google Crome, который умеет переводит и админку wordpress.

СОВЕТ ВЕБМАСТЕРУ: Умение зарабатывать в интернете - это только пол дела, вторая половина - это умение ВЫГОДНО обналичивать электронные деньги. Вот список офшорных банковских карт, на которые можно выводить средства и потом снимать с них хрустящие купюры:

1. Payoneer - Самая популярная в мире платежная система для фрилансеров. Выдает карты, находится в США.

2. EpayService - Американская платежная система, очень популярна во многих странах, бесплатно дает карту MasterCard в EVRO для жителей СНГ и Европы.

3. Skrill - Единственная платежная система которая работает с криптовалютами и при этом выпускает бесплатные банковские карты MasterCard.

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

5. Payeer - Штаб квартира этой платежной системы находится в Грузии, тут так же можно открыть счет в долларах, евро и рублях.


Домен RU - 99 руб
Домен РФ - 99 руб

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

Каждый из вышеописанных плагинов может стать отличным выбором для кого-то из вас, уважаемые пользователи. Помните только, что определенную роль может сыграть и хостинг где «проживает» ваш сайт. Так что, последний выбор всегда остается за вами!

Кэширование данных в 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.

Всем привет! Хочу поведать вам одну историю о своей невнимательности, которая и побудила меня к написанию данной статьи. Около недели назад мой хост-провайдер проводил профилактические работы , время было оговорено и было предупреждение о том, что сайт будет лежать 15-30 минут. Я подумал, что это не так много и особо не волновался по этому поводу и ушел по своим делам.

Во время профилактики сайт действительно лежал, но время я особо не засекал. К моему удивлению, после окончания работ доступа к сайту так и не было — на нем висела ошибка 403 (про коды ошибок и ответа сервера прочитайте ), которая означает недостаток прав клиента . Примерно в то же время было написано письмо в службу поддержки провайдера. Ответили довольно быстро.

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

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

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

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

Установка плагина Hyper Cache

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

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

Define("WP_CACHE", true);

в файл wp-config.php . Вставить строчку можно в любое место файла, главное чтобы она находилась в теге

теперь необходимо на папку wp-content выставить права 777 (сделать это можно через ftp-клиент, например Filezila). Это требуется для того, чтобы плагин создал папку для хранения файлов кэшированных страни ц. Папка называется cache . После того, как он ее создаст, можете поменять права на wp-content обратно на 755, а вот на папку cache (у меня находится в папке wp-content , также может быть в папке с плагином, поищите) устанавливаются права 777, чтобы плагин мог записывать туда файлы.

Теперь коротко и по пунктам :

  1. Устанавливаем плагин
  2. Добавляем строчку в файл wp-config
  3. Устанавливаем права доступа 777 на папку wp-content
  4. Ищем папку cache и также ставим права 777
  5. Возвращаем папке wp-content права 755

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

  1. Загляните в параметры плагина . Если сверху нет никаких предупреждений, то все в порядке.
  2. Если у вас на сайте уже есть материалы и посетители, то гляньте в строку «Файлы в кэше (актуальные и устаревшие)» — там должно быть число больше 1.
  3. Зайдите на сайт незалогинившись (с другого браузера например) и посмотрите код. В конце должна быть строчка вида
  4. Зайдите в папку cache на сервере (мы на нее еще права 777 ставили). если в ней есть непустые файлы — плагин работает корректно.

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

Настройка плагина Hyper Cache

Итак, входим в меню «Параметры — Hyper Cache»

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

Конфигурация — основные параметры плагина:

  • Таймаут кэшированных страниц — время, через которое будут удалены все страницы в кэше. По умолчанию стоит значение 1440 — сутки, вполне нормально для блогов, которые не слишком часто обновляются.
  • Режим аннулирования кэша — указывает условие, при котором система будет удалять страницу из кэша. Оптимальный вариант — при изменении записи.
  • Отключить кэш для комментаторов — функция, при включении которой пользователь, оставивший комментарий, увидит свежую версию страницы, а не сохраненную (кэшированную). Человек сразу увидит, отправлен ли комментарий на модерацию или размещен сразу (в зависимости от ваших )
  • Кэширование RSS — просто кэширование новостной ленты блога. Возможно, при включению будут небольшие задержки в рассылке
  • Allow browser caching — включает возможность сохранение страницы на жестком диске пользователя, еще больше снижает нагрузку на хосттинг

Конфигурация для мобильный устройств

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

Плагин оптимизирует текст (на стороне сервера) и передает пользователю. Ускоряет загрузку страниц сайта.

  • Store compressed pages — собственно, включение самой функции.
  • Send compressed pages — позволяет сохранить пропускную способность при сжатии страницы, если это возможно.
  • On-the-fly compression — опять же помогает увеличить скорость загрузки сайта при возможности.

  • Перевод — отключает русскую версию страницы настройки плагина.
  • Disable Last-Modified header — отключает в заголовке страницы время ее последнего изменения.
  • Кэширование Домашней — отключает кеширование домашней страницы (помогает, если главная страница сайта часто обновляется).
  • Кэширование перенаправлений — кэширует все редиректы wordpress блога, снижая время на их обработку.
  • Page not found caching (HTTP 404) — включает кеширование страницы ошибки 404.
  • Strip query string — позволяет кешировать URL с дополнитльными запросами (адреса с?, =, & и т.д.) как URL без них
  • URL с параметрами — включает кеширование запросов со знаком вопроса. При включенном ЧПУ можно не использовать, хотя при активации опции снижается нагрузка (некоторые роботы отправляют запросы с?).
  • Allow browser to bypass cache — позволяет браузеру обойти кеширование. Например, при перезагрузке страницы.

Фильтры

  • Исключаемые URL — страницы, которые вы хотите исключить из кэширования. По одному на строку.
  • Исключаемые агенты — юзер-агенты (например, поисковые роботы), для которых вы хотите всегда показывать свежую версию страницы.
  • Совпадение Cookies — отменяет кеширование при совпадении cookies. По одному на строку.

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

Если вы все сделали правильно, то плагин начнет работать и . О других способах ее понижения я расскажу в следующих статьях. тема очень актуальна, поскольку поисковики, особенно , обращают внимание на скорость загрузки страницы. До скорых встреч на страницах блога МонетаВИнтернете!



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: