Как настроить W3 Total Cache: подробное описание

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

Установка W3TC

W3 Total Cache устанавливается и активируется как обычно. В меню слева находится раздел Performance, в котором находятся ссылки на настройки плагина:

В этой статье описание версии плагина 1.X.X, когда он принадлежал Фредерику Тоунсу. Сейчас плагин принадлежит компании BoldGrid, в нем добавилось несколько новых меню, но большинство изменений относится к платной версии плагина и к другим продуктам BoldGrid.

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

Изменения, которые стоит отметить:

  • В отличие от прошлой версии, версия 2.Х.Х частично переведена на русский язык.
  • В Тесте совместимости (будет дальше, перейти к тесту) настройки сервера теперь подсвечиваются красным, желтым и зеленым цветом. Стало удобней, на функционал не влияет.
  • Добавился Мастер настройки (Setup Guide, перейти к Мастеру) — очень полезное дополнение, которое помогает понять, какие настройки на вашем сайте работают лучше всего.

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

Мастер настройки

Мастер настройки, или Setup Guide находится в левом меню Вордпресс PerformanceSetup Guide.

После активации плагина вы должны попасть на эту страницу. В версии 2.1.5 Мастер настройки у меня выглядит так:

Мастер настройки W3TC
Мастер настройки W3TC

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

Для браузера ChromeLive CSS Editor, для Opera, YandexLive editor for CSS and LESS, или аналогичные. Или добавьте прямо в стили вашей темы, например, в Кастомизаторе Вордпресс (Внешний видНастроить).

Если все в порядке, нажмите Далее и переходите к настройке.

Первый тест будет Page Cache, Кэш страницы. Нажмите кнопку Тест кэша страницы и посмотрите результаты.

Прогоните тест несколько раз и выберите лучший вариант. Нажмите Далее.

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

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

На этом этапе вы можете тестировать разные варианты в Google SiteSpeed, GTMetrix или Pingdom.

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

Dashboard

На странице Dashboard вы можете провести тест совместимости W3TC и сервера, сбросить кеш из разных модулей W3TС и просматривать статистику / производительность кеша.

Сброс модулей кеша W3TC
Сброс модулей кеша W3TC

Compatibility Check — Тестирует сервер, какие функции включены / выключены.

Empty all caches — Удаляет весь кеш.

Empty only the memcached cache(s) — Удаляет весь memcache.

Empty only the opcode cache — Удаляет весь opcode кеш.

Empty only the disk cache(s) — Удаляет весь кеш, который был кеширован методами disk, disk: basic или disk: enhanced.

Update Media Query String — W3TС прикрепляет запись в конце файлов CSS, JS и картинок. Для обновления записи нажмите кнопку, чтобы браузер загружал последнюю версию файлов.

Некоторые из этих функций находятся в меню плагина в топ-баре:

Меню Performance в админ-баре плагина W3TC
Меню Performance в админ-баре

Тест совместимости

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

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

Тест на совместимость W3TC
Тест совместимости W3 Total Cache

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

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

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

Остальные настройки

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

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

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

Реклама

Калькулятор ОСАГО

Простой способ выгодно купить полис

General Settings

Это главное меню W3 Total Cache. Все основные функции плагина включаются и выключаются в этом меню. Более глубокие настройки каждой функции находятся слева в подменю Performance.

Вверху находятся ссылки для навигации по функциям вниз по странице.

W3TC General Settings ссылки для навигации по функциям
Навигация по функциям

General

В этом блоке находятся 2 настройки:

W3TC General Settings Блок General
W3TC General Settings Блок General

Toggle all caching types on or off (at once) — включает или выключает все модули W3TC. Скорее всего вы не будете использовать все функции, поэтому не ставьте здесь галочку, мы настроим модули по порядку.

General Settings: Preview mode

Режим предпросмотра. Полезный инструмент, но требует некоторое время на освоение.

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

W3TC Диалог режима предпросмотра
Диалог режима предпросмотра

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

Кнопки режима предпросмотра:

  • Deploy — Переносит сделанные и сохраненные изменения из режима предпросмотра в обычный режим, но оставляет плагин в режиме предпросмотра.
  • Disable — Выключает режим предпросмотра и переносит все сохраненные изменения из preview mode в нормальный режим.
  • Preview — Открывает новую вкладку в браузере, в которой вы видите изменения, но они недоступны для посетителей сайта.

После того, как вы нажали Preview и обновили страницу, кнопка изменится на Stop previewing. Нажмите на Stop Previewing, чтобы увидеть сайт так, как его видят незалогиненные посетители.

