W3 Total Cache настройка плагина кеширования. Установка и настройка плагина W3 Total Cache. Мастер-класс от Романа Теличко

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

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

Скачать настройки

Для максимального удобства вы можете скачать файлы импорта настроек плагина W3 Total Cache. Импортировать настройки можно в меню Performance > General Settings > Import / Export Settings .

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

General Settings

На данной странице находятся общие настройки плагина W3 Total Cache. Страница доступна в меню P erformance > General Settings .

General


Performance > General Settings > General
  • Preview mode – отвечает за включение режима предварительного просмотра. Данный режим активирует плагин только для пользователя, который производит его настройку. Функция полезна при работе с проектами, которые уже находятся в сети и имеют определенный трафик.

Page Cache


Performance > General Settings > Page Cache
  • Page Cache – активация кэширования страниц. Позволяет снизить время ответа сервера, увеличить скорость загрузки страниц, а также снизить нагрузку на сервер за счет кэширования страниц сайта.
  • Page Cache Method - метод кэширования страниц сайта. Рекомендуемое значение - Disk: Enhanced (кэш будет храниться на жестком диске). На сегодняшний день практически все сервера оборудованы производительными SSD дисками, поэтому данный вариант является оптимальным. Использование методов, предполагающих хранение кэша страниц в оперативной памяти рекомендуется только в том случае, если вы уверены, что ее объема будет достаточно для хранения кэша.

Minify


Performance > General Settings > Minify
  • Minify – активация минификации файлов. Позволяет увеличить скорость загрузки сайта за счет сжатия CSS, JavaScript и HTML файлов и удаления из них ненужного кода, например, комментариев.
  • Minify mode - режим минификации. Рекомендуемое значение - Auto . В этом случае плагин W3 Total Cache самостоятельно определяет файлы для минификации и порядок их подключения. Если вы хотите указать файлы вручную - выберите значение Manual (не рекомендуется).
  • Minify Cache Method – метод кэширования. Рекомендуемое значение - Disk . Я всегда рекомендую хранить статические файлы на жестком диске, так как в большинстве случаев это самый оптимальный вариант с точки зрения надежности и производительности.
  • HTML minifier - минификатор HTML кода. Рекомендуемое значение - Minify (default) .
  • JS minifier – минификатор JavaScript кода. Рекомендуемое значение - JSMin (default) .
  • CSS minifier – минификатор CSS кода. Рекомендуемое значение - Minify (default) .

Если после активации минификации возникают проблемы с работой сайта - поэкспериментируйте с разными типами минификаторов.

Opcode Cache


Performance > General Settings > Opcode Cache
  • Opcode Cache – активирует кэширование скомпилированного PHP кода. Рекомендуемое значение - Opcode: Zend Opcache . Обычно функция доступна только на VPS/VDS.
  • Validate timestamps – оставляем флажок для корректного обновления кэша без перезагрузки модуля PHP.

Database Cache


Performance > General Settings > Database Cache
  • Database Cache – активирует кэширование запросов к базе данных. Позволяет сократить время генерации страниц. Рекомендуется использовать как альтернативу объектному кэшу, если последний по какой-либо причине не может быть использован. Кэширование запросов к БД можно использовать как отдельно, так и одновременно с кэшированием объектов.
  • Database Cache Method - метод кэширования запросов к БД. Рекомендуемое значение - Memcached (если установлен) или любой другой вариант, предполагающий хранение кэша в оперативной памяти, а не на жестком диске. Кэширование запросов к БД может создавать огромное количество файлов и папок, которые будут сильно нагружать дисковую подсистему сервера и негативно влиять на его быстродействие.

Object Cache


Performance > General Settings > Object Cache
  • Object Cache – активация кэширования объектов. Позволяет кэшировать данные, повторное получение которых может быть дорогостоящим с точки зрения вычислительных мощностей, например, сложные запросы к базе данных.
  • Object Cache Method - метод кэширования объектов. Как и в случае с кэшем запросов к базе данных, объектный кэш рекомендуется хранить в оперативной памяти.

Browser Cache


