Введение в кеширование на WP

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

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

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

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

Основной функционал плагинов это:

  • Оптимизация, минифицикация, объединение, сжатие HTML, CSS и JavaScript.
  • Создание статичной версии сайта для уменьшения нагрузки на сервер.
  • Соединения сайта с CDN, все статичные ресурсы копируются на CDN.

 

Вот пример: WP это платформа для создания динамических сайтов. Динамические это такие страницы, которые не хранятся в виде отдельных статичных html-страниц, а генерируются в ответ на запросы пользователей. Когда пользователь запрашивает страницу, CMS передает этот запрос серверу, который запрашивает базу данных и php файлы выдать нужную информацию, потом генерирует статичную html-страницу и отправляет ее пользователю.

С одной стороны, сайт под управлением CMS делает создание страниц и управление сайтом проще и быстрее. А вот с другой стороны, генерация динамических страниц занимает больше времени и ресурсов сервера, чем простое отправление статичной html-страницы. Как следствие, динамический сайт заведомо медленнее, чем статичный html-сайт.

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

Как это всё работает? Ниже приведу сжатое описание:

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

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

Кому подходят плагины кеширования

Плагин подойдет тем, кто понимает или хочет понять, как работает cache и оптимизируется cache. Существует много простых, но не менее мощных плагинов. Вы можете начать с более простых, или сразу начать с мощного комбайна W3TC. Как бы то ни было, вот список популярных альтернатив:

  • WP Super Cache от разработчиков из Automattic, которые делают WooCommerce, Jetpack, приложение WordPress для мобильных и другой софт. Плагин очень хорош, настраивается за минуту, но по функционалу имеет только половину того, что есть в W3TC.
  • Hummingbird — плагин от WPMU DEV. После версии 1.7.0 получил функцию кеширования страниц и теперь имеет все основные функции кеширования, которые есть в W3 Total Cache. Хорошая замена более сложному W3TC.
  • WP-Cache.com — самый простой плагин кеширования, просто установите и активируйте. Несколько лет назад был очень популярным, но давно не обновляется.
  • WP Rocket — Премиум плагин, который считается одним из лучших в теме кеширования сайтов на WP.
  • WP Fastest Cache — бесплатная и платная версия. Бесплатная версия мало чем отличается от других, в платной версии продвинутые настройки настраиваются автоматически.

W3TC очень популярный плагин и рекомендуется многими хостингами и разработчиками плагинов для использования. У некоторых плагинов рекламы и слайдеров есть режим совместимости с W3TC, у самого W3TC есть режим совместимости с плагинами Yoast SEO, AMP, WPML и другими.

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