
Когда сайт открывается медленно, в советах почти всегда звучат два слова: кэш и CDN. Звучит технически, но идея простая: не делать одну и ту же работу заново для каждого посетителя и отдавать файлы с сервера, который ближе к человеку.
Ниже о том, как это работает, что даёт небольшому сайту и где кэш может навредить.
Кэш простыми словами
Кэш это сохранённая копия готового результата. Браузер посетителя может запомнить картинки, шрифты и стили и не скачивать их снова на следующей странице. Сервер может хранить уже собранную страницу и не собирать её из базы данных при каждом запросе.
Для посетителя это значит, что вторая и следующие страницы открываются заметно быстрее, а для сервера меньше нагрузки, особенно когда людей много одновременно.
Что такое CDN
CDN это сеть серверов в разных городах и странах, которые хранят копии файлов вашего сайта. Человек получает картинки и скрипты не с вашего хостинга, а с ближайшего к нему узла сети. Чем дальше посетитель от хостинга, тем заметнее разница.
Многие CDN заодно защищают от простых атак на доступность и сами выдают сертификат для HTTPS, поэтому их подключают не только ради скорости.
Когда это действительно нужно
- Посетители из разных регионов или стран, а хостинг в одном месте
- На сайте много фотографий, видео или тяжёлых файлов
- Бывают всплески посещаемости, например после рассылки или рекламы
- Сайт собирается на сервере при каждом запросе, и страницы отвечают долго
Если сайт небольшой, аудитория в одном городе, а страницы статические и лёгкие, хорошего хостинга с правильными настройками кэша в браузере часто хватает. Про выбор хостинга есть отдельный текст.
Ошибки, из-за которых не видно обновлений
Главная жалоба на кэш звучит так: «я поменял текст, а на сайте всё по-старому». Обычно это значит, что старая копия хранится слишком долго и её никто не сбросил. Правильная настройка выглядит так:
- Файлы стилей и скриптов получают в названии метку версии, и при каждом обновлении браузер скачивает новый файл
- Сами страницы кэшируются коротко или с проверкой, не изменились ли они
- После публикации кэш CDN сбрасывается автоматически, а не вручную по памяти
- Личные страницы, корзина и формы вообще не попадают в общий кэш
Последний пункт важен для безопасности: ошибка в настройке может показать одному посетителю данные другого.
С чего начать
Сначала стоит измерить, где сайт теряет время: долгий ответ сервера, тяжёлые картинки или много лишних скриптов. Часто основная проблема в изображениях, и о ней подробно в тексте почему сайт медленно открывается на телефоне. Кэш и CDN добавляют после этого, когда понятно, что именно они ускорят.
Настройка кэша, CDN и ускорение сайта входят в услугу скорость и SEO. Если хотите разобраться, что тормозит именно ваш сайт, напишите через контакты.