Performance > General Settings > Browser Cache
  • Browser Cache – активирует клиентское кэширование. Позволяет ускорить загрузку сайта при повторном обращении за счет кэширования графики, CSS, JavaScript и других элементов сайта в браузере пользователя.

Import / Export Settings


Performance > General Settings > Import / Export Settings
  • Import configuration – импорт настроек с JSON файла.
  • Export configuration - экспорт настроек в JSON файл.
  • Reset configuration - сброс настроек плагина W3 Total Cache до значений, заданных по умолчанию.

Page Cache

На данной странице находятся настройки кэширования страниц. Страница настроек доступна в меню P erformance > General Settings .

General


Performance > Page Cache > General
  • Cache posts page - кэширование страниц записей.
  • Don’t cache front page - отключение кэширования главной страницы (если используется статическая страница).
  • Cache feeds: site, categories, tags, comments - кэширование фидов (рубрик, меток, комментариев и т.д.).
  • Cache SSL (https) requests - кэширование уникальных SSL запросов. Используйте данную опцию, если ваш сайт работает по протоколу https.
  • Cache URIs with query string variables - кэширование страниц с параметрами в URL. Функция очень полезна для интернет-магазинов с фильтрами товаров, а также сайтов, на которых пользователи активно пользуются поиском. К сожалению, в бесплатной версии плагина данная функция недоступна.
  • Cache 404 (not found) pages - кэширование страниц ошибок 404. Используйте эту функцию с осторожностью, так как при выборе метода кэширования Disk: Enhanced сервер будет отдавать неправильные коды ответа (200 вместо 404), что негативно повлияет поисковую оптимизацию сайта.
  • Don’t cache pages for logged in users - отключить кэширование для авторизованных пользователей. Не рекомендуется отключать данную функцию, так как это приведет к кэшированию данных для всех пользователей, в том числе и администратора сайта.
  • Don’t cache pages for following user roles - отключить кэширование для выбранных ролей пользователей. Обязательно выберите роли пользователей, которые отвечают за управление сайтом, такие как «Administrator», «Editor» и т.д.

Cache Preload


Performance > Page Cache > Cache Preload
  • Automatically prime the page cache - активируйте данную функцию для автоматического создания кэша страниц. В противном случае кэш будет создаваться только при посещении страницы.
  • Automatically prime the page cache Update interval - интервал между созданием кэша следующей серии страниц.
  • Pages per interval - количество страниц, кэш которых будет создан через каждый интервал. Устанавливайте значение с учетом мощности сервера. Чем мощнее сервер, тем больше страниц вы можете указать в данном поле.
  • Sitemap URL - ссылка на карту сайта. Страницы будут кэшированы с учетом приоритета в XML карте сайта. Для генерации карты сайта в формате XML используйте плагин Google XML Sitemaps или аналогичный.

Purge Policy: Page Cache

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

Advanced

Данный блок содержит расширенные настройки кэширования страниц. Здесь нас интересует только поле Garbage collection interval , которое отвечает за установку интервала очистки кэша на диске.

Performance > Page Cache > Advanced > Garbage Colletion Interval

Minify

На данной странице находятся настройки минификации HTML, XML, CSS и JavaScript.

General


Performance > Minify > General
  • Rewrite URL structure – активируем данную функцию, чтобы убрать GET параметры из ссылок на сжатые CSS и JavaScript файлы.
  • Disable minify for logged in users - отключает загрузку сжатых страниц для авторизованных пользователей.
  • Minify error notification - отвечает за настройку оповещений об ошибках при создании минифицированного кэша.

HTML & XML


Performance > Minify > HTML & XML

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

JS


Performance > Minify > JS
  • JS minify settings – активирует минификацию JavaScript файлов.
  • Operations in areas - отвечает за настройку типа загрузки скриптов в разных областях HTML страницы. Поскольку в head страницы обычно загружаются только критически важные скрипты, а все остальное переносится ближе к закрывающему тегу body , то наиболее оптимальными значениями будут Default (blocking) для Before и Non-blocking (using «defer») для After . При желании вы можете поэкспериментировать с разными настройками, но как показала практика, вышеприведенные значения наиболее оптимальны.
  • Minify / Combine only – тип минификации. Согласно правилам хорошего тона, обычно в темах и плагинах подключаются уже сжатые версии CSS и JavaScript файлов, поэтому рекомендую выставить значение Combine only . В этом случае JavaScript файлы будут только объединены (по возможности).