Некоторые из изменений, которые W3TC может сделать с вашим сайтом — в основном это минификация CSS и JS — могут повредить сайт, поэтому лучше не применяйте изменения на живом сайте. В режиме предпросмотра вы можете применить изменения тогда, когда вы знаете, что они улучшат поведение сайта.

Очистка кеша

При работе с W3TC вы постоянно будете видеть примерно такое сообщение вверху страницы:

Очистка кеша
Очистка кеша

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

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

General Settings: Page Cache

Кеширование страницы. Это одна из самых важных функций W3TC. Если вы включите только Page Cache, это заметно ускорит ваш сайт.

Настройки Page Cache W3TC
Настройки Page Cache W3TC

W3TС может использовать множество разных методов для кеширования страниц. По умолчанию стоит значение Disk: Enhanced, которое будет работать на многих сайтах, но если вы используете виртуальный хостинг, возможно, вам придется использовать настройки Disk: Basic. Используйте Basic, если ваш хостинг говорит о превышении использования ресурсов, или если Тест совместимости определил, что сервер несовместим с настройками Disk: Enhanced.

На выделенном или VPS сервере / хостинге вы можете выбрать один из методов Opcode cache. Если вы используете свой собственный сервер, вы можете установить один из Opcode cache. Если ваш сервер работает на Windows, выберите метод Opcode: WinCache.

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

После выбора метода кеширования Сохраните изменения или Сохраните изменения и очистите кеш.

General Settings: Minify

Обратите внимание: минификация CSS и JS (плагином W3TC или другим плагином) может нарушить работу / привычный вид сайта, поэтому пользуйтесь этой функцией с осторожностью. Я часто делаю минификацию в последнюю очередь.

Минификация CSS, JS в W3TC
Минификация CSS и JS

Кнопкой Auto вы можете объединить и минифицировать css и js автоматически, но не сможете работать с каждым css или js файлом по отдельности в меню Minify. Включите автоматический режим, сделайте настройки в меню Minify, и проверьте работу сайта. Если что-то не работает, переключайтесь в режим Manual.

Выберите режим кеширования Disc, если вы находитесь на виртуальном хостинге. Если нет, выберите тот же режим кеширования, который вы выбрали для Кеширования страницы.

General Settings: Opcode Cache

Настройки Opcode Cache
Настройки Opcode Cache

Включен по умолчанию, если на сервере установлен модуль Opcode cache.

General Settings: Database Cache

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

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

Кеширование базы данных W3TC
Кеширование базы данных

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

Как узнать, включать или не включать кеширование базы данных:

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

General Settings: Object Cache

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

Настройки Object Cache
Настройки Object Cache

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

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

General Settings: Browser Cache

Чтобы включить кеширование в браузере посетителя, выберите Enable и сохраните изменения.

Настройки Browser Cache
Настройки Browser Cache

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

General Settings: CDN

Если вы используете CDN (Content Delivery Network, Сеть Доставки Контента), то подключить его можно здесь. CDN скопирует кешированные файлы с сервера, так что скорость доставки страницы благодаря кешированию контента и доставки его из ближайшего к посетителю сервера CDN.

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

Включение CDN
Включение CDN

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

Если вы хотите подключиться к Cloudflare, вам нужно пройти в раздел Extensions, активировать расширение Cloudflare, вернуться в раздел General Settings, и настроить подключение к Cloudflare здесь.

General Settings: Reverse Proxy

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

General Settings: Licensing

Введите сюда ключ Премиум версии W3TC.

General Settings: Monitoring

Мониторинг сервера New Relic может быть подключен к W3TC. Для этого вам нужно установить New Relic на ваш сервер и завести аккаунт на New Relic. Так как New Relic устанавливается на сервер, он не может быть использован на виртуальных хостингах.

Если вы уже установили New Relic и у вас есть аккаунт на New Relic, введите здесь свои данные, и вы получите статистику по своему серверу в Консоли Вордпресс.

General Settings: Miscellaneous

Первая опция в этом разделе — выведение виджета Google PageSpeed в админке Вордпресс. Для подключения понадобится API ключ.

Настройки Разное
Настройки Разное
  • Show page rating in admin bar — показывает рейтинг страницы в админ баре.
  • Verify rewrite rules — функция оповещения об изменении файлов .htaccess и конфигурации сервера. Если с ними что-то не так, эта функция покажет сообщение. Оставьте включенной.
  • Enable file locking — по умолчанию выключена. Функция блокировки файлов не работает на многих виртуальных хостингах. Если ваш сайт находится на собственном хостинге, попробуйте включить эту опцию, это может увеличить производительность.
  • Optimize disk enhanced page and minify disk caching for NFS — по умолчанию выключена. Потестируйте сайт с включенной и выключенной функцией, оставьте лучший вариант.
  • Anonymously track usage to improve product quality — собирает анонимную информацию об использовании плагина для улучшения качества продукта.
  • Enable caching statistics (on dashboard) — включает сбор статистики кеширования и показывает виджет на Консоли.
  • Enable Edge mode — включает последние разработки кеширования. Если у вас на сайте есть посетители, эту опцию лучше не использовать.

