W3 Total Cache — установка и настройка плагина кэширования для WordPress. Настройка плагина кэширования W3 Total Cache

10.07.2019

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

Чтобы ощутить все прелести этого плагина, давайте для начала протестируем существующую ситуацию. Я выбрал один из последних сайтов, который я сделал, добавил приложение в Firefox YSlow Addon for Firefox которое покажет время загрузки сайта, у меня на данный момент оно составляет 8,5 сек – я был в шоке!

Изменим эту ситуацию!

  1. Перед установкой плагина Вы должны убедится, что любые другие плагины кэширования полностью удалены, в противном случае плагин W3 Total Cache при активации выдаст ошибку.
  2. Если все в порядке устанавливайте плагин (не в курсе как устанавливать плагины в WordPress? — читайте ).
  3. Официальная страничка плагина в каталоге WordPress.
  4. После того как Вы активируете плагин в панели управления появится новый пункт «Perfomance», нажимая на который мы попадаем на страницу настроек и конфигурации плагина W3 Total Cache.

Настройки и конфигурация W3 Total Cache

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

Вкладка General

Первым делом на странице настроек мы попадаем в раздел основных настроек General. Сразу же отключаем режим просмотра (см. картинку) нажатием на кнопку disable (то есть плагин будет работать в режиме реального времени, а не в режиме просмотра).

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

После блока Page Cache идет блок Minify – позволяет минимизировать файлы.css, .js, .html также записи, страницы и RSS. Опции обязательно отметьте как на скриншоте. Принцип действия мимнимизирования заключается в том, что удаляются бесполезные расстояния между тегами кода такое действие ускоряет время загрузки сайта на 10%.

Следующий блок опций Database Cache. Обязательно должен быть разрешен, так как CMS WordPRess полностью работает на базе данных и часто высокие нагрузки запросов к БД являются причиной жесткого замедления сайта + если у Вас большой трафик, то это вообще катастрофа. Включение опции может ускорить Ваш сайт в 100х раз.

Не расслабляемся и двигаемся к блоку Object Cache. Галочка в этом блоке увеличивает производительность динамических сайтов использующих API кэша объектов. Окончательные настройки должны выглядеть как на скриншоте:

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

Следующий этап это CDN (Content Delivery Network), к сожалению плагин поддерживает только платные варианты CDN: MaxCDN, NetDNA, Amazon S3, Rackspace Cloud и Amazon Cloud. Если Вы не знаете что такое CDN или не планируете его использовать, то советую сразу же галочку снять.

Далее идет блок Varnish – еще один замут с кэшированием типа CDN и блок Network Perfomance & Security powered by CloudFlare. Ими можем не пользоваться, убираем галочку с Enable. Эти блоки целесобразно использовать, если Ваш ресурс мега посещаем от 1000 и более посетителей — эти CDN, бесплатны, но если у Вас будет такое количество посетителей на сайте не лишним будет раскошелится на 40$ и подключить систему доставки контена (CDN) MaxCDN — очень хорошая и с поддержкой, об них я чуть попозже напишу отдельную статью.

Блок настроек Miscellaneous галочки ставим как на скриншоте ниже и если у Вас есть Page Speed Online API от Google, что можете его здесь ввести.

В блоке настроек Debug не советуют вообще что-то отмечать галочками, послушно поверим

И последний блок это импорт и экспорт настроек, можно сохранить настройки нажав кнопочку download на компьютер, можно и импортировать уже существующие настройки, в общем ничего сложного

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

Вкладка Page Cache

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

В блоке Advanced мы можем выбрать время жизни странице в кэше, по умолчанию 3600 секунд, можете уменьшить (если Вы постоянно работаете над сайтом) или увеличить если изменения происходят редко. Далее можно задать не посылать кэш страницы Bot’у Google – не рекомендуется. Можем отметить страницы которые мы бы не хотели видеть в кэше. В настройках этого блока желательно придерживаться скриншота.

И последний блок настроек в этой вкладке Purge Policy – более определенный выбор страниц копии которых нужно создать в кэше.

Вкладка Minify

Более подробная минимизация (уменьшение размеров) файлов, в первом блоке настроек отмечаем галочкой перезаписывать структуру URL:

Следом настраиваем блок JS, можно добавить разные файлы скриптов для кэширования добавив их через кнопку «Add a script»

И в последнем блоке Advanced мы можем выбрать через какое время обновлять файлы шаблона

Вкладка Database Cache

Медленно, но уверено, главное до конца доползти. Блок настроек General как на скриншоте:

Блок настроек Advanced можете установить время жизни копии кэша

Вкладка Object Cache

Оставляем все здесь по умолчанию.

Вкладка Browser Cache

Здесь Вы можете указать какая информация будет заноситься в кэш браузера пользователя

Так и последним шагом будет нажатие кнопочки «Empty page cache» — нужно очистить кэш, после этого Вы увидите зеленое слово «Enable», которое говорит о том, что плагин успешно функционирует.

Заключение

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

Удачи! Если возникли какие-то вопросы, задавайте их в комментариях.

Часто возникает вопрос: «Какой плагин круче W3 Total Cache или WP Super Cache?». Важно понимать, что все нужно проверять самому, одно скажу точно: «если не использовать CDN в W3 Total Cache и в WP Super Cache, то скорость загрузки примерно одинакова». Выбор за Вами, можете подробнее прочитать о плагине WP Super Cache.