Остальные настройки оставляем отключенными, учитывая ранее выбранный тип кэширования (Disk: Enhanced ).

CSS


Performance > Minify > CSS

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

Advanced

В данном блоке содержатся расширенные настройки минификации. Здесь нас интересуют всего два поля:


Performance > Minify > Advanced
  • Update external files every – интервал между загрузкой и обновлением внешних файлов в минифицированном кэше.
  • Garbage collection interval - интервал очистки минифицированного кэша. Для высоконагруженных проектов рекомендуется выставлять меньшее значение.

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

Browser Cache

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

General


Performance > Browser Cache > General

CSS & JS


Performance > Browser Cache > CSS & JS

HTML & XML


Performance > Browser Cache > HTML & XML

Media & Other Files


Performance > Browser Cache > Media & Other Files

Security Headers

В данном блоке настроек нас интересует только поле HTTP Strict Transport Security policy , в котором необходимо поставить флажок, если вы используете на сайте SSL.

Performance > Browser Cache > Security Headers > HTTP Strict Transport Security policy

Очистка кэша

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


Меню очистки кэша в W3 Total Cache

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

Решение возможных проблем

За все время использования плагина W3 Total Cache я столкнулся лишь с двумя проблемами:

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

Если после активации плагина вы видите подобное уведомление, вам необходимо проверить правильность установки прав доступа к файлам и папкам WordPress.

  • 755 или 750 для всех каталогов.
  • 644 или 640 для всех файлов.
  • 440 или 400 для файла wp-config.php .

Если после изменения прав доступа плагин по-прежнему не активируется, установите права 644 для файла wp-config.php , далее активируйте плагин W3 Total Cache, после чего изменить права обратно на 400 или 440 .

Также вы можете вручную отредактировать файл wp-config.php . Для этого откройте его в любом текстовом редакторе, например, NotePad++ и добавьте в самое начало следующий код:

/** Enable W3 Total Cache */ define("WP_CACHE", true); // Added by W3 Total Cache

После этого сохраните файл, обновите его на сервере и повторно активируйте плагин.

Избыточная нагрузка на сервер

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


Решить проблему можно изменением приоритета страниц в XML карте сайта, удалением ссылки на карту сайта в настройках предварительного создания кэша (Performance > Page Cache > Cache Preload > Sitemap URL) или полным отключением данной функции.

Заключение

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

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

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

Нашли ошибку? Выделите ее и нажмите Ctrl + Enter

Версия для печати

Плагин w3 total cache имеет очень большой функционал, и способен вывести Ваш сайт на новый уровень по скорости. Давай рассмотрим его возможности.

W3 Total cache

Плагин понравился мне тем, что в отличии от других, не вызвал никаких проблем с сайтом, отработав корректно (хотя резервную копию все равно рекомендую создать) Например плагин Hyper-cache испортил мне css стили, после деактивации и удаления плагина проблема не решилась. Разбираться в чем конкретно было дело я не стал.

Также w3 total cache обладает довольно понятными настройками. Давайте разберем их. После установки у нас появляется боковое меню perfomance

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

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

Page cache , очень нужная и важная вкладка, позволяет сократить время ответа от сервера за счет кэширования страниц на сервере. То есть плагин генерирует странички html, кладет из в папку кэша и отдает по запросу, экономя время на генерацию страницы apache. Page cache metod выставляется в зависимости от хостинга, в данном примере установлен для виртуального хостинга, если у Вас , выберите соответствующие параметры.

создать новый проект

включить в нём “PageSpeed Insights API ”

и создать новый public api access key (browser).

Получим на dashboard такую картинку

Verify rewrite rules – уведомление об ошибках, включить.

File locking и optimize disk оставляем выключенными.

Enable edge mode – включает режим разработчика, новые возможности. Может работать нестабильно.

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

