Кэширование страниц: оптимизация загрузки

Почему это важно

Кэширование данных – это процесс сохранения часто запрашиваемых данных на компьютере пользователя или локальном прокси-сервере, благодаря чему значительно ускоряется загрузка страниц. После настройки кэширования браузер или прокси-сервер обращается к локально сохраненной копии документа (страницы), вместо того, чтобы загружать его снова и снова при последующих посещениях. Таким образом, кэширование позволяет избежать повторного формирования страниц, показанных при обработке предыдущих запросов. В результате уменьшается время приема-передачи, исключаются многочисленные HTTP запросы и снижается нагрузка на сервер (до 80%).

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

Скорость работы веб-сайтов принадлежит к группе весомых факторов, которые влияют не только на ранжирование ресурсов в поисковой выдаче, но и на поведение пользователей. Поскольку сейчас среди множества сайтов различных тематик наблюдается достаточно высокая конкуренция, можно отметить, что неспешно и осторожно эту гонку выиграть не получится. Кроме того, задержки при загрузке страниц сайта отражаются на финансовых показателях. Например, задержка всего в 100 мс для ресурса amazon.com привела к уменьшению доходов на 1%. Следующий пример: когда сократили время загрузки страницы Google Maps, а ее размер снизили со 100КБ до 70-80КБ, – трафик вырос на 10% в первую неделю, и еще на 25% – в течение следующих трех недель.

47% пользователей рассчитывают на то, что страница будет грузиться около 2-х секунд. Вместе с тем, всего лишь одна дополнительная секунда при загрузке страницы ведет к снижению количества просмотренных страниц на 11% и уменьшению удовлетворенности посетителей на 16%.

ris.1

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

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

ris.2

Рис. 2 – Зависимость “Показателя отказов” (а) и “Ср.числа просмотров” (b) от времени загрузки

Мониторинг скорости загрузки

Для проверки скорости загрузки страниц сайта существует много инструментов, например Google Analytics (см. Рис. 2а). Для получения этих данных необходимо в аккаунте Google Analytics, к которому подключен сайт, проследовать по цепочке: «Стандартные отчеты» – «Содержание» – «Скорость загрузки сайта». Другой сервис – Google PageSpeed Insights (см. Рис. 2б), который, к тому же, формирует соответствующие рекомендации по оптимизации сайта. YSlow – удобный инструмент, который встраивается в браузер (см. Рис. 2в). Есть еще ряд подобных сервисов, предоставляющих полезную информацию о загрузке различных элементов сайта, но вполне можно ограничиться и перечисленными.

ris.3

Рис. 2 – а (Google Analytics ); b (PageSpeed); c (YSlow)

Технические аспекты кэширования

Большинство веб-страниц содержат элементы, которые редко изменяются, такие как: файлы CSS, JavaScript, графические элементы, PDF документы и т.д. Все они требуют времени для загрузки. Поэтому их желательно помещать в промежуточный буфер (кэш) браузера или прокси-сервера. Теперь можно обозначить, что существует 2 типа кэша: кэширующие прокси-сервера, расположенные между посетителями и сервером, на котором находится сайт, и кэш обозревателя (браузера), который располагается непосредственно на пользовательском компьютере. Чтобы задать директивы для кэширования требуемых объектов, используются мета-теги в заголовке документа, которые проверяются браузером, или HTTP заголовки, которые управляют прокси-серверами. Таким образом, оптимальная настройка сервера для работы с кэшем подразумевает одновременное использование несколько механизмов управления. Мета-теги Expires и Pragma (см. подробнее)

Выводы

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

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

Обсудить задачу

Получайте новости интернет-маркетинга

Только полезная информация от экспертов Promodo

Получайте новости интернет-маркетинга