Здравствуйте, друзья!

Долго я не писал. И сегодня постараюсь выдать статью, которая перекроет несколько таких, которые я мог бы написать за все упущенное время.

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

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

И тут я узнал о плагине W3 Total Cache, который автоматическим образом может сделать те задачи, которые придется выполнять вручную либо же вообще не удастся. Я установил данное решение и удалось прибавить еще скорости сайту + увеличить оценку в глазах сервиса Google PageSpeed Insights. Конечно это не все 100%, но может у вас получится это сделать. Плагин вполне может помочь в этом.

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

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

Преимущества плагина W3 Total Cache

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

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

Различные CMS (движки - системы управления контентом) являются динамическими сайтами. Состоят из PHP кода и постоянно генерируют запросы. В некоторых случаях от этих запросов можно избавиться, установив один из плагинов кэширования, тем самым заставить движок показывать посетителям уже готовые страницы из кэша. Это значительно ускоряет скорость загрузки сайта, что является очень важным фактором ранжирования поисковых систем. Google так точно уделяет данному фактору много внимания и в свое время четко это обнародовал.

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

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

Что же же это за функционал?

  1. Во-первых, можно производить оптимизацию html, CSS и javascript файлов, которая включает в себя минимизацию и объединение всевозможных различных файлов в один. Таким образом можно значительно сократить скорость загрузки сайта + сделать код сайта более легким;
  2. Во-вторых, можно включать кэширование браузера на стороне клиента, кэширование запросов к базе данных, gzip сжатие и другие функции, которые требуют вмешательства в файлы сайта.

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

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

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

Теперь мы переходим к настройкам, которых достаточно много.

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

Приступим.

После установки и активации плагина, появится новый пункт в админ-панели сайта.

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

  • Purge from cache - удаляет из кэша ту страницу, на которой сейчас находимся;
  • Empty all caches - очистить весь кэш сайта;
  • Empty page cache - очистить кэш страниц;
  • Empty minify cache 0 очистить кэш элементов, которые были минимизированы (скрипты, стили, html код);
  • Empty database cache - очистить кэш sql запросов к базе данных;
  • Empty object cache - очистить объект кэша.

Итак, начнем с самого первого пункта настроек плагина (dashboard) и дойдем до последнего.

Пункт настроек Dashboard

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

В данном случае мы видим несколько блоков, на которых можем:

  1. Смотреть прайс на подключение других возможностей плагина (платная поддержка);
  2. Поддержать плагин различными способами;
  3. Подключить плагин к работе совместно с системой хранения файлов MaxCDN, чтобы сделать загрузку более быстрой;
  4. Смотреть данные о скорости работы сайта;
  5. Отслеживать статистику о скорости работы сайта по данным сервиса Google Page Speed.

1 - варианты платной поддержки; 2 - поддержать плагин различными способами; 3 - подключить плагин к работе с MaxCDN; 4 - смотреть статистику производительности сайта; 5 - подключение сервиса Google pagespeed для просмотра производительности

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

Также можно смотреть информацию об установленных модулях плагина и о его совместимости (кнопка compatibility check).

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

General Settings (основные настройки)

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

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

Блок General

  • Toggle all caching types on or off (at once) - данный чек-бокс служит переключателем между активным и неактивным состоянием всех чек-боксов за каждый тип кэширования. Если необходимо включить все типы кэша, тогда ставим галочку и сохраняем настройки (Save all settings). Так же само и отключаются все типы кэша в пункте "General settings" - стоит снять чек-бокс и сохранить настройки. Я не рекомендую включать данную настройку, так как мы используем не все;
  • Preview mode - режим предварительного просмотра работы плагина. Если вы хотите сначала протестировать работу плагина, чтобы никто (кроме администратора) не мог видеть результаты его работы, то активируйте данный режим, нажав на кнопку "Enable". Если же вы хотите отдать работу плагина на всеобщее обозрение, тогда отключите данный режим (отключен по умолчанию).

Блок Page Cache

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

Так как основная функция плагина W3TC - кэширование, то функцию обязательно включаем (чек-бокс "Enable").


  • Page cache method - метод кэширования. По умолчанию стоит вариант "Disk: Enhanced", который подразумевает, что вы используете виртуальный хостинг. Данный вариант помечен, как лучший, поэтому его и используем.

Также вы можете выбрать вариант "Disk: Basic", если у вас недорогой слабый хостинг. Если заметили, что после выбора рекомендуемого варианта (Enhanced) сайт стал работать заметно медленней или какие-то функции тормозят, то установите вариант Basic.

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

Блок Minify

В данном блоке мы можем минимизировать файлы CSS, Javascript и html.


Настройку конечно же включаем, активировав чек-бокс "Enable" напротив пункта "Minify".

  • Minify mode - выбираем режим минимизации. По молчанию стоит вариант "Auto", который подразумевает, что вся минимизация файлов будет происходить в автоматическом режиме. Лучше данный вариант и оставить, если он работает нормально. В моем же случае имеются скрипты, которые подгружаются с других сервисов и, когда они минимизируются данным плагином, то происходят конфликты из-за чего перестают работать некоторые функции. Поэтому, как видите, я выбрал ручной вариант минимизации "Manual", который мы настроим чуть далее в пункте настроек плагина "Minify";
  • Minify cache method - выбираем метод кэширования для данной функции. Оставляем вариант по умолчанию "Disk";
  • HTML minifier, JS minifier, CSS minifier - данные пункты отвечают за выбор способа минимизации. Варианты по умолчанию хорошо справляются со своей задачей. Но, если вы видите, что какие-то функции работаю не так, например скрипт перестал работать или стили поехали, то попробуйте изменить способ минимизации к соответствующим файлам. Я оставил все по умолчанию.