General Settings: Debug

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

Настройки Debug
Настройки Debug

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

В этом меню будут показаны только те модули, которые включены в General Settings. В этом примере доступны только Кеширование страниц и Минификация, остальные модули недоступны, так как они выключены.

General Settings: Import / Export Settings

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

Настройки Import Export Settings
Настройки Import Export Settings

Нажмите Download для экспорта текущих настроек.
На сайте, куда вы хотите перенести настройки, нажмите Choose File и выберите нужный файл.

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

Если вы хотите сбросить настройки W3TC до настроек по умолчанию, нажмите Restore Default Settings.

Page Cache

После того, как вы включили Page Cache в General Settings, переходите в настройки Page Cache для детальной настройки кеширования страниц.

Page Cache: General

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

Настройки кеширования страниц
Настройки кеширования страниц
  • Cache posts page — кешировать страницы постов. Включайте.
  • Don’t cache front page — не кешировать главную страницу. Выключайте, эта страница тоже должна кешироваться. 
  • Cache feeds: site, categories, tags, comments — кешировать фиды: сайт, категории, теги, комментарии. Кешировать все это, включить.
  • Cache SSL (https) requests — если вы используете https, включите эту функцию.
  • Cache URIs with query string variables — кешировать URI с запросами переменных в строке. Для большинства сайтов эта функция не нужна. Если на вашем сайте поиск используется нечасто — оставьте настройку выключенной.
  • Cache 404 (not found) pages — кешировать страницы 404. Посетители получают страницу 404 не так часто, чтобы была необходимость кешировать ее, кроме того, проиндексированная страница 404 может попасть в поиск Яндекс или Гугл. Оставьте выключенной.
  • Don’t cache pages for logged in users — не кешировать страницы для залогиненных пользователей. Если вы оставите эту функцию выключенной и зайдете на сайт под своим логином, страницы, которые вы видите как администратор (или под другой ролью), могут быть кешированы и показаны незалогиненным пользователям. Оставьте включенной. Важная настройка для мембершип сайтов, интернет-магазинов и других сайтов с авторизацией пользователей. По умолчанию функция включена, проверьте, что вы случайно не выключили ее. Если функция выключена, то ваши посетители могут попадать в админки друг друга из-за того, что видят кешированные версии предыдущих посетителей.
  •  Don’t cache pages for the following user roles — не кешировать страницы для следующих ролей. Залогиненные посетители, которые соответствуют выбранным ролям, не будут получать кешированные страницы, а будут получать исходную страницу с сервера. Касается предыдущей настройки, по умолчанию выключено. Можете дополнительно отметить Подписчика или Клиента.

Page Cache: Aliases

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

Альтернативные адреса
Альтернативные адреса

Page Cache: Cache Preload

Предзагрузка кеша. Создает кешированные страницы до того, как они запрашиваются пользователем.

Предзагрузка кеша
Предзагрузка кеша

Эта функция автоматически создает кеш через заданный интервал времени. В этом примере создаются 10 страниц через каждые 15 минут.

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

Укажите адрес карты сайта, по ней W3TC определяет, какие страницы будут создаваться.

Preload the post cache upon publish events — когда публикуется новый пост, обновляется кеш всех страниц.

Page Cache: Purge Policy

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

Настройки Purge Policy
Настройки Purge Policy

Purge limit — определяет, сколько страниц должно сбросить кеш. Например, если у вас 15 постов, и вы установили purge limit = 10, то 10 более новых страниц сбросят свой кеш, а 5 оставшихся страниц сбросят свой кеш, когда у кешированных страниц истечет срок существования.

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

Если у вас есть какие-то страницы, кеш которых вы хотели бы удалять, когда какая-то страница публикуется или обновляется, добавьте эти страницы в Additional Pages.

Page Cache: Advanced

Эта секция используется для

  • Управления, как W3TC работает с указанными запросами,
  • Исключает выбранные юзер-агенты (браузеры, устройства) из получения кешированных страниц сайта,
  • Определяет cookies, которые будут указывать W3TC не кешировать страницы.
Продвинутые настройки кеширования страниц
Продвинутые настройки кеширования страниц

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

Compatibility mode — режим совместимости, уменьшает производительность плагина ~на 20%. Автор плагина рекомендует включить эту опцию для уменьшения количества возникающих ошибок.

Charset — если вы видите неверную кодировку в кешированных страницах, включите эту функцию.

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

