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

Плагин 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 плагин.

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

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

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

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

Как я писала в предыдущей статье, в моей жизни, помимо хакерских нападений на блог, происходит много хорошего и светлого. Рука помощи, протянутая Романом Теличко как будто случайно, а на самом деле неслучайно, – только одно из таких событий (вот ссылка на его сайт http://romantelychko.com — можете познакомиться с тем, чем занимается Роман). Справедливости ради, должна сразу сказать, что не только он один примчался учить меня уму-разуму, как поставить надежную защиту блогу. Но позвольте не смешивать все и всех, потому что сегодня расскажу, какой он дал мне мастер-класс по настройке плагина W3Total Cache и проиллюстрирую его же скриншотами. Невероятно, но в Интернете оказалось очень много людей, которые борются с . Роман — один из них.

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

Если вы давно хотите установить плагин W 3 Total Cache, то эта статья как раз для вас. Как скачать плагин, все знают:

ПЛАГИНЫ – ДОБАВИТЬ НОВЫЙ – ввести в окно поиска W3 TOTAL CACHE – ЗАГРУЗИТЬ — УСТАНОВИТЬ – АКТИВИРОВАТЬ

Но!!! «Единственная проблема в том, что настройка этого плагина часто зависит от возможностей и настроек как сервера, так и вообще сайта, на котором это всё происходит. Помните, что я спросил у Вас в первую очередь? Какие методы кэширования доступны?» (цитата из переписки с Романом). Будем считать это отправной точкой. Данные настройки плагина W3 TOTAL CACHE в описанном случае выполняются при методе кэширования Opcode: Alternative PHP Cache (APC) . Возможные варианты (методы) у себя я увидела, уже установив плагин. И еще один очень важный момент: не давайте странице переводиться на русский , если работаете в браузере Google Chrome. Плагины любят родной язык.

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

01. Меню плагина w 3 cache

В таком порядке и пойдем.

Это общий вид того, что у нас должно получиться после настройки плагина w 3 total cache.

03. Page Cache — w3 total cache

Теперь и в минимизации проставляем те же параметры, что и на изображении.

04. Minify — W3 Total Cache

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

05. Database Cache — W3 Total Cache

Объекты кэширования. Здесь тоже не забываем сверять указанное по умолчанию время и исправляем на свое:

06. Object Cache — W3 Total Cache

Вот и все. Когда все настройки будут выполнены, нужно подняться наверх страницы и включить плагин. Обязательно через просмотр. Сначала нажимаем preview , а только потом, когда в соседней вкладке страница полностью успешно загрузится, deploy . И так после внесения дополнительных изменений в любой блок. Просмотреть — включить! Заодно можете просмотреть код страницы моего блога и своего. Если разницу найдете, напишите в комментарии, пожалуйста. Это я так утонченно хвастаюсь. 🙂

Всем желаю грамотно оптимизированных блогов, высокой степени безопасности в Интернете и побольше хороших людей рядом!

P.S. Пожалуйста, обратите внимание на комментарии. Там обсуждается много нужных нюансов.

А еще предлагаю на минутку отвлечься от серьезных дел и прочитать , которое было мной написано в рамках конкурса, проводимого Devaka (Сергеем Кокшаровым) и биржей Rotapost на стыке 2014 и 2015 годов. 🙂 Приз хочу!!!

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

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

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

  1. Отключите другие установленные плагины кэширования , чтобы избежать возможных конфликтов
  2. Сделайте бэкап базы данных (чтобы чувствовать себя спокойно)
  3. Проверьте текущую скорость загрузки сайта через сервис gtmetrix.com, чтобы вы могли отследить изменения после оптимизации.

Установка и настройка W3 Total Cache

Плагин устанавливается обычным способом. Скачать его можно отсюда https://wordpress.org/plugins/w3-total-cache/ , или через поиск в консоли wordpress.

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

На странице Performance -> Install выложена инструкция по базовой установке.

Если вы хотите увидеть более детальное описание модулей и настроек W3 Total Cache — рекомендую посетить переведенное руководство из 3-х частей на сайте wpcafe.org

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

  1. Установите права 755 на каталог wp-content/ — в консоли, в файловом менеджере, или в ftp клиенте, любым удобным для вас способом.
# chmod 755 /var/www/vhosts/domain.com/httpdocs/wp-content/
  1. На вкладке основные настройки Performance -> General выберите способ кэширования для страниц, базы данных и минификации. В большинстве случаев «хорошими» настройками являются — метод disk enhanced для кэширования страниц, метод disk для минификации и для кэширования базы данных.
  2. Compatibility Mode — опция режима совместимости в секции Page Cache Settings включает функциональность, которая оптимизирует взаимодействие кэширования с WordPress. По умолчанию опция отключена, но очень рекомендуется.
  3. На вкладке Minify все рекомендуемые опции предустановлены.
  1. На вкладке Browser Cache HTTP компрессия включена по умолчанию. Включите другие опции, чтобы настроить кэш и сроки хранения в браузере.

  1. Если к вашему сайту подключен CDN, перейдите на вкладку Content Delivery Network для настройки необходимых полей.

Если у вас нет CDN провайдера, вы можете настроить self-hosted — вариант на своем сервере. Прочитайте для этого FAQ

  1. На вкладке Database Cache рекомендуемые настройки предустановлены
  2. На вкладке Object Cache рекомендуемые настройки предустановлены

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

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

Напоследок, многих волнует такой вопрос:

Что лучше — W3 Total Cache или WP Super Cache?

Ответ — оба хорошо выполняют свою задачу.

Их главное отличие:

  • WP Super Cache позиционируется как простое решение для кэширования WordPress, хотя в нём тоже есть раздел с некоторыми продвинутыми настройками
  • W3 Total Cache — однозначно более настраиваемый и гибкий плагин. Особенно, если вы держите сайт на выделенном сервере, он может оказаться вашим лучшим вариантом для выдачи оптимальной производительности.

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

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

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

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

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

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

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

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

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

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

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

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

1.1 Общие (General)

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

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

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

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

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

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

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

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

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

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

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

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

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

1.4 Opcode Cache

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

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

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

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

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

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

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

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

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

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

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

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

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

1.8 CDN

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Настройка Minify

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

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

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

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

Object cache

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

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

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

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

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

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

Настройка CDN

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

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

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

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

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

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

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

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

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

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

Для каждого из приведенных и неприведенных здесь возможностей плагина имеется собственная вкладка, для более детальной настройки. Я же скажу пару слов только про вкладку Page Cache — кэширование страниц сайта. В первом блоке General данной вкладки вы можете указать какие страницы и для каких пользователей включить кэширование. Думаю тут разберетесь сами, ведь чисто логически можно понять, что кэшировать страницу 404 не имеет никакого резона.

Следующая функция Cache Preload — это то, что мне особенно нравится в W3 Total Cache. Данная функция основываясь на данных файла sitemap.xml создает кэш заданного количества страниц через каждый заданный промежуток времени. Благодаря этому, ваш сайт полностью окажется в кэше через какое-то время(зависит от размера вашего сайта). В отличии от WP Super Cache, который так же предлагает такую функцию, она здесь действительно работает. Так как Super Cache при нескольких попытках заставить его закэшировать весь сайт(было испробовано на двух различных сайтах), только делал вид, что занят работой. На деле же кэш вообще не пополнялся.

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

Последний пункт называется Advanced и особо интересен он тем, что в нем можно настроить время жизни кэша, которое по умолчанию, если не ошибаюсь, установлено на уровне 5-10 минут, не помню уже. А еще он интересен тем, что первый же пункт, который судя по всему включает все это дело, не активен. Но все же потыкайтесь в пункт под названием Garbage collection interval и проверьте что будет, если из другого браузера(в режиме инкогнито будет еще лучше) зайти на закэшированную минут 10-15 назад страницу, после чего поглядеть комментарий в конце кода страницы с указанием время создания кэша. Если время обновилось и стало равным времени вашего посещения, то увы, плагин либо косячный, либо хочет деньги за свои услуги.

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

Проблемы с W3 Total Cache

Начнем наверное с того, что я опишу конфигурацию сервера, на котором стоит сайт под управлением W3 Total Cache и к которому был присобачен данный плагин. Это VPS под управлением ОС CentOS 6,5, где бэкэндом установлен тягучий Apache, а на фронтэнде уютно разместился быстрый и юркий Nginx. Кроме этого установлен eAccelerator, для кэширования запросов в БД, что в купе с не с самыми кривыми руками позволяет иметь необходимость только в первой и самой важной функции плагина W3 Total Cache. Отсюда хотелось бы сразу отрезать комментарии и высказывания по поводу того, что, возможно, W3 Total Cache работает в чем то хуже других аналогичных плагинов, так данный плагин(именно W3 Total Cache) может похвастаться полной совместимостью с Nginx, в то время как все остальные плагины добавят свои коды в файл.htaccess и с явным недоумением будут ждать, пока администратор перепишет эти реврайты на понятном для Nginx языке. Последнее, надо сказать, мне не удалось. Точнее мне не удалось найти рабочие реврайты, которые заставили бы дружить Super Cache и Nginx. Возможно он и к лучшему, так как сейчас я бы с радостью сменил Super Cache на данном блоге на W3 Total Cache. Но, в семье не без уродов, да и W3TC не такой уж и безобидный. Этим абзацем я заканчиваю монолог о том, что необходимо делать с сервером Nginx для кэширования страниц сайта.(Всегда рад услышать другие методы кэширования).

Итак, проблем в процессе знакомства W3 Total Cache с Nginx`ом, да и тем более с Apache ни у кого не должно возникнуть, а потому перейдем к решению проблемы с невозможностью сменить время жизни кэша, а так же с тем, что W3 Total Cache полностью отказывается слушать все внесенные настройки, такие как запрет на кэширование страниц с запросами(страницы поиска) и запрет на кэширование для пользователей. Если с последними двумя я так и не разобрался, хоть и добрался до ручной правки файла конфигурации(кстати, находится по адресу wp-content/w3tc-config/master.php), то с первым удалось совладать. Хотел бы сказать, что изменение внесенные в админке этого плагина, как правило, сохраняются в этом файле, но лучше перепроверить, благо каждая переменная имеет говорящее название. Из всех переменных меня заинтересовала переменная pgcache.late_init(скорее всего от Late initialization — тот самый пункт, который не активен), которой я сразу же выставил значение true, а так же параметр pgcache.cache.nginx_handle_xml, после выставления которому значения true, плагин наконец-то начал слушать то число, которое введено в поле про максимальное время жизни кэша. Проверка показала, что после данных изменений, на озвученном выше сервере, время жизни кэша действительно стала совпадать с указанным пользователем значением.

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

Вспомнив про мобильную версию сайта хотелось бы сказать, что плагин умеет кэшировать и данную версию, причем отдельно, что не может не радовать. Для этого необходимо перейти во вкладку User Agent Groups и поставить две галочки напротив пунктов Enable. В каждом из пунктов вы можете добавить свою юзер-агенты для каких-то новых устройств. Кэш мобильной версии сохраняется в той же папке страницы, что и кэш основной версии. Отличие только в добавлении постификсов high и low(так называют группы по умолчанию). Вы, кстати, можете добавить и свои группы. Единственный минус с мобильной версией состоит в том, что плагин не умеет самолично создавать кэш мобильной версии сайта, что означает что это будут делать только ваши пользователи(или Вы).

Следующей проблемой с W3 Total Cache стала то, что на данном сайте сразу после активации данного плагина и активации функции кэширования, весь сайт погряз в кракозябрах, что говорит о проблемах W3 Total Cache с кодировкой. На сайте используется кодировка UTF-8 и даже в настройках плагина мелькает эти символы. Однако как активация пункта Disable UTF-8 blog charset support, так и его деактивация, не принесла никаких плодов. Далее в недрах Интернета была найдена подсказка, что нужно добавить строку AddDefaultCharset UTF-8 в начало файла.htaccess, но и данный способ на смог помощь. А так как дальнейшие поиски не привели ни к чему стоящему и был установлен WP Super Cache(который по первому взгляду, не лишен некоторых вышеописанных проблем, но об этом возможно позже).

Кодировка W3 Total Cache, дружба W3 Total Cache с Nginx, мобильная версия сайта… Ну, вроде ничего не упустил из того, чего понабрался во время знакомства с этим инструментом, который, надо сказать, со своим делом справляется весьма неплохо. Если страницы вышеозвученного сайта, судя по статистике от Pingdom.com, грузились от 1-2 секунд, то сейчас этот показатель для закэшированной страницы составляет 0,5-0,7 секунд. Если же обратиться к Page Speed от уважаемого Google, то можно напороться только на предупреждения о том, что ресурсы, скрипты и прочий хлам которых загружаясь вместе с данной страницей, являются единственным отрицательным моментом в безупречной технической оптимизации сайта. И интересно то, что гугл ругается на скрипт JQuery, который загружается из репозитория … да, именно, с репозитория гугла. Им бы самим заняться этим вопросом.

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