После всех проделанных изменений не забываем сохранить настройки.

Блок Database Cache

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

  • Database Cache - включаем кэширование запросов к базе данных, активировав чек-бокс "Enable";
  • Database cache method - по аналогии с предыдущими методами кэширования оставляем вариант по умолчанию (Disk).

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


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

Касаемо метода кэширования, то ставим тот же самый "Disk".

Блок Browser Cache

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

Обязательно включаем данную настройку.


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

Это достаточно просто проверить. Можно воспользоваться все тем же сервисом Google PageSpeed Insights . Вводим адрес сайта на странице сервера и смотрим результат проверки.

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

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

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

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

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

  1. Проверяем сайт;
  2. Если кэш браузера отключен, тогда включаем его в плагине;
  3. Если после повторной проверки сервис все равно ругается и изменений вообще никаких нет, то обращаемся к поддержке хостинга, чтобы узнать, включено ли кэширование в браузере на стороне клиента. Если включено, то данную настройку можно не включать и показания сервиса Google PageSpeed Insights относительно этого пункта можем игнорировать. Если же нет, тогда просим включить вашего хостера кэш браузера, так как это одна из важнейших настроек для оптимизации скорости сайта.

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

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

Блок CDN

С помощью этого пункта настроек мы можем сделать загрузку статических файлов нашего сайта не с нашего хостинга, а с системы доставки контента. В данном случае это система MaxCDN (или ее аналоги, например Amazon S3). Она платная и я предполагаю, что вряд ли кто-то будет платить за нее, хоть и стоит она сущие копейки.

Если же все таки решились на этот шаг, тогда активируем чек-бокс "Enable" и выбираем предпочтительную для себя CDN. Рекомендую MaxCDN и Amazon S3.


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


Блок Monitoring

Можно включить мониторинг производительности сайта с системой New relic. Но тогда придется создать аккаунт в ней и получить ключ API, который следует ввести в данном блоке настроек плагина.

Блок Licensing

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


Блок Miscellaneous (разное)

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

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

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

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

Блок Debug (отладка)

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


Вот как это выглядит в исходном коде.


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

Блок Import/Export Settings

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

Также можно сбросить все настройки W3 total cache в исходное состояние, которое доступно сразу после установки и активации плагина.


  1. Импорт настроек из файла конфигураций;
  2. Экспорт настроек в файл конфигураций;
  3. Сброс настроек в исходное состояние.

Основные настройки мы рассмотрели. Переходим к следующему пункту.

Page Cache (кэш страницы)

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

Блок General

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

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

Блок Cache preload

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

Все чек-боксы включаем.

  • Automatically prime the page cache - автоматически создавать кэш страницы;
  • Preload the post cache upon publish events - предварительная загрузка страницы в кэщ сразу после момента ее публикации.
  • Update interval - интервал времени, один раз в который создается новая партия кэшированных страниц. Значение выставляем в секундах. Значение 604800 - одна неделя. Можете выставить более маленький интервал. Тут экспериментируйте и следите за нагрузкой своего сайта на хостинг. Сейчас я поставил стандартное значение в 900 секунд;
  • Pages per interval - количество страниц, которое будет кэшироваться в заданный ранее интервал времени. Я ничего не менял. По умолчанию стоит 10;
  • Sitemap URL - указываем путь к XML карте сайта. Из данной карты будут определяться приоритеты для разных типов страниц и в соответствии с ними будет происходить кэширование.

Блок Purge policy: Page cache

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

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

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

Блок Advanced (продвинутый)

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

Но все же я применил некоторые функции, что вам сейчас и объясню.

Первая настройка у меня не включается, поэтому включить ее я и не смог. Этого делать и не нужно, т.к. в описании к опции написано, что может увеличить время отклика сайта. А нам это ни к чему.

  • Compatibility mode - режим совместимости. Разработчики говорят, что включив эту опцию производительность сайта может упасть примерно на 20%, но взамен мы получим более высокую совместимость работы плагина с большинством хостинг провайдеров. Рекомендую включить данную настройку, что я и сделал;
  • Charset - настройка решает проблему с возможными проблемами в кодировке уже закэшированных страниц. Я включил;
  • Garbage collection interval - интервал очистки мусора (кэша, срок действия которого вышел). По умолчанию стоит значения 3600 секунд (1 час). То есть каждый час будет производится очистка того кэша, у которого истек срок действия его хранения. Кэш удалится и начнется создание нового. Для занятых сайтов (где мало места на хостинге, но много страниц, то есть в перспективе много кэша) рекомендуются небольшие значения. Я поставил значение 1го дня (86400 секунд) и пока все работает хорошо.

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

  • Accepted query strings - указываем строки с запросами и URL, на которых будут производиться данные запросы будут всегда кэшироваться;
  • Rejected user agents - вписываем те пользовательские агенты, которым никогда не будут даваться кэшированные страницы (агенты - по сути это те устройства, с которых сидит пользователь, например Apple 5 iphone);
  • Never cache pages that use the specified cookies - никогда не использовать кэш для страниц, которые используют специфические куки;
  • Never cache the following pages - никогда не кэшировать следующие страницы. Указываем те страницы, которые никогда не нужно заносить в кэш;
  • Cache exception list - список исключений кэша. Сюда указываем те страницы/директории, которые нужно кэшировать даже, если они добавлены в пункт ранее "Never cache the following pages";
  • Specify page headers - указываем заголовки страниц, отдаваемые сервером, которые также стоит кэшировать.