Import Export Позволяет сохранять и загружать конфигурацию плагина.

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

Следующие пункты меню отвечают за тонкие настройки включенных выше возможностей.

Page cache General

Cache front page – кэширование главной страницы

Cache feeds – кэширование категорий, тэгов, комментариев

Cache ssl – если Ваш сайт использует SSL шифрование

Cache URI s with query string variables – кэширование запросов поиска

Cache 404 (not found) pages – Кэширование страницы 404

Cache requests only for site.ru site address – кэш только для такого адреса сайта (без www)

Don’t cache pages for logged in users – не кэшировать страницы авторизованных пользователей (что бы не авторизованные не увидели кэш Вашей страницы)

Don’t cache pages for following user roles – Не кэшировать страницы для следующих ролей

Cache preload – кэш создается заранее, до того как пользователь запросит страницу.

Update interval – периодичность с которой создается кэш

Pages per interval – количество страниц, которое создается в созданный интервал.

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

Preload the post cache upon publish events – создание кэша при публикации поста.

Purge policy: page cache – разделы кэша, которые будут обновлены при публикации поста.

Advanced – по большому счету служебные настройки, трогать их не обязательно.

Minify General

Rewrite url structure – сокращает путь до js и css файлов

Disable minify for logged in users – выключить сжатие для авторизованных пользователей.

HTML & XML

Enable – включить

inline css minification – оптимизирует CSS

Inline JS minification – оптимизирует JS

Don’t minify feeds – не сжимает стили лент

Line break removal – удаление разрывов

Operations in areas – до тега head, только минифицировать или только объединить.

Embed type – Тип встраивания скриптов. По умолчанию – default, blocking. Лучше попробовать выбрать non-blocking using “async”.

Preserved comment removal – сохранение комментариев (в скрипте)

Line break removal – удаление разрывов (не безопасно)

Combine only – только объединить.

Preserved comment removal (not applied when combine only is active) – сохранить комментариев. Не сохраниться, если активно “только объединить”

Line break removal (not safe, not applied when combine only is active) – удаление разрывов. Не сохраниться, если активно “только объединить”

Advanced

Служебные настройки, можно ничего не менять.

Database cache General

Object cache

Maximum lifetime of cache objects: – время жизни кэша

Garbage collection interval – период удаления устаревшего кэша.

Browser cache

Вкладка General включает выбранный параметр всем группам ниже: CSS&JS HTML&XML MEDIA&OTHER FILES

Set Last-Modified header – Установит в заголовке дату последнего измнения документа.

Set expires header – время жизни кэша.

Set cache control header – новая директива жизни кэша, имеет приоритет над expires.

Set entity tag (eTag) – entity tag, метка, присваивается ресурсу, при изменении ресурса изменяется. Позволяет понять браузеру изменился контент или нет.

Set W3 Total Cache header – устанавливает в заголовке идентификатор w3 total cache.

Enable HTTP (gzip) compression – включает сжатие файлов методом deflate, не будет работать в связке с nginx.

Prevent caching of objects after settings change – запретить кэширование для указанных объектов.

Prevent caching exception list -список исключений кэширования.

Don’t set cookies for static files – не устанавливать куки для статических файлов

Do not process 404 errors for static objects with WordPress – не генерировать ошибку 404 для ненайденных статических объектов.

404 error exception list – список исключений

Extensions

CloudFlare – Обратный прокси-сервер (англ. reverse proxy ) - тип прокси-сервера, который ретранслирует запросы клиентов из внешней сети на один или несколько серверов, логически расположенных во внутренней сети. При этом для клиента это выглядит так, будто запрашиваемые ресурсы находятся непосредственно на прокси-сервере.(платный)

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

Genesis Framework –фреймворк для wordpress. (платный)

WordPress SEO by Yoast – seo плагин.

Ответы на вопросы.

Обращение в службу поддержки

Инструкция по установке

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

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

Здравствуйте, сегодня расскажу о плагине кеширования W3 Total Cash и о его быстрой настройке.

Скачать исходники для статьи можно ниже

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

1. W3 Total Cash