Garbage collection interval — укажите, как часто удалять просроченный кеш. Если у вас большой сайт, не удаляйте кеш слишком часто, так как это нагружает сервер. Значения по умолчанию подойдут для большинства серверов.

Comment cookie lifetime — определяет время жизни cookies комментариев. По умолчанию стоит время, подходящее для большинства сайтов. Если вы укажите более короткий интервал, возможно, посетителям сайта придется еще раз авторизоваться, чтобы оставить комментарий.

Следующие настройки определяют действия W3TC с выбранными cookies, юзер-агентами и страницами, понятно из описания.

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

Адреса нужных страниц пишите в таком виде:

/нужная-страница/
/другая-нужная-страница/

Также можете добавить страницы Корзина, Оформление заказа.

Если вы хотите исключить и кеширования страницу и все ее подстраницы, например, Аккаунт пользователя WooCommerce, то используйте написание без последнего слеша, то есть:

/account

Поддерживает регулярные выражения, см. FAQ в описании.

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

Minify

Перед настройкой секции Minify проверьте в секции General Settings, что минификация включена.
В режиме Auto:

Minify: General

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

Общие настройки в меню Minify включают 3 функции: 

Rewrite URL structure — должен быть включен по умолчанию, оставьте как есть. Если вы снимите галочку, то CSS и JS будут извлекаться с использованием заголовков GET HTTP, а не обычной структуры URL.

Disable minify for logged in users — выключает минификацию для залогиненных пользователей, оставьте выключенным. Обычно считается, что залогиненным и незалогиненным пользователям надо предоставлять одни и те же css и js файлы.

Minify error notification — сообщения об ошибках минификации. Поставьте Admin Notifications, чтобы получать сообщения об ошибках.

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

Minify: HTML & XML

Минифицирует строчный (inline) CSS и JS, пропускает минификацию фидов и выключает перенос строк.

Настройки минификации HTML и XML
Настройки минификации HTML и XML

Отметьте все галочки, кроме Don’t minify feeds.

Текстовая область Ignored comment stems используется для HTML комментариев, которые не должны удаляться при минимизации HTML. Комментарии Google AdWords google_ad_ и комментарии программ чтения с экрана RSPEAK_ находятся в этом поле по умолчанию. Если в минифицированной версии HTML вы хотите сохранить еще какие-то комментарии из изначальной версии HTML, добавьте их в это поле.

Minify: JS

Если в разделе General Settings вы включили режим Auto для минификации CSS и JS, то вы сможете работать только со всеми js файлами сразу, и настройки, которые вы видите, будут такими:

Авто настройки минификации JS
Авто настройки минификации JS

В большинстве случаев причина проблемы неправильного отображения сайта — минификация js. Если у вас нарушилась работа сайта, включите режим Combine only, то есть комбинировать файлы js, но не минифицировать их.

В режиме Manual:

Ручные настройки минификации JS
Ручные настройки минификации JS

Если вы в ручном режиме, поднимитесь наверх страницы Minify и нажмите кнопку Help. Вы увидите список CSS и JS файлов, которые обнаружил W3TC. Выберите все файлы и нажмите Apply & close, все файлы будут добавлены в меню Minify и вы сможете работать с каждым файлом вручную.

В секции Operations in area вы можете указать W3TC минифицировать или минифицировать и объединить JS файлы. Справа находится выпадающий список Embed type, в котором вы можете выбрать технологию минификации / объединения. Попробуйте все варианты Non-blocking…, выберите тот, который не нарушает работу сайта. Если ни один из них не подошел, выберите вариант Default (blocking).

Если в General Setting вы выбрали ручной режим минификации, то вы можете работать с каждым CSS или JS файлом по отдельности, привязывать их к одному или нескольким шаблонам, переносить файлы в <head>, <body> или после </body>, контролировать, в каком месте html-страницы файлы должны находиться и как они должны загружаться. Вы можете перетаскивать файлы, чтобы менять очередность их загрузки, но не забывайте, что некоторые файлы должны загружаться раньше других файлов, например, библиотека jquery.js должна загрузиться раньше других JS файлов.

Оптимальный вариант — вынести все файлы из секции <head>, и загружать их при помощи одной из Non-blocking… опций, но так сделать не получится, так как некоторые файлы жестко закреплены в хедере, и должны загружаться после определенного файла.

Работайте с этим файлами по одному, пробуйте разное расположение на странице и проверяйте работу сайта после каждого изменения.

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

Minify: CSS

Ручные настройки минификации CSS
Ручные настройки минификации CSS

Enable — включает минификацию и объединение CSS файлов.

Combine only — объединяет CSS файлы, но не минифицирует их.

Preserved comment removal — убирает комментарии из объединенных CSS файлов.