Minify (минимизация)

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

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

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

Блок General


  • Rewrite URL structure - данная опция у меня активна по умолчанию. Так ее и оставил. Отвечает за перезапись структуры URl адресов для CSS и Js файлов;
  • Disable minify for logged in users - деактивировать минимизацию для залогиненных пользователей. Если активируете данную настройку, то для вас, как администратора (вошедшего пользователя сайта в свой аккаунт), минимизация не будет применяться. А вот для остальных посетителей минимизация работать будет. Тут ставим на ваше усмотрение, но я не включал;
  • Minify error notification - уведомление об ошибках минимизации. Если вы хотите, чтобы вас плагин уведомлял об ошибках при минимизации, то в выпадающем списке справа выберите способ уведомлений. Существует 3 способа уведомлений: в админке (admin notification), на почту (email notification) и последний комбинированный вариант.

Блок минимизации HTML и XML


Напротив пункта " HTML minify settings" выставляем те параметры, в соответствии с которыми будет происходить минимизация HTML и XML на странице сайта.

  • Enable - включаем минимизацию;
  • Inline CSS minification - минимизировать CSS так, чтобы все было выстроено компактно в одну строку. Удаляются пробелы и отступы в тех местах, где их можно убрать. Таким образом код становится очень компактным без лишнего пустого места, что уменьшает его размер;
  • Inline JS minification - тоже самое, только для JS элементов (скриптов) на странице сайта;
  • Don"t minify feeds - не минизировать фид каналы. Я их минимизировал бы, поэтому опцию не активировал;
  • Line break removal - удалить разрывы строк в коде. Когда мы удалим все отступы и пустые места в HTML коде посредством 2й и 3й настроек, то код уже будет компактный, но могут быть переносы строк. Чтобы убрать эти переносы мы активируем последнюю настройку и код станет в одну строку. В браузере Google chrome вы не увидите одну строку в исходном коде страницы, а просто будет показан слитный код. Чтобы убедиться в наличии кода в одной строке проверьте исходный код в браузере Mozilla Firefox - он отображает так, как все есть на самом деле.

Ignored comment stems - игнорируем комментарии при минимизации кода страницы. При минимизации всегда удаляются комментарии в коде, так как они не несут никакой информации поисковому роботу. Но имеются такие комментарии, которые несут смысловую нагрузку. Это могут быть различные коды просто в валидном виде, что делает из них обычные комментарии, но по факту они работают.

По умолчанию в данное поле добавлены первые 2 исключения, которые часто находятся в коде в таком виде, что делает из них комментарии. Я также добавил 3й вариант - noindex. У меня в шаблоне достаточного много мест закрыто данным тегом. Но закрывал я их не в стандартном виде (), а в валидном варианте (<--noindex-->). Такой валидный вариант воспринимается, как комментарий в коде\

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

Блок минимизации JS (Javascript, скриптов)

Как и с минимизацией кода страницы в целом мы можем настроить и минимизацию скриптов в отдельности. Чтобы включить ее, активируем чек-бокс "Enable".

В блоке настроек "Operations in areas" мы можем выбрать 2 вариант оптимизации скриптов:

  1. Либо их полная минимизация (minify);
  2. Либо только объединение (combine only).

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

Далее мы удаляем все комментарии из скриптов (Preserved comment removal) и переносы строк (Line break removal), чтобы скрипт выстроился в одну строку. Эти 2 опции не работают при варианте только с объединением скриптов (combine only).

Довольно интересным пунктом настроек в минимизации является опция " JS file management", которая позволяет управлять расположением скриптов в различных шаблонах файлов темы оформления.

Что я имею ввиду. Например, имеется мой текущий шаблон. В нем имеются шаблоны файлов, отвечающие за каждый тип страницы (рубрики, главная, статья и так далее). И, зная путь к файлу определенного скрипта, мы можем назначить ему свое расположение на каждом типе страниц. Это очень удобно, так как большинство скриптов можно разместить только на каком-то одном типе страниц, например только на странице статей. Вот получается, что эти скрипты нужно подгружать только в статьях. Зачем же их нужно грузить на других типах страниц? Правильно, незачем.

Как пользоваться этой опцией? Сперва мы выбираем шаблон, с которым мы будем работать, и жмем на кнопку "Add script".


Появится поле для ввода адреса к файлу скриптов (1), для выбора шаблона вывода определенного типа страниц (2) и для выбора места размещения (3).

При выборе области размещения скрипта мы можем выбрать 3 варианта его локации:

  1. В секции шапки сайта (секция head). В данной области я рекомендую размещать только те скрипты, которые не работают в нижней области сайта (перед закрывающим тегом body);
  2. После открывающего тега body;
  3. Перед закрывающим тегом body. Именно это вариант я и рекомендую использовать, чтобы скрипты загружались в самую последнюю область.

