В первой статье, посвящённой оптимизации сайта на WordPress, мы настроили базовое кэширование, используя опции, которые предоставляет бесплатная версия плагина W3 Total Cache и установили некоторые расширения PHP, которые позволили ускорить выполнение PHP-скриптов сайта. Во второй части мы перейдем к более тонкой настройке плагина, используя расширенные настройки.
Что такое «Advanced Settings» в W3 Total Cache?
Расширенные настройки (Advanced Settings) в W3 Total Cache открывают доступ к тонкой настройке кэширования и оптимизации для ускорения работы сайта. Здесь можно более гибко настроить кэш страниц, объектов и базы данных, а также параметры сжатия и объединения CSS и JavaScript (minify). Кроме того, доступны опции интеграции с CDN и управления заголовками браузерного кэша. Это позволяет максимально оптимизировать скорость загрузки, но требует внимательного подхода к настройке.
Настраиваем Page Cache (кеш страниц):
В админ-панели вашего сайта на WordPress перейдите в раздел «Performance» и затем нажмите на «Page Cache«. Здесь мы сможем более тонко настроить кэширование страниц.
Раздел «General»
- Страница кэша записей — Активируйте. В WordPress это страница сайта, на которой отображаются последние статьи. На сайтах и блогах это обычно главная страница, на которую приходится наибольшее количество запросов. Каждый раз, когда пользователь открывает эту страницу, сайт генерирует ее заново, что занимает определенное время. Активация этой опции создает готовую версию этой страницы, что значительно сокращает время отображения страницы пользователю.
- Don’t cache front page — Отключите. Отключает кэширование для главной страницы сайта. Обычно это «posts page», если не указано использовать какую-либо другую страницу.
- Cache feeds: site, categories, tags, comments — Активируйте, что и рекомендуют сделать разработчики W3TC.
- Handle XML mime type — Активируйте.
- Cache SSL (HTTPS>) requests — Активируйте. Для установки безопасного (HTTPS) соединения браузер пользователя и сервер договариваются друг с другом и выполняют определенные вычисления, что вызывает задержку. Кэширование SSL-запросов позволяет минимизировать время, необходимое для установки HTTPS-соединения.
- Cache URI with query string variables — Отключите. Эта опция позволяет кэшировать страницы, в которые передаются дополнительные параметры. Обычно это страницы с результатами поиска и т. п.
- Cache 404 (not found) pages — Отключите, если у вас используется кэширование «Disk Enhanced». В случае использования другого типа кэширования: «Disk Basic», «APCu», «Memcache» и т. д., опцию можно активировать, но обязательно проверьте, какой код возвращает сервер при обращении к страницам, которые не существуют. В случае ответа «200» отключите эту опцию, так как это повредит продвижению сайта в поисковых системах.
- Don’t cache pages for logged in users — Активируйте. Пользователи, авторизовавшиеся на вашем сайте, не будут получать страницы из кэша. Для таких пользователей страницы будут генерироваться. Если вам необходимо выдавать страницы из кэша для всех, кроме определенной категории авторизованных пользователей, используйте опцию «Don’t cache pages for following user roles».
- Don’t cache pages for following user roles — Если необходимо, чтобы страницы не кэшировались (постоянно генерировались) для определенной категории пользователей, активируйте необходимые категории и отключите опцию Don’t cache pages for logged in users.
- Cache alias hostnames — Если доступ к сайту возможен через несколько разных доменов/поддоменов, добавьте все домены и поддомены в поле «Additional home URLs» и активируйте эту опцию.
Если к вашему сайту можно получить доступ с помощью разных доменов, лучше настройте HTTP/HTTPS-перенаправление на один конкретный домен.
- Automatically Prime The Page Cache — Включить. Автоматически создает кэш страниц на основе настраиваемых ниже параметров, не дожидаясь, пока пользователь откроет страницу. Это может создавать всплески нагрузки, в таком случае попробуйте увеличить интервал, через который создается кэш, и/или уменьшить количество страниц, для которых обновляется кэш (см. «Update interval«, «Pages per interval» ).
- Update interval — интервал, через который обновляется/создается кэш страниц (в секундах). Увеличьте, если обновление кэша вызывает всплески нагрузки.
- Pages per interval — количество страниц, для которых создается кэш. Уменьшите, если обновление кэша вызывает всплески нагрузки
- Sitemap URL — укажите URL карты сайта (sitemap.xml). Также можно указать приоритет страниц.
- Preload cache upon publishing a post — Включить
- Preload cache upon updating a post — Включить
Раздел «Purge Policy»
Здесь настраивается политика очистки кэша. Оставьте настройки, предложенные по умолчанию.
Раздел «REST API»
Оставьте настройки, предложенные по умолчанию.
Раздел «Advanced»
В разделе «Advanced» настраиваются дополнительные параметры кэширования вашего сайта. Здесь можно отключить кэширование для определенных страниц сайта, настроить время действия кэша, куки и т.д., но большинству пользователей здесь ничего менять не нужно.
/cart/*, /my-account/*, /checkout/*, /addons/*
в раздел «Never cache the following pages«.
Настраиваем Minify Settings (минификация):
Чтобы перейти к настройкам минификации, нажмите на «Performance» в левом вертикальном меню WordPress, а затем на «Minify«.
Раздел «General»
- Rewrite URL Structure — Включить.
- Disable minify for logged in users — Отключить.
- Minify error notification — Если возникают проблемы с минимизацией, включите один из видов уведомлений (сообщение в админке, уведомление по почте или оба).
- HTML Minify Settings — Включить.
- Inline CSS minification — Включить.
- Inline JS minification — Включить.
- Don’t minify feeds — Включить.
- Line break removal — Включить, но если это нарушает оформление сайта, отключите эту опцию. Используйте с осторожностью.
Ignored comment stems — В большинстве случаев ничего добавлять не нужно.
Раздел «JS»
- JS Minify Settings — Включить.
- Minify Method — Minify Only.
- Minify Engine Settings — Протестируйте. Настройки «non-blocking» должны дать больше баллов в тестах PageSpeed Insights, но также могут сломать сайт.
- Before </head> : Default (blocking)
- After <body> : Default (blocking)
- Don’t minify feeds — Включить.
- Preserved comment removal — Включить. Эта опция удаляет комментарии из JS, чтобы уменьшить размер файлов.
- Line break removal — Включите, но если это нарушает внешний вид сайта, отключите эту опцию. Используйте с осторожностью.
- HTTP/2 push — Активируйте, но проверьте работу сайта. Работает только если к сайту обращаются по HTTPS и сервер поддерживает протокол HTTP/2. Используйте с осторожностью.
Раздел «CSS»
- CSS Minify Settings — Включить.
- Minify Method — Minify Only.
- Minify Engine Settings:
- Preserved comment removal — Включить. Эта опция удаляет комментарии из CSS, чтобы уменьшить размер файлов.
- Preserved comment removal — Включить, но если это нарушает внешний вид сайта, отключите эту опцию. Используйте с осторожностью.
- @import Handling — Process.
- HTTP/2 push — Активируйте, но проверьте работу сайта. Работает только если к сайту обращаются по HTTPS и сервер поддерживает протокол HTTP/2. Используйте с осторожностью.
Раздел «Advanced»
Если настройки минификации приводят к сбоям на вашем сайте, определите страницы и файлы, минификация которых искажает отображение сайта, и добавьте их в:
- Never minify the following pages — не применять минификацию к страницам сайта.
- Never minify the following JS files — не применять минификацию к JS-файлам сайта.
- Never minify the following CSS files — не применять минификацию к CSS-файлам сайта.
Сохраните настройки, нажав «Save Settings» в правом верхнем углу.
Настраиваем Database Cache (кеш базы данных):
Согласно рекомендациям разработчиков плагина, ничего менять не нужно.
Настраиваем Object Cache (кеш объектов):
Согласно рекомендациям разработчиков плагина, ничего менять не нужно.
Если были внесены изменения в настройки, сохраните их, нажав на «Save Settings» в правом верхнем углу.
Настраиваем Browser Cache (кеш браузера):
В левом вертикальном меню WordPress нажмите на «Performance«, а затем на «Browser Cache»
Разделы «General», «HTML & XML», «Media & Other Files»:
-
- Set Last-Modified Header — Включить.
- Set Expires Header — Включить во всех разделах (General, CSS & JS, Media & Other Files), кроме HTML & XML.
- Set cache control header — Включить.
- Set entity tag (eTag) — Включить.
- Set W3 Total Cache header — Включить. Эта опция позволяет плагину W3TC идентифицировать оптимизированные элементы.
- Enable HTTP (gzip) compression — Включить. Активирует сжатие файлов, что уменьшает объем данных, передаваемых от сервера к пользователю.
- Enable HTTP (brotli) compression — Включить. Brotli выполняет туже задачу, что и GZIP-сжатие, но более эффективно. Для активации ваш сервер должен поддерживать PHP-расширение brotli (см. «активировать PHP-расширение в cPanel«, если необходимо активировать расширение). Если расширение не поддерживается, активировать его невозможно.
- Prevent Caching Of Objects After Settings Change — Включить. Заставляет браузер пользователя загрузить объект повторно, если он обновился
- Remove Query Strings From Static Resources — Отключить.
- Prevent Caching Exception List — Оставьте пустым.
- Don’t Set Cookies For Static Files — Включить.
- Do Not Process 404 Errors For Static Objects With WordPress — Отключить. Активация этой опции позволит немного снизить нагрузку, но деактивация этой опции гарантирует большую совместимость с другими плагинами.
- 404 Error Exception List — Оставьте пустым.
- Rewrite URL Structure Of Objects — Отключить.
- Expires Header Lifetime — Оставьте значение по умолчанию. Google рекомендует установить значение 1 год (31536000 секунд) для статических элементов.
Раздел «Security Headers»
Оставьте значения по умолчанию.
Сохраните настройки, нажав на «Save Settings» в правом верхнем углу.
Настраиваем Cache Groups (группы кэша):
- User Agent Groups — используется для привязки «useragent» мобильных браузеров к определенной теме сайта. Скорее всего, ваш сайт использует адаптивную тему, поэтому смысла в настройке опций этого раздела нет. Оставьте все как есть.
- Manage Referrer Groups — используется для привязки определенных рефереров «referrers» (Google, Yahoo) к определенной теме сайта. Оставьте как есть.
- Manage Cookie Groups — используется для привязки пользователей к определенной теме сайта на основе Cookies. Оставьте как есть.
Завершив настройку «Advanced Settings»
Как мы уже писали в прошлой статье «Оптимизация сайта на WordPress: W3 Total Cache», посвященной оптимизации WordPress-сайта, плагин W3 Total Cache является одним из самых мощных инструментов для кэширования. В некоторых случаях, чтобы достичь максимальной эффективности, может потребоваться обращение к разработчикам плагина или темы. Впрочем, мы надеемся, что наши материалы об оптимизации WordPress с помощью W3 Total Cache окажутся для вас полезными: помогут ускорить работу сайта и положительно повлияют на его позиции в поисковых системах.
Если у вас возникают сомнения по поводу активации определенных настроек, помните: вы всегда можете безопасно протестировать конфигурацию W3 Total Cache, включив режим предварительного просмотра. В случае каких-либо проблем достаточно отключить этот режим и вернуться к прежним настройкам.
Однако для стабильной и надежной работы сайта важна прочная техническая база. Покупайте надежный SSD/NVMe-хостинг и обеспечьте своему сайту скорость и бесперебойную работу.