Line break removal — убирает разрывы строк (т.е. пишет код в одну строку) в объединенных CSS файлах.

Embed content instead of using external file(s) — недавно появилась новая опция, вставляет контент вместо использования внешнего файла(ов). Я не знаю, что она значит; если вы знаете, поделитесь в комментариях.

Сначала выберите Enable, Preserved comment removal и Line break removal. Если вы увидите, что CSS поплыл, выключите 2 последних опции. Если сайт все еще отображается неправильно, тогда оставьте только галочку Combine only.

@import handling выберите Process. Автор плагина говорит, что Bubble ненадежен, и следует выбирать Process.

Если вы выбрали режим Auto минификации / объединения в General Settings, то вы видите только эти 2 настройки. Если вы выбрали режим Manual, то появится еще один раздел CSS file management.

CSS файлы добавляются в этот раздел так же, как и JS файлы, поднимитесь наверх и нажмите кнопку Help, отметьте все файлы и нажмите Save & close. После того, как вы добавили файлы, переставьте их в нужной последовательности, все то же самое, как с JS файлами. Не забудьте оставить файл style.css на первом месте.

Minify: Advanced

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

Дополнительные настройки минификации
Дополнительные настройки минификации

Update external files every — как часто CSS и JS файлы обновляются в кеше,

Garbage collection interval — как часто файла с истекшим сроком существования удаляются из кеша. 24 часа = 86.400 секунд.

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

В этих поля вы можете указывать относительный путь, то есть вместо http://my-site.ru/page1 вы можете указать /page1.

Database Cache

В разделе Database Cache находится 2 меню, — General и Advanced.

Основные настройки Database Cache
Основные настройки Database Cache

Don’t cache queries for logged in users — включена и рекомендуется по умолчанию. Когда посетитель сайта залогинен, он будет получать некешированную версию данных базы данных. Залогиненный посетитель, например, комментатор, будет вносить изменения в базу данных, поэтому ему нужно взаимодействовать напрямую с базой данных, а не с ее кешированной версией.

Database Cache: Advanced

Настройки Database Cache
Настройки Database Cache

Maximum lifetime of cache objects — срок существования объектов в кеше,

Garbage collection interval — удалять объекты из кеша каждые 3.600 секунд.

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

Never cache the following pages — укажите в этом поле страницы, для которых не нужно кешировать объекты БД.

Настройки Database Cache
Настройки Database Cache

Ignored query stems — не кешировать данные, которые содержат эти переменные.

Находящиеся там по умолчанию переменные gdsr_, wp_rg_ и _wp-session относятся к плагинам GD Rating System, Gravity Forms и WP Session Manager. Этим плагинам нужен прямой доступ к базе данных при каждой загрузке страницы. Добавьте в это поле переменные, чтобы данные, содержащие эти переменные, не кешировались.

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

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

Object Cache

Настройки Object Cache
Настройки Object Cache

Default lifetime of cache objects — срок существования объектов в кеше,

Garbage collection interval — удалять объекты из кеша каждые 3.600 секунд.

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

Настройки Object Cache
Настройки Object Cache

Global groups — группирует объекты, которые используются на нескольких отдельных сайтах или мультисайте. Эти объекты могут быть кешированы и использованы другими сайтами. Оставьте по умолчанию.

Non-persistent groups — какие объекты не кешируются object кешем W3TC. Оставьте как есть.

Enable caching for wp-admin requests — включает кеширование запросов в админке сайта.

Store transients in database — хранит временные данные в базе данных.

Browser Cache

В этом разделе 4 секции для настройки кеша, который хранится в браузере посетителя: General, CSS & JS, HTML & XML и Media & Other Files. Поля, которые находятся в этих секциях, очень похожи. Те настройки, которые вы сделаете в секции General, будут продублированы в следующих секциях. Если понадобится сделать какие-то особые настройки в следующих секциях, сначала настройте секцию General, потом корректируйте изменения в секциях CSS & JS, HTML & XML и Media & Other Files.

Browser Cache: General

Первые 4 опции в секции General проверяют, что данные, хранящиеся в браузере, еще актуальны.

Настройки Browser Cache
Настройки Browser Cache

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

Set expires header и Set cache control header ограничивают срок существования кешированных данных. Set expires header устанавливает определенное время существования кешированным данным, Set cache control header устанавливает время существования, которое начинает обратный отсчет после того, как браузер скачал кешированные данные.

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

Настройки Browser Cache
Настройки Browser Cache

Set W3 Total Cache header — добавляет в заголовок страницы запись, что страница была кеширована плагином W3TC. Не добавляет производительности.

Enable HTTP (gzip) compression — включает gzip компрессию. По умолчанию включено, оставьте включенным. Для работы gzip должен быть включен модуль mod_deflate, вы можете это проверить в Тесте совместимости.

Prevent caching of objects after settings change — после того, как какие-то настройки были изменены, добавляет запись к кешированным данным, чтобы браузер удалил старые данные и скачал новые. Оставьте включенным.

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

Prevent caching exception list — если вы не хотите, чтобы какие-то данные кешировались, например, флеш-плеер, добавьте путь к ним в этом поле.

Настройки Browser Cache
Настройки Browser Cache

Don’t set cookies for static files — статичные файлы (картинки, CSS и JS) не нуждаются в cookies, поэтому отключите эту опцию, чтобы не добавлять ненужную информацию.

Do not process 404 errors for static objects with WordPress — включенная опция указывает серверу обрабатывать статичные файлы страницы 404, вместо того, чтобы ядро Вордпресс делало эту работу, — это уменьшает нагрузку на сервер.

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

Browser Cache: CSS & JS, HTML & XML, Media

Эти секции наследуют значения, выбранные в секции General. Если вы хотите сделать какие-то особые настройки для этих ресурсов, сделайте их в соответствующих секциях. Срок хранения этих файлов в браузере посетителя (Leverage Browser Caching) вы можете установить здесь. Подробнее.

Browser Cache: Security Headers

Security Headers
Заголовки безопасности X-Security
Заголовки безопасности Security Headers
Заголовки безопасности

User Agent Groups

Этот раздел группирует пользователей по юзер-агентам (устройствам). Например, для перенаправления мобильных пользователей на мобильную версию сайта.

Создание группы в User Agents
Создание группы в User Agents

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

User Agent Groups Смартфоны, группа с высоким приоритетом
User Agent Groups Смартфоны, группа с высоким приоритетом

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

Если у вас есть отдельный сайт, на который мобильные пользователи должны быть переадресованы, добавьте этот URL в поле Redirect users to. Если вы хотите добавить какие-то устройства или удалить их из этой группы, добавьте или удалите их в поле User agents.

Referrer Groups

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

Референтные группы
Референтные группы

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

CDN

Этот раздел используется, чтобы копировать кешированную версию сайта на CDN. Перед тем, как настраивать этот раздел, выберите CDN сеть, которую вы хотите использовать, в General Settings.

Если вы хотите использовать Cloudflare в качестве CDN, то сначала включите расширение Cloudflare в разделе Extensions.

Чтобы подключить вашу сеть CDN сначала настройте соединение с сетью в секции Configuration, после этого сделайте остальные настройки.

Наверху этого раздела находятся кнопки

CDN Кнопки наверху раздела
CDN Кнопки наверху раздела

Кнопка modify attachment URLs используется для изменения URL адресов файлов, когда изменился URL адрес сайта или страницы. Подробнее можно прочитать в разделе FAQ.

Importing attachments into the Media Library — импортирует картинки в постах и на страницах в библиотеку Вордпресс. Если картинка не находится в библиотеке Вордпресс, она не копируется на CDN. Нажмите эту кнопку, чтобы импортировать картинки в библиотеку.

Остальные кнопки используются для того, чтобы в сети CDN всегда были актуальные версии файлов. Удалите кеш из CDN, чтобы на него скопировалась последняя версия кеша.

CDN: General

В этой секции вы указываете, что копировать на CDN. Отметьте все, или снимите те галочки, которые вы не хотите копировать на CDN.

Настройки CDN General
Настройки CDN General

Host attachments — копирует медиа файлы на CDN,

Host wp-includes/ files — копирует файлы из папки wp-includes. Выберите типы файлов в секции Advanced.

Host theme files — копирует файлы из папки темы. Выберите типы файлов в секции Advanced.

Host minified CSS and JS files — выбирайте эту опцию только если вы используете минификацию W3TC. Копирует CSS и JS файлы, которые были созданы в разделе Minify.

Host custom files — копирует файлы по маске из поля Custom file list в секции Advanced. Оставьте опцию включенной, так как в этом поле уже добавлено несколько масок.

Add canonical header — добавляет URL сайта в качестве канонического заголовка к файлам, которые находятся на CDN. Поставьте галочку, чтобы в заголовках файлов был указан URL сайта, а не URL CDN сервера.

CDN: Advanced

Настройки CDN Advanced 1
Настройки CDN Advanced

Disable CDN on SSL pages — если вы получаете предупреждения о том, что часть контента доступна по http, часть — по https, уберите эту галочку, чтобы контент с SSL страниц не копировался на CDN.

Disable CDN for the following roles — отметьте эту галочку, если хотите, чтобы для определенных типов пользователей контент не копировался на CDN.

Настройки CDN Advanced 2
Настройки CDN Advanced

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