Таких скриптов мы можем добавить очень много. Нажав еще один раз на кнопку "Add a script", появится еще одно поле для добавления нового скрипта. Таким образом мы можем сделать так, что на каждом типе страниц будут грузиться только те скрипты, которые там нужны. В итоге скорость загрузки будет увеличена. Настройка очень интересна и ей стоит воспользоваться, если на сайт добавлено много разнообразных скриптов, которые на каждой странице выполняют свою функцию.

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

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

Не забываем пользоваться кнопкой "Verify URL" для проверки правильности адреса к файлу скриптов.

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

Минимизация CSS файлов стилей

Тут все то же, что и в предыдущем блоке настроек, связанном с минимизацией скриптов. Делаем все точно так же. Единственное, что не могу вам ничего сказать про опцию "@import handling". Не разобрался я с тем, на что она влияет. Ее и не трогал. Вы поступите так же.

В остальном же ставим так, как на скриншоте ниже.


Настройки аналогичны блоку продвинутых опций в пункте настроек плагина "Page cache", который мы рассмотрели ранее. Только он немного сжат.

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

Остальные поля касаются исключений.

  • Never minify the following pages - никогда не минимизировать следующие страницы;
  • Never minify the following JS files - никогда не минимизировать следующие js файлы. Данным полем рекомендую пользоваться в том случае, если после минимизации скриптов у вас происходят конфликты. Возможно, что минимизация какого-то скрипта приводит к конфликтам и из-за этого все скрипты перестают работать. Для этого определяем проблемный скрипт и заносим его в исключения;
  • Never minify the following CSS files - никогда не минимизировать следующие CSS файлы;
  • Rejected user agents - указываем пользовательские агенты, которые никогда не будут получают минимизированные данные.

Database Cache (кэш базы данных)

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

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

Просто активируем кэширование запросов к базе данных в пункте "General setttings" настроек плагина и изымаем эффект.

Object Cache (кэширование объектов)

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

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

Browser Cache (кэш бразуера)

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

Итак, когда вы поняли, что кэширование в браузере вам необходимо включать (ваш хостинг его не включает по умолчанию), то можно данный пункт настраивать. Иначе же его можно просто пропустить и отключить в самом начале настроек в пункте "General settings".

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

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

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

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

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

Я выбрал функцию "Set expires header", так как она является наиболее распространенной. Тоже самое можно сказать и про первый заголовок в списке этих пунктов. Его также можно выбирать.

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

Enable HTTP (gzip) compression - также важная настройка, которая опять же по умолчанию на большинстве хостингов активна. Она сжимает все данные и помещает их в архив сжатого формата gzip. Браузеры могут распознавать содержимое такого формата. Таким образом клиент не грузит всю информацию в полном размере, а только в сжатом, что значительно сокращает время загрузки страницы.

Чтобы проверить, включено ли gzip сжатие на вашем хостинге, достаточно спросить у вашего хостинга или же перейти по данной ссылке и проверить свой сайт.


Если увидите точно такую же картину, тогда gzip сжатие включено и дополнительно его включать в настройках плагина нет смысла. Если же вместо "Yes" вы будете видеть "No", тогда настройку придется активировать.

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

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

Кроме основного бока настроек в блоках настройки кэширования в браузере для конкретных типов элементов мы можем настроить срок жизни заголовков на стороне клиента. Возьмем в пример блок "CSS & JS".


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

User Agent Groups (группа пользовательских агентов)

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

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

Каждая группа имеет свои настройки редиректов.

Рассмотрим на примере стандартной группы, которая создана по умолчанию и имеет приритет "высокий" (hight).


Для активации ставим чек-бокс "Enable".

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

В пункте "Redirect users to" указываем тот домен, на который нужно перекинуть посетителя. Применение разумно в том же случае с мобильной версией сайта. Может быть полная версия сайта на основном домене, а на поддомене размещаться мобильная версия. Тогда в данном поле укажите поддомен и посетителя, зашедшего с одного из указанных пользовательских агентов, перенаправит на мобильную версию сайта.

Referrer Groups

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

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

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

Принцип настройки аналогичен предыдущему пункту.

CDN

Данный пункт вам пригодится, если вместе со своим сайтом помимо обычного хостинга вы будете использовать еще и систему доставки контента (CDN).

Суть в том, что такие системы/сервисы позволяют значительно снизить нагрузку с хостинга и выдержать любые объемы трафика без проседания самого сайта. Поэтому, если сайт реально громадный и сильно грузиться, то это реально повод, чтобы задуматься либо о переезде на выделенный сервер, либо подключить одну из систем CDN (например, MaxCDN или Amazon S3).

По традиции настройки разбиты на несколько блоков.

Блок General

Тут выставляем галочки напротив тех типов файлов, которые будут обрабатываться CDN. Я выбрал тут все типы файлов за исключением последнего пункта, так как он отвечает не за тип файлов, а за пропись к ним некого заголовка "canonical". Судя по всему, это похоже на атрибут rel="canonical", который прописывается к главной странице. Но все же по умолчанию данная настройка отключена, поэтому я бы ее не трогал.

Блок Configuration

Также вы можете ввести тот хост (адрес сервера с CDN), который будет заменять адрес вашего домена в коде сайта. Куда нужно добавлять я пометил зеленой рамкой.

