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

Часто пользователи жалуются на то, что их сайты медленно загружаются. И любой из них хочет узнать секрет быстрой загрузки сайта на WordPress. Помимо хорошего веб-хостинга и корректно написанных плагинов, вам стоит убедиться в том, что вы используете, собственно, кеширование и CDN (content delivery network — сеть доставки контента). Для каждого нового сайта мы используем плагин под названием W3 Total Cache. В виду частых вопросов от пользователей мы решили написать пошаговую инструкцию о том, как установить и настроить W3 Total Cache для новичков.

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

Прежде, чем начать, мы рекомендуем проверить быстродействие вашего сайта с помощью инструментов Google Page Speed и Pingdom Tools . Таким образом вы сможете сравнить результаты ДО и ПОСЛЕ.

Ниже скриншот результатов Pingdom на примере домена WPBeginner:

Давайте приступим к настройке W3 Total Cache.

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

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

Устанавливаем W3 Total Cache в WordPress

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

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

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

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

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

General Settings

Вы можете перейти в General Settings, кликнув на меню Performance в административной панели WordPress. Здесь мы будем настраивать плагин, и начнем с общих настроек. Убедитесь, что вы находитесь именно на странице General Settings, а не на рекламной странице Dashboard, которая есть у этого плагина.

Что такое Page Cache?

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

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

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

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

Также мы пропустим Minify, Database Cache, и Object Cache. Причина этого заключается в том, что не все серверы обеспечат оптимальные результаты с этими настройками. Следующей опцией, которую вы увидите, будет Browser Cache.

Что такое Browser Cache?

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

Настройка Browser Cache в W3 Total Cache устанавливает лимит времени кеша браузера. Учитывая то, что вы не меняете свой логотип на сайте каждый день, наличие статических файлов типа этого, кешируемых на 24 часа, совершенно не повредят. Просто отметьте Enable рядом с настройкой Browser Cache и кликните на кнопку сохранения изменений. После этого давайте посетим страницу Performance » Browser Cache для более детальной настройки.

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

Что такое CDN?

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

W3 Total Cache поддерживает MaxCDN , Amazon S3, Rackspace Cloud, и Amazon Cloud Front. Этот раздел применим только к тем сайтам, которые используют или планируют использовать CDN.

Мы пользуемся MaxCDN и расскажем, как настроить его на использование с плагином W3 Total Cache. Первое, что нужно сделать, это создать Pull Zone в вашем аккаунте MaxCDN. Войдите в свой профиль MaxCDN, кликните на Manage Zones , а затем нажмите на кнопку Create Pull Zone .

На следующей странице вас попросят указать детали для вашей pull zone.

  • Pull Zone Name: Просто задайте любое имя этой зоне, чтобы вы могли ее потом легко идентифицировать в своем аккаунте MaxCDN.
  • Origin Server URL: Введите адрес вашего сайта на WordPress, начиная с http:// и заканчивая слешем / в конце.
  • Custom CDN Domain: введите любой поддомен, например: cdn.сайт
  • Label: Укажите описание для этой pull zone.
  • Compression: Включение сжатия сохранит вам трафик и канал связи, поэтому крайне рекомендуется отметить эту галочку.

Скриншот того, как будет выглядеть все вышеуказанное, ниже:

Нажмите на кнопку Create и MaxCDN создаст Pull Zone. На следующей странице он отобразит вам URL вроде “wpb.wpincode.netdna-cdn.com”, который необходимо скопировать и вставить в текстовый файл, потому как он понадобится нам позже.

Теперь, когда мы создали Pull Zone, следующим шагом будет настройка зон контента. Это можно сделать, открыв вашу консоль MaxCDN. Нажмите на кнопку manage рядом с вашей только что созданной pull zone. На следующей странице кликните на вкладку Settings. Целью создания зон контента является добавление поддоменов, чтобы мы могли улучшить юзабилити путем постановки в очередь на загрузку контента с различных поддоменов в браузер пользователя. Для этого нажмите на кнопку Custom Domains и добавьте несколько поддоменов. Обратите внимание на скриншот ниже:

Следующим шагом будет указание записей CNAME для поддоменов. Большинство приличных хостинг-провайдеров предоставляют в распоряжение пользователей панель управления cPanel для настройки хостинга. Мы будем описывать как указать записи CNAME в cPanel.

Зайдите в панель управления хостингом cPanel и выберите Simple DNS Zone Editor под Domains.

На следующей странице вы увидите форму с двумя полями. Введите название поддомена, которое вы указывали при создании зон контента. Например, введите cdn для cdn.сайт.