File types to import определяет типы файлов, которые должны быть скопированы из сторонних источников в библиотеку Вордпресс.

Укажите в поле custom file list типы файлов, которые должны копироваться на CDN.

Настройки CDN Advanced 3
Настройки CDN Advanced

Rejected user agents — укажите юзер-агенты (устройства), которые не нужно обслуживать из CDN. Если вы используете вторую тему для мобильных устройств, например, WP Touch, укажите юзер-агенты в этом поле, чтобы они получали мобильную версию сайта.

Rejected files — укажите типы файлов, которые не должны копироваться на CDN. Несколько файлов уже указаны по умолчанию, оставьте их как есть. Добавьте другие файлы / типы файлов, например, капчи, если кеширование на CDN работает неправильно.

Set cookie domain to “My-site-URL” — поставьте галочку, если у вашего сайта есть субдомены.

Monitoring

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

Extensions

Раздел расширений содержит аддоны, которые позволяют сторонним продуктам или сервисам интегрироваться в W3 Total Cache. AMP, CloudFlare, Google FeedBurner, Genesis Framework, Yoast SEO plugin и WPML. Если вы используете один из этих сервисов, включите расширение и настройте интеграцию в этом разделе.

Extensions: CloudFlare

Это популярный CDN сервис, на котором вы также можете получить SSL сертификат. Есть бесплатный и платные тарифы. Чтобы включить это расширение, нажмите Активировать. После активации в разделе General Settings появится секция CloudFlare.

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

FAQ

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

Support

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

Install

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

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

Во второй части инструкции для выделенных и VPS серверов: как установить Yum, модули Memcache, различные модули Opcode и New Relic.

About

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

Читайте также:

  1. Полный гид по W3 Total Cache. Введение в кеширование
  2. Как настроить W3 Total Cache: подробное описание
  3. W3 Total Cache: Решение проблем
  4. W3 Total Cache: Настройки для виртуальных хостингов

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