Нажав на кнопку "Add CNAME" снизу поля ввода, вы добавите еще некоторые поля, которые будут отвечать за замену адреса не во всех хостируемых элементах сайта на CDN, а за определенные, например за замену адреса в файлах скриптов, размещенных в секции Head сайта. Аналогично и для скриптов, размещенных перед закрывающим тегом body и так далее. Самое первое поле касается файлов стилей.

Блок Advanced (продвинутые настройки)

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

Добавляются они в формате "*.расширение", например "*.xls". Каждый тип записывается через точку с запятой (;).

  • В пункте "Custom file list" указаны директории и размещенные в них типы файлов, которые также стоит хостить на CDN. Тут указаны директории, отличны от папки с темой оформления и папки wp-includes, которые по умолчанию обрабатываются плагином (выделены красными рамками).
  • В поле "Rejected user agents" вводим названия пользовательских агентов, которые не должны получать данные с CDN. Будут им выдаваться оригинальные данные с хостинга.
  • Пункт "Rejected files" содержит директории с типами файлов, которые не стоит использовать совместно с CDN.

Monitoring (мониторинг)

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

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

Настройки я не трогал бы.

Extensions (расширения)

В данном пункте мы можем настроить работу плагина с некоторыми расширениями. Я не видел бы смысла в данном пункте, если бы не наличие такого расширения, как "Wordpress seo by yoast".

Активировав его, мы можем настроить работу плагина W3 Total Cache в соответствии с рекомендациями плагина WordPress seo by yoast. Данный пункт и так можно активировать, но учитывая, что у меня и стоит этот плагин, то это более чем актуально.


FAQ (справка)

Как и полагается, ответы на всевозможные вопросы прилагаются. Конечно они на английском, но гугл переводчик никто еще не отменял.

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

Install

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

About

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

Вот и все, друзья. На этом разбор плагина W3 total cache закончен. Надеюсь, что он вам помог настроить плагин так, как лучше будет вашему сайту.

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

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

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

До скорой.

С уважением, Константин Хмелев!

В мы ознакомились с важностью использования кэширования для WordPress на примере плагина W3 Total Cache. А сегодня мы приступим к его настройке. Но для начала зайдите в меню Плагины - Добавить новый и установите плагин W3 Total Cache для своего сайта на WordPress.


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

  • Premium Services содержит информацию о платной поддержке по всем вопросам от команды.
  • В Spread The Word предоставлена ссылка на разработчиков плагина.
  • New Relic содержит статистический обзор о производительности сайта в соответствии с машиной сервера.
  • Страница Google Page Speed Report становится доступна после настройки плагина W3 Total Cache. В этом разделе будет отображаться информация о производительности сайта и отчет о скорости загрузки страницы.

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

Теперь перейдем к настройкам. Нажмите на General Settings (общие настройки) в меню плагина, где вы найдете основные настройки всего плагина. И сейчас мы пошагово рассмотрим каждую из них.

1. Preview Mode (режим просмотра)

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

  • Включенный режим просмотра означает, что никто, кроме админа сайта, не может просматривать результаты работы плагина W3TC.
  • Выключенный (по умолчанию) режим просмотра означает, что работу плагина могут видеть абсолютно все. На изображении выше этот режим выключен. Убедитесь, что и вы выбрали нужный режим.

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

2. Page Cache (кэш страницы)

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

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

Следующая опция - это Page Cache Method (метод кэширования страниц) и по умолчанию Disk: Enhanced . Эта опция зависит от типа сервера, который вы используете. Обычно опция Disk: Enhanced подходит для всех типов.

Pro Features: что это?

Shared Servers

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

Первые две опции - Disk: Basic и Dish: Enhanced - используются для виртуального хостинга (когда несколько сайтов разделяют один сервер).

  • Shared Server | Disk: Basic - идеально подходит для недорогого хостинга
  • Shared Server| Disk: Enhanced - рекомендуется для других хостингов

Нужно выбрать Disk: Enhanced . Если ваш сайт начинает работать медленно, а ваш хостинговый провайдер говорит о том, что он использует дополнительные ресурсы, то измените опцию на Disk: Basic или смените хостинг.

Dedicated / Virtual Server

Выделенный / виртуальный сервер.

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

Opcode: Alternative PHP Cache

Альтернативный PHP кэш. Это бесплатное Open Source PHP решение, которое кэширует PHP-код.

Opcode: eAccelerator

Ускоритель и оптимизатор PHP-кода.

Opcode: XCache

Это самый быстрый и стабильный кэш PHP Opcode, который полностью поддерживается как Linux, так и Windows.

Opcode: WinCache

Разработан специально для Windows, как Open Source-решение для кэширования PHP Opcode, кэширования файлов, уведомлений об изменениях файлов, кэш-сессии.

Multiple Server

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

3. Minify (минимизация)

Минимизация CSS- и JS-файлов и HTML-кода сокращает размер и количество файлов, которые в конечном итоге увеличивают скорость загрузки страниц.

Эту часть плагина W3TC нужно настраивать очень внимательно. Тут есть отдельные разделы в выпадающем меню для HTML, JavaScript и CSS. Необходимо протестировать каждую из этих опций одну за другой, а затем проверить сайт, чтоб выяснить, либо они работают корректно, либо нет.

Minify: включите опцию, поставив галочку

Minify Mode

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

Minify Cache Method