Last Updated: 2013-2-9

Downloads: 1,853,553

Домашняя страница плагина:

http://www.w3-edge.com/wordpress-plugins/w3-total-cache/

2. WP Super Cache

Last Updated: 2012-12-13

Downloads: 4,203,087

Домашняя страница плагина:

Я выбрал для своего сайта – W3 Total Cash.

Поставив плагин кеширования W3 Total Cash на свой блог, на следующий же день заметил постепенный рост (в течение 2-3 дней) посещаемости сайта – примерно на 15-20%, предполагаю, что это связано с тем, что поисковики лучше относятся к сайтам, которые быстро работают, и поднимают их позиции в поисковой выдачи.

Ниже опишу процесс настройки плагина W3 Total Cash .

Установка плагина стандартная – в панели управления в левом меню заходим в пункт “Плагины” и выбираем его подпункт “Добавить новый”, в строку поиска вводим “W3 Total Cash” – устанавливаем и активируем данный плагин.

После чего в левом меню панели управления в самом низу появится новый пункт “Performance”.

Данный пункт состоит из 15 подпунктов.

Выбираем подпункт “General Settings ” (Общие настройки).

В данном подпункте (“General Settings”) вы сможете очень быстро настроить плагин W3 Total Cash, буквально 5-10 минут – этого будет достаточно, поверьте, свой сайт я настраивал именно так, при этом иные подпункты или дополнительные настройки плагина W3 Total Cash я не трогал и все отлично работает, а скорость загрузки сайта возросла в разы!

Внутри подпункта “General Settings” есть 13 окошечек:

Окошко “General”:

Здесь есть пункт “Toggle all caching types on or off (at once)” – который сразу же включает все типы кеширования, имеющиеся в плагине W3 Total Cash.

По-моемому, есть 2 тактики как настроить плагин W3 Total Cash под свой сайт:

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

2-ой способ – это постепенное включение, по одному, типов кеширования и проверки правильности работы сайта.

Считаю 2-ой способ более правильным , то есть кнопку “Toggle all caching types on or off (at once)” не используем, а включаем типы кеширования по одному.

1. Первый тип кеширования, который советую включить – это “Кеширование страниц” (Page cache ) – данный тип создает кэш для статических страниц, переходим к окошечку “Page cache” и

Пункт Page cach method (метод кеширования страниц) оставляем по умолчанию – Disc Enchanced (как на скриншоте выше).

Ставим галочку напротив значения “Enable” (Разрешить), не забывая нажать на кнопку “Save all settings”.

Пункт Database Cache Method – оставляем по умолчанию (как на скриншоте выше).

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

Ставим галочку напротив значения “Enable” (Разрешить), не забывая нажать на кнопку “Save all settings”.

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

Если сайт работает не правильно – отключаем данный тип кеширования (снимаем галочку со значения “Enable” (Разрешить) и нажимаем на кнопку “Save all settings”).

В принципе, с активизацией только вышеуказанных 3 типов кеширования ваш сайт уже будет летать!

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

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

4. После переходим к типу кеширования – Minify – уменьшает и оптимизирует файлы скриптов, стилей и другой программный код.css , .js , .html и RSS .

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

Ставим галочку напротив значения “Enable” (Разрешить), не забывая нажать на кнопку “Save all settings”.

Проверяем работоспособность сайта, его плагинов и прочих скриптов.

5. Переходим к следующему типу кеширования – Object Cache – включает кэширование объектов в целях сокращения времени выполнения частых операций.

Ставим галочку напротив значения “Enable” (Разрешить), не забывая нажать на кнопку “Save all settings”.

Параметр Object Cache Method – оставляем по умолчанию.

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

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

– CDN (сеть доставки данных) можно загрузить аттачи, картинки, файлы шаблона на более быстрые сервера и ускорить загрузку сайта и распределить нагрузку на сервера;

– Reverse Proxy (здесь можно включить специальный HTTP-акселератор);

– Network Performance & Security powered by CloudFlare (включает еще одну из видов сетей доставки контента).

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

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

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

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

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

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

До скорой.

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



Просмотров