комментариев 29

  1. Или может быть данные настройки помогут?

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

    Ignored query stems — не кешировать данные, которые содержат эти переменные.

  2. Добрый день. Подскажите пожалуйста.

    Поможет ли настройка Page Cache: Purge Policy (post page и posts page) в данном случае:
    Есть магазин с вариативными товарами. В карточке товара отражается вариация и остаток количества.
    Пока никакой плагин кэширования не установлен. Но уже вынужден об этом задуматься. И у меня заранее возник вопрос — а что будет с отражением количества товара, когда поставлю плагин? Ведь что может произойти? Заходят 3 человека в карточку товара, все видят остаток — 15 штук. Один из них быстро покупает все 15 единиц (ну или как минимум оформляет заказ, срок брони заказа — 1 час, т.е. как только товар в оформленном заказе, но не оплачен, товар резервируется и не отражается на остатках)). Я так понимаю, после покупки одним пользователем товара, остальные по прежнему будут видеть товар в количестве 15 штук ? Т.е. при включенных опциях, будет ли обновлятся кэш конкретной страницы карточки товара? Ситуации когда несколько человек одновременно находятся в одной карточке и покупают одну и туже вариацию товара нечасты, но периодически возникают.

  3. Добрый день. На моем сайте при редактировании старой записи или добавлении новой весь кэш сайта каждый раз сбрасывается. Не понимаю как это устранить. В настройках в разделе «Page Cache: Purge Policy» я все галочки убрал. Возможно есть еще какие-то настройки? Просто получается, что если целый день добавляются или редактируются статьи, то сайт и не кэшируется вовсе.

  4. Отличный мануал. Спасибо!

    Хотел посоветоваться. Раньше не было такой проблемы просто. На сайте при добавлении товара в Корзину постоянно пишет ошибку проверки. Приходится регулярно чистить кеш Page Cache.

    Почему так происходит и как устранить проблему, чтобы постоянно туда не лазить?

  5. Не знаю, не сильно меня этот плагин впечатлил. По данным PageSpeed Insights прирост составил всего лишь 10%. Это мало по сравнению с плагинами Autooptimize и WP Optimize. Там сразу на 20% был прирост. Хотя, по функциональности W3 Total вроде отличный плагин, множество конфигов с описанием. Но прироста все равно нет. Возможно, из-за того, что не все включено на сервере, но я использую обычный shared-хостинг. Словом, я буду удалять данный плагин. Ваше руководство было прочитано, но не помогло. Вы бы лучше позволили читателям скачать и импортировать в плагин ваши настройки (W3 Total позволяет). С уважением.

    • Да, многое зависит от хостинга, сайта, плагинов и так далее. Конечно, смысл не в том, чтобы использовать самый большой плагин.
      Смысл в том, чтобы получить лучший результат. Если на вашей установке Autoptimize и WP Optimize дают лучший результат, то лучше использовать их.

      Какие модули включены на сервере можно посмотреть в Dashboard — Compatibility Check.

  6. Дмитрий,
    у Вас отличное подробное описание по настройке плагина W3 Total Cache.
    Спасибо за это!

    Но почему-то Вы пропустили описание раздела Security Headers на странице Browser Cache…
    Хотя Безопасность это Ваш конек

        • Здравствуйте, Сергей,

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

          Настройка same-origin сохраняет информацию о перемещениях внутри сайта, но не передает информацию на другие сайты.
          Настройка no-referrer-when-downgrade — это настройка по умолчанию, которая не передает информацию только если шифрование сменилось с HTTPS на HTTP.

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

          Если не ошибаюсь, настройку same-origin в качестве оптимальной я взял из документации плагина Security Ninja.

        • Я пропустил, потому что у меня не установлены эти расширения на сервере, где расположен веб-сайт. По этому, этого пункта в W3 Total Cache даже не оказалось. Я еще вчера долго с этим плагином игрался. НО в итоге отказался от него. Этот плагин больше подходит для владельцев VPS (и я его на своих серверах обязательно поставлю), но не для обычного хостинга с установленными по умолчанию пакетами. Поэтому, я больше склоняюсь к Autooptimize. Все-таки он показал наилучшие результаты. Что касается других плагинов, то WP Super Cache мне не понравился тоже — все интересные опции в нем платные. Могу только выделить WP Optimize. Вот только при использовании связки Autooptimize + WP optimize, и в додачу WP FFPC очень сложно все настроить так, чтобы не перекрывали друг друга и не конфликтовали. А вообще наилучшым вариантом является CloudFlare и все его встроенные инструменты. Производительно сразу увеличивается (по данным Google PageSpeed) на 20, а то и 30%. Если у кого-то есть свои интересные конфигурации — пишите. Будет интересно протестировать.

  7. Спасибо за мануал — отличная подробная инструкция!

    Вопрос — при попытке подключения плагина к CloudFlare выдает ошибку «Failed to reach API endpoint». Все данные (и email, и API Key) введены 100% верно.

    Как я понял, покопавшись в Яндексе, ситуация не у меня одного. Однако, решения так и не найдено.

    Может, вы сталкивались с таким и знаете, как это решить?

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

      Попробуйте другой плагин кеширования, например Fastest Cache.
      Если решите пробовать, Total Cache оставляет много записей после удаления, посмотрите на сайте есть статья Как правильно удалить Total Cache.
      Если потом будете удалять Fastest Cache, его нужно удалять так же.

      • Проверил, ошибок в ключе нет.
        Странно, но один раз получилось подключиться, провести все настройки. Но потом в настройках расширения CloudFlare опять потребовалась авторизация. И с тех пор выдает ошибку подключения.

        Уже и ключ API в профиле CloudFlare менял, все равно не работает

        • Попробуйте деактивировать и снова активировать Total Cache.
          Попробуйте деактивировать все плагины и включайте по одному, попробуйте тему 2020.
          Если не ошибаюсь, у Total Cache есть режим debug, посмотрите там, может появится идея.

          Попробуйте режим Inspect в браузере, вкладка Console на странице, где вы вводите ключ.
          Если не поможет, попробуйте полностью удалить Total Cache, зайдите в базу данных, удалите все записи.
          Если не ошибаюсь, они начинаются с w3tc, наберите в поиске.
          Ну и форум W3TC на wordpress.org. И техподдержка хостинга.

          Если ничего не поможет — установите Fastest Cache.

        • У Cloudflare есть собственный плагин, посмотрите в репозитарии.
          Если с ним тоже не заработает, значит, проблема не в W3 Total Cache.

            • Они создают кеш у себя и его отправляют посетителям.

          • Проблема с подключением к аккаунту решилась — нужно было просто перезагрузить сервер.

            Еще один вопрос — если CloudFlare сами кешируют сайт, есть ли необходимость дополнительно подключать выгрузку в разделе CDN плагина W3?

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

            • Не совсем понял вопрос.
              Если вы имеете в виду, нужно ли кешировать сайт, если его кеширует CloudFlare,
              то нет, не нужно.
              Сайт должен кешироваться либо на CDN (CloudFlare), либо с помощью плагина.

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

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

  9. Предложение по Minify: HTML & XML

    Если добавить в окно Ignored comment stems: W3 Total Cache
    То при просмотре кода страницы, будет комментарий о кешировании W3 Total Cache в последних строках.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Techbear

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

WordPress   WooCommerce   Membership   Elementor   ACF

Обновления блога

Subsription - Gray Footer
Techbear