Вы можете еще раз просмотреть объяснение этой опции выше. Рекомендованная опция здесь - Disk .

HTML Minifier

Можно использовать стандартный (Default ) минимизатор для HTML. Если у вас возникнут какие-либо проблемы с сайтом, как например, искажение шаблона, то попробуйте использовать Tidy вместо Default. Хотя он вряд ли покажет ошибку для минимизации HTML.

JS Minifier

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

CSS Minifier

Опять же, в случае с CSS Minifier, можно продолжать использовать стандартные опции до возникновения каких-либо проблем.

Если возникают какие-либо трудности в функционировании сайта, как например, искажение шаблона, то причина может быть в неправильной работе CSS или JavaScript. Для устранения этих неполадок отключите опции минимизации. Часто серверы Lite Speed конфликтуют с минимизацией.

Хотите узнать секрет быстрой загрузки сайтов на Wordpress? Помимо хорошего хостинга и правильно написанных расширений, используйте кэширование и CDN (content delivery network, сеть доставки контента). К примеру, плагин W3 Total Cache.

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

Перед тем, как начать, рекомендуется проверить производительность сайта с помощью онлайновых сервисов Google Page Speed и/или Pingdom Tools . Это следует сделать для того, чтобы сравнить прежние результаты с теми, что получатся после всех настроек.

Что такое W3 Total Cache?

W3 Total Cache это наиболее полный и быстрый плагин для оптимизации производительности в Wordpress. Это подтверждено использованием его на многих популярных сайтах, таких как: AT&T, Mashable, Smashing Magazine и на многих других. W3 Total Cache увеличивает скорость работы сайта путем повышения производительности сервера, кэширования всех аспектов сайта, уменьшения времени отклика и предоставления прозрачной интеграции с сетью доставки контента (CDN).

Установка W3 Total Cache в WordPress

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

Для установки потребуется выполнить нехитрый порядок действий:

Перейдите в административную панель сайта и нажмите на «Плагины »→ «Добавить новый ». В строке поиска наберите «W3 Total Cache » и увидите его в результатах поиска:


Нажмите на кнопку «Установить », после установки активируйте плагин.

Параметры и настройка W3 Total Cache

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

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

Для того, чтобы перейти на страницу с общими настройками, нажмите на меню «Кеширование» в административной панели Wordpress. На ней представлены общие настройки плагина. Убедитесь, что находитесь в общих настройках, а не на странице консоли плагина W3 Total Cache.


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

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


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

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


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

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

Следующий пункт настроек - браузерный кэш.

Что такое браузерный кэш?

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

Параметр браузерного кэширования в W3 Total Cache позволяет указать время хранения закэшированных элементов. При учете, что вы не меняете логотип каждый день, кэширование на 24 часа не причинит никаких неудобств. Просто выделите этот параметр и сохраните. После этого перейдите в «Кэширование» => «Браузерное кэш» для установки прочих настроек.


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

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

Минификация

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

Кеширование запросов к БД

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

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

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

Итак, когда все настроено, будет хорошо сделать резервную копию настроек W3 Total Cache. Для этого следует перейти на страницу общих настроек плагина W3 Total Cache в раздел «Настройки импорта / экспорта» и нажать «Скачать файл параметров».

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

W3 Total Cache – один из двух самых популярных плагинов для кеширования сайтов на WordPress. Сегодня у нас статья — руководство по полной настройке этого плагина.

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

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

1. Конфигурация Общих настроек (General Settings)

Существует два уровня настроек W3 Total Cache. Сначала вам нужно настроить «Общие настройки», где вы включаете или выключаете более 10 разных W3 Total Cache-опций. Затем вам откроется доступ к отдельным страницам с настройками для каждого модуля.

После инсталляции W3 Total Cache, вам, прежде всего, нужно зайти в «Общие настройки»:

Начнем с того, что откроем таб «Общие настройки». Вот как нужно настроить каждую опцию, которую вы видите на странице «Общие настройки»:

1.1 Общие (General)

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

Также здесь можно включить режим привью (Preview mode). В этом режиме все внесенные изменения не коснуться живого сайта, пока вы их не одобрите окончательно. Если вы работаете на загруженном живом сайте, то стоит использовать этот режим. Но если вы настраиваете W3 Total Cache на свежей WordPress-инсталляции или на вашем сайте мало трафика, то просто проигнорируйте этот режим.

1.2 Кэш страницы (Page Cache)

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

Метод, зависит от вашего хостинга.

  • Для виртуального хостинга: выберете Disk: Enhanced.
  • Для выделенного сервера или VPS: вы можете использовать один из методов кэширования Opcode

Если вы не уверены в том, какой вид хостинга используете, то, вероятно, у вас все-таки виртуальный хостинг 🙂 так что если сомневаемся, выбираем метод Disk: Enhanced.

1.3 Minify (Минификация)

Переходим к следующему пункту: Minify. Минификация – это базово уменьшение файлов HTML, CSS и JavaScript без потери их функциональности. Эффект достигается путем удаления ненужной информации, типа разрывов строк и длинных пробелов. Вот почему минимизированный код так тяжело читать человеку.

Не вдаваясь в детали, минификация – это нечто такое, что всегда рекомендует Google PageSpeed, так что ей нельзя пренебрегать.

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

Начнем с того, что поставим Minify mode в режим Auto. Я не могу обещать, что в этом случае ваш сайт продолжит бесперебойно работать. Если сайт прекратил нормально работать, то поиграйте с настройками. В таких случаях я обычно переключаюсь на плагин типа Autoptimize для минификации, или же просто отключаю эту опцию в W3 Total Cache. Также можно использовать CloudFlare со встроенной минификацией.

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

1.4 Opcode Cache

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

1.5 Database Cache (Кэш базы данных)

Согласно мнению разработчиков W3 Total Cache, “W3TC – это швейцарский нож, который вы должны попробовать. В общем caching object cache и database cache to disk — это то, что использовать не рекомендуется.”

Кэширование базы данных (Database caching) может потенциально разогнать ваш сайт, переместив исполнение процессов из базы данных в процессор/память. Но есть проблема – для большинства виртуальных хостингов база данных лучше работает с нагрузкой, чем процессор или память. Так кэширование базы данных может замедлить работу вашего сайта, перегрузив другие аспекты вашего сервера.

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

1.6 Object Cache (Объектное кэширование)

Объектное кэширование может разогнать ваш WordPress-сайт…или же может существенно затормозить работу админки WordPress.

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

Но здесь есть одно исключение: если у вас есть крайне динамичный проект (например, BuddyPress, bbPress и т.д.), вы можете рассмотреть объектное кэширование.

1.7 Browser Cache (браузерное кэширование)

Если вы когда-нибудь прогоняли свой сайт через Google PageSpeed Insights, то вы вероятно, знаете, что “leverage browser caching” (усилить кэширование браузера)– это любимое сообщение данного инструмента. И здесь вы можете применить это усиление.

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

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

1.8 CDN

Если вы используете CDN, вы можете подключиться к W3 Total Cache с помощью этой опции. Вы можете попытаться найти ваш CDN-сервер в выпадающем меню, или выбрать Generic Mirror, если в списке нет нужной опции.

Если вы используете CloudFlare, не нужно интегрироваться здесь. Вместо этого вам нужно будет добавить расширение CloudFlare. Вы можете сделать это из таба Extensions.

Если вы не используете CDN, то не включайте этот бокс. Включать эту опцию нужно только, если у вас уже есть CDN провайдер.

1.9 Reverse Proxy (Обратный прокси)

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

1.10 Monitoring, Fragment Cache, Misc, and Licensing (Мониторинг, Кэш фрагмента, Misc и лицензирование)

Эти опции вы можете просто проигнорировать: пропустите их и преступите к секции Debug.

1.11 Debug (устранение проблем) Monitoring, Fragment Cache, Misc, and Licensing

Если у вас возникли проблемы с W3 Total Cache, то вы можете включить дебаг-опции, но только временно. Для обычного использования отключите все эти боксы. Так как если они не используются для решения проблем, то производят много лишнего кода.

Вот и все настройки секции General Settings. Не забудьте сохранить изменения.

Настройка индивидуальных методов кэширования

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

Настройка Кэширования страницы (Page Caching)

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

Прежде всего, если вы используете SSL, вы должны поставить галочку напротив Cache SSL (https) requests. Также поставьте галочку напротив Cache feeds, не зависимо от того, используете вы SSL или нет:

Немного прокрутите страницу вниз и включите опцию Automatically prime the page cache. А также вам нужно выбрать Preload the post cache upon publish events. Здесь можно оставить цифры, как по умолчанию. Убедитесь в том, что вы также добавили URL карты сайта:

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

Настройка Minify

Секция «Минификация» может быть не так проста в настройке. Ведь пока вы что-то не попробуете, вы не узнаете, насколько негативно это скажется на работе вашего сайта. Так что советуем вам начать с настроек по умолчанию. Но если что-то с сайтом пойдет не так, то придется немного поработать с настройками.

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

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

Так что если вы переключитесь на Autoptimize или CloudFlare, убедитесь в том, что вы отключили минификацию в табе General Settings.

Object cache

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

Как настроить кэш браузера (Browser Cache)

Теперь вам нужно настроить кэш браузера. Не забудьте, что я пропустил настройку database caching и object caching, потому что большинство из вас должно эти опции отключить.

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

  • Set Last-Modified header
  • Set expires header
  • Set cache control header
  • Set entity tag (eTag)
  • Set W3 Total Cache header
  • Enable HTTP (gzip) compression

Прокрутите страницу вниз и поставьте галочку напротив пункта Do not process 404 errors for static objects with WordPress. Все остальное советуем оставить, как есть.

Настройка CDN

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

Помните, что если вы используете CloudFlare в качестве WordPress CDN, вам нужно добавить расширение CloudFlare в табе Extensions.

W3 Total Cache Extensions (Расширения)

Я уже упомянул расширение CloudFlare, но W3 Total Cache также включает расширения для большого количества других инструментов.

Например, есть расширения для:

  • Google AMP pages
  • CloudFlare
  • FeedBurner
  • Genesis Framework (Обязательно установите, если используете Genesis)
  • Yoast SEO
  • WPML (Обязательно установите, если используете WPML для перевода).

Каждое расширение требует какой-либо настройки. К примеру, если вы включите CloudFlare, вам нужно будет ввести API-ключ активации. Затем вы можете работать с функциями CloudFlare прямо из W3 Total Cache:

Слишком сложно? Просто выберете другой плагин кэширования.

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

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

Похожие статьи