cPanel автоматически заполнит целый домен. В поле CNAME введите ссылку, предоставленную MaxCDN, когда вы создавали pull zone. Эта та самая ссылка, которую мы просили вас сохранить в текстовый файл.

Повторите эту процедуру для всех ваших поддоменов, например cdn1, cdn2 и т.д. Запомните, что только меняться будет только поле названия, а поле CNAME всегда должно соответствовать ссылке, предоставленной вам MaxCDN для вашей pull zone. После того, как вы создадите записи CNAME для всех поддоменов, настанет время вернуться в WordPress и настроить MaxCDN для работы с W3 Total Cache.

Переходим в Performance » General Settings . Прокручиваем страницу до блока настроек CDN. Отмечаем галочкой Enable и выбираем MaxCDN из выпадающего списка CDN Type. Кликаем на кнопку Save All Settings .

После сохранения настроек вы увидите уведомление, сообщающее о том, что вам необходимо указать данные в полях “Authorization Key” и “Replace default hostname with”, а также выбрать pull zone. Кликните по ссылке “Specify it here” и W3 Total Cache перебросит вас на страницу CDN.

На этой странице кликните на кнопку Authorize. Данное действие перенаправит вас на сайт MaxCDN, где вам нужно сгенерировать authorization key. Скопируйте и вставьте этот ключ в W3 Total Cache. В “Replace site’s host name with” введите поддомен, который вы создали ранее.

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

будет заменен на:

Теперь, если какие-либо из статических файлов не загружаются с CDN, то, вероятно, это означает, что вам нужно указать их в списке произвольных типов файлов в W3 Total Cache. Нам, например, потребовалось это сделать для плагина OIO Publisher, который используется для управления рекламными блоками. Если вы перейдете на страницу настроек CDN, то увидите Advanced option:

Просто добавьте все файлы/папки, которые вы хотите включить в CDN. Также, если вы заметили, тут есть список для исключенных файлов. Если вы решите незначительно доработать дизайн сайта, ваш style.css обновится не сразу. Поэтому его можно поместить в указанный список файлов на время, пока вы проделываете изменения в дизайне. Если же вам нужно выполнить единоразовую очистку, это можно сделать из консоли MaxCDN.

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

Minify

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

Database Caching

Database caching (кеширование базы данных) уменьшает нагрузку на сервер путем кеширования SQL запросов. Это уменьшает время обработки запросов к базе данных (для небольших сайтов это время может быть совсем незначительным). Когда мы начали использовать этот тип кеширования, то сильно возросла нагрузка на сервер. Наш хостер порекомендовал нам отключить ее. Вместо этого, он активировал для нас встроенное SQL кеширование. Снова таки, эту настройку стоит использовать на свой страх и риск. Можно попробовать включить ее и посмотреть как сильно она влияет на загрузку сайта. Если же влияние незначительно, то лучше отключить. Большинство хостингов также рекомендуют не использовать ее.

Object Caching

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

Теперь, когда вы все настроили, лучше всего будет создать резервную копию вашей конфигурации W3 Total Cache. Не стоит терять наработанные конструкции. Для этого необходимо вернуться на страницу General Settings плагина W3 Total Cache. Здесь вы увидите раздел Import / Export Settings. Кликните на Download the settings file from your server.

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

Rating: 5.0/5 (3 votes cast)

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-пользователи и не нуждаются в подобной функциональности. Удачи вам в оптимизации.

  • Большое количество опций делает этот плагин очень гибким для тонкой настройки; его иногда называют фреймворком для увеличения производительности работы сайта
  • Плагин мега популярный, активно развивается, и по нему вы всегда можете найти огромное количество информации в сети
  • Работает хорошо на обычном виртуальном хостинге, но на выделенном хостинге вы можете выжать еще больше из него, а для экстремалов есть про версия.
  • Русского языка нет, но вы можете найти в интернете готовый перевод — 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 — однозначно более настраиваемый и гибкий плагин. Особенно, если вы держите сайт на выделенном сервере, он может оказаться вашим лучшим вариантом для выдачи оптимальной производительности.

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

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

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

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

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

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

Как я писала в предыдущей статье, в моей жизни, помимо хакерских нападений на блог, происходит много хорошего и светлого. Рука помощи, протянутая Романом Теличко как будто случайно, а на самом деле неслучайно, – только одно из таких событий (вот ссылка на его сайт 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 годов. 🙂 Приз хочу!!!



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: