Возможности !SEMTools
↑ Навигация по задачам в Excel и возможностям надстройки !SEMTools ↑

Кэш (кэширование)

, создатель !SEMToolsОпубликовано 3 мин чтенияРубрики: SEO и семантика, Термины и понятия маркетинга

Что такое кэш?

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

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

  • кэш браузера: браузер хранит статику (картинки, CSS, JS, шрифты) и не скачивает её повторно при следующих визитах;
  • кэш страниц на сервере: готовый HTML страницы сохраняется и отдаётся без сборки; вместо десятых долей секунды на генерацию страница отдаётся за уровень статики;
  • кэш CDN: копии статики и страниц лежат на узлах ближе к посетителю;
  • кэш DNS: домен уже переведён в адрес, первый шаг соединения пропускается.

Как кэш ускоряет сайт

Самая дорогая часть загрузки страницы — её сборка: запросы к базе данных, работа темы и плагинов. Кэш страниц устраняет её целиком. Практический пример: сборка страницы без кэша занимает 0,13–0,37 секунды, а отдача готовой копии через nginx занимает 0,15 секунды, как у простой картинки. На фоне этого выигрывает и время ответа сервера, а за ним время до отрисовки и LCP.

Кэш браузера и CDN снимают нагрузку с сервера: повторные визиты и часть запросов вообще до него не доезжают.

Когда кэш вредит

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

  • правку статьи внёс, а на сайте она не появилась: копия в кэше осталась старой;
  • страницу удалили, а её копия продолжает отдаваться из кэша (проверяйте и удалённые страницы, не только отредактированные);
  • обновили файл стиля или скрипта, но браузеры посетителей держат старую версию из своего кэша: решается версией в адресе файла (?ver=);
  • служебные и некэшируемые страницы (корзина, личный кабинет, результаты оплаты) в кэш не должны попадать, иначе чужой человек увидит чужие данные.

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

Как управлять кэшем

  • срок жизни (TTL): сколько живёт копия; для страниц подбирается баланс между скоростью и свежестью;
  • заголовки Cache-Control: браузеру указывают, что и сколько хранить; статике задают срок в год с версией в адресе файла, HTML держат коротко;
  • предзагрузка: сборщик кэша заранее готовит копии всех страниц, и первый посетитель тоже получает быстрый ответ;
  • исключения: корзина, оплата, поиск и вход пользователей не кэшируются никогда;
  • проверка: отдаётся страница из кэша или собирается заново, видно по заголовкам ответа (X-Cache) и комментариям в HTML.

Связь кэша с другими показателями

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

Итоги

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