Блог

Правила эффективного использования кэша для статических объектов

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

После всесторонней оптимизации сайта, он поднимается в ранжировании. Таким образом,увеличивается конверсия, а соответственно — доход, который получает бизнес. Чтобы провести правильные настройки, необходимо разработать структуру аудита, которая включает в себя доскональную проверку всех скриптов и конетнта. Команда наших специалистов работает в данном направлении поэтапно, выделяя критические моменты, которые могут полностью менять работоспособность страницы и скорость её загрузки. После проведения полного спектра операций, сервисы проверки WordPress, в том числе и анализатор PageSpeed Insights, даёт 100% результат. А это значит, что сайт проходит аудит без проблем и становится рекомендуемым для пользователей.

При проведении аудита PageSpeed Insights, в качестве рекомендаций, можно увидеть следующую: «Настройка правил эффективного использования кэша для статических объектов». В данном материале мы расскажем что это такое, зачем нужно и с помощью каких инструментов достигается.

Что такое кэш файлов и зачем он нужен

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

Что имеет смысл кэшировать? Все данные, которые обновляются реже чем один раз в несколько минут. К таковым относятся CSS, картинки, javascriptы, таблицы, архивные данные и другие документы, которые требуют загрузки.

Как произвести кэширование статических объектов

Для того, чтобы осуществить кэширование объектов, необходимо использовать заголовок Cache-Control непосредственно в HTTP. Выглядит это приблизительно таким образом:

Cache-Control: private, max-age=31557600

Теперь разберёмся, какую информацию данная запись в себе несёт. В первую очередь, необходимо определить формат кэширования. Они бывают следующими:

●  Private — определяет, что кэширование будет производиться непосредственно на устройстве пользователя;

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

●  No-cache — говорит браузеру о том, что кэшировать данный запрос не следует;

●  Max-age — определяет время в течении которого необходимо сохранять файлы в кэше.

К примеру, если установить max-age равное 31557600, то это значит, что данные будут сохранены в локальном хранилище в течении года. Время указывается в секундах. Если рассматривать Google Chrome, то он обслуживает наиболее запрашиваемые ресурсы из кэша памяти и работает очень быстро, но очищается при закрытии браузера.

Для того, чтобы настроить работу кэша, вполне достаточно использования Cache-Control, но для максимально эффективного использования, вместе с ним нужно применять и другие заголовки.

●  Expires показывает конкретную дату и время, когда кэш будет обновлён. Строка Expires: Thu, 31 Dec 2037 23:55:55 GMT значит, что он обновится за 5 минут до наступления 2038 года по Гринвичу.

●  Vary даёт возможность прописывать дополнительные правила при кэшировании. К примеру, сообщить браузеру, что контент может иметь различия в зависимости от той версии, которую использует пользователь. Одними из наиболее частых являются мобильные или ПК версии

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

Кэширование с использованием плагинов

Упростить процесс кэширования страниц можно используя разработанные плагины. К примеру, W3 Total Cache или WP Super Cache. Чтобы начать ими пользоваться, достаточно просто произвести их установку и они будут кэшировать записи и страницы WordPress в виде статических файлов. А пользователям передавать уже статические файлы, что существенно снижает нагрузку на сервер. Для статичных страниц, даже довольно тяжёлых, это позволяет повысить производительность в несколько сотен раз.

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

Какие ресурсы являются кэшируемыми

Lighthouse считает, что ресурс является кэшируемым только в том случае, если соблюдены все следующие условия:

●  Этот шрифт, изображение, мультимедийный файл, скрипт или таблица стилей

●  Он имеет код состояния HTTP 200, 203 или 206

●  У него нет явной политики отсутствия кэша.

После этого, Lighthouse оценивает, сколько сетевых данных вы могли бы сохранить своим пользователям, если бы данные ресурсы были кэшированы. Эта оценка включает в себя некоторые расчеты оптимальной длительности кэша для каждого ресурса, на основе совокупной статистики использования Chrome. Не стоит устанавлявать большую продолжительность кэширования для каждого файла. Такое решение далеко не всегда является правильным.

Похожие записи