Кэширование сайта: почему «я всё поменял, а на экране старое»

Знакомая история: вы поменяли цену на сайте, обновили страницу — а там старая цифра. Написали разработчику, тот открывает у себя — всё правильно. Вы открываете с телефона — снова старое. Начинается взаимное недоумение, звучит фраза «почисти кэш», и никто толком не понимает, что это значит и где именно чистить.
Разберёмся, как устроено кэширование, почему оно нужно, где именно застревают ваши изменения и что делать, когда изменения не видны.
Что такое кэш простыми словами
Каждый раз, когда человек открывает страницу вашего сайта, сервер должен проделать работу: обратиться к базе данных, собрать содержимое, подставить его в шаблон, отдать браузеру. Браузер, в свою очередь, должен скачать саму страницу, стили оформления, скрипты, шрифты, десятки изображений.
Если делать это заново для каждого посетителя и каждого просмотра, сайт будет работать медленно, а сервер — задыхаться под нагрузкой.
Кэширование решает задачу просто: результат работы сохраняется и при следующем обращении отдаётся готовым, без повторных вычислений и без повторной загрузки. Это как заранее нарезанные заготовки на кухне — не нужно каждый раз начинать с целой морковки.
Выгода огромная. Правильно настроенное кэширование ускоряет сайт в разы и позволяет тому же серверу выдерживать в десятки раз больший поток. Побочный эффект тоже понятен: пока сохранённая копия жива, посетитель видит именно её, а не свежую версию.
Отсюда и берётся эффект «я поменял, а не видно».
Где именно сохраняется копия: пять уровней
Главная причина путаницы в том, что кэш не один. Их несколько, они работают независимо, и изменение может застрять на любом уровне.
Уровень 1. Кэш браузера
Ваш браузер сохраняет у себя на компьютере картинки, стили, скрипты, шрифты, иногда и сами страницы. При повторном заходе он не скачивает их снова, а берёт с диска.
Сервер сам сообщает браузеру, сколько хранить каждый файл. Для картинок и стилей обычно ставят долгий срок — от недели до года, потому что они меняются редко и выигрыш в скорости большой.
Именно поэтому чаще всего «старое» видите только вы — у остальных посетителей, которые заходят впервые, всё нормально.
Уровень 2. Кэш системы управления сайтом
Почти любая современная система управления сохраняет собранные страницы, чтобы не пересобирать их заново. ХостСиЭмЭс, как и другие системы, делает это на нескольких уровнях: кэш страниц целиком, кэш отдельных блоков, кэш запросов к базе данных.
Обычно кэш сбрасывается автоматически при изменении содержимого. Но не всегда: если вы поменяли настройку, шаблон или что-то, что система не считает связанным с конкретной страницей, старая копия может остаться.
Здесь же живёт частая проблема: изменили товар — карточка обновилась, а в списке товаров и на главной висит старая цена, потому что эти блоки кэшируются отдельно.
Уровень 3. Кэш на уровне сервера
Веб-сервер и сопутствующие модули могут хранить свои копии. Сюда же относятся кэш скомпилированного кода и кэш ответов, если настроен режим полного кэширования страниц.
Этот уровень обычно невидим для владельца сайта и сбрасывается либо через панель хостинга, либо через обращение в поддержку.
Уровень 4. Сеть доставки содержимого
Если сайт подключён к сети доставки — сервису, который раздаёт файлы с ближайших к посетителю серверов, — копии ваших файлов лежат ещё и там, в разных городах и странах.
Это очень ускоряет сайт, но добавляет ещё один слой, где может задержаться старая версия. Сбрасывается через панель управления соответствующего сервиса.
Уровень 5. Кэш промежуточных узлов
Корпоративные сети, провайдеры и мобильные операторы иногда тоже кэшируют содержимое. Повлиять на это вы не можете, но знать полезно: если у вас в офисе видно старое, а с мобильного интернета — новое, дело может быть именно в этом.
Как понять, где застряло
Разбор по шагам, от простого к сложному. Он занимает несколько минут и почти всегда даёт ответ.
Шаг 1. Откройте страницу в режиме без сохранения истории. В любом браузере есть такой режим. Он не использует накопленный кэш и куки.
Если в нём всё правильно — проблема только в вашем браузере. Достаточно почистить локальный кэш, и на этом всё.
Шаг 2. Откройте с другого устройства и другой сети. Возьмите телефон, отключите вай-фай, откройте сайт по мобильному интернету.
Правильно — значит, проблема локальная: ваш браузер или ваша сеть. Неправильно — идём дальше.
Шаг 3. Обновите страницу с принудительной перезагрузкой. Сочетание клавиш с зажатым управляющим клавишем и обновлением заставляет браузер скачать всё заново, игнорируя сохранённое.
Шаг 4. Проверьте в административной части. Если в панели управления сайтом изменение сохранено, а на сайте нет — значит, дело в кэше системы или сервера.
Шаг 5. Сбросьте кэш системы управления. В большинстве систем есть соответствующая кнопка в панели администратора.
Шаг 6. Если не помогло — кэш сервера. Здесь уже нужен доступ к панели хостинга или обращение к тому, кто сопровождает сайт.
Шаг 7. Проверьте сеть доставки, если она подключена.
Шаг 8. Проверьте, не сохранена ли старая версия в самом файле. Иногда проблема вовсе не в кэше: изменение внесено не в тот файл, не в тот шаблон, не на том сайте (например, на тестовой копии). Это случается чаще, чем кажется.
Как чистить кэш браузера правильно
Полная очистка всей истории — избыточная мера, которая заодно выкидывает сохранённые пароли и разлогинивает вас везде.
Разумнее делать так:
Принудительное обновление страницы. Работает в 80 процентах случаев и не трогает ничего лишнего.
Очистка только кэшированных файлов в настройках браузера, без удаления куки и истории.
Режим без сохранения истории для проверки. Не чистит ничего, просто не использует сохранённое.
Инструменты разработчика с отключением кэша. Открываете панель разработчика, в настройках сети ставите галочку «отключить кэш» — и пока панель открыта, браузер грузит всё заново. Удобно, когда правите сайт и проверяете изменения десятки раз подряд.
На телефоне очистка кэша живёт в настройках браузера. Проще, впрочем, открыть страницу в приватном режиме — результат тот же.
Почему нельзя просто отключить кэширование
Соблазн понятный: раз мешает — выключим. Так делать не стоит, и вот почему.
Сайт станет заметно медленнее. Разница может быть трёх-пятикратной. А скорость напрямую влияет на то, сколько людей вообще дождётся загрузки и оставит заявку.
Нагрузка на сервер вырастет. При заметном потоке посетителей сайт без кэша может просто перестать отвечать. Особенно это касается интернет-магазинов с большим каталогом.
Пострадает мобильная аудитория. У людей с медленным интернетом кэш браузера — единственное, что делает повторные визиты быстрыми.
Правильный путь — не отключать, а настроить: разные сроки хранения для разных типов файлов и корректный сброс при изменениях.
Как настроить кэширование грамотно
Долгий срок для неизменяемых файлов. Стили, скрипты, шрифты, изображения товаров — от месяца до года.
Механизм обновления по имени файла. Ключевой приём. К имени файла стилей или скрипта добавляется метка версии. Когда файл меняется, меняется и метка — браузер считает его новым и скачивает заново. Это позволяет одновременно хранить файлы долго и мгновенно обновлять их при необходимости.
Короткий срок или отсутствие кэша для страниц, которые часто меняются. Корзина, личный кабинет, страницы с наличием товара и остатками.
Автоматический сброс при изменении содержимого. Настраивается в системе управления: изменили товар — сбросился кэш карточки, списка и связанных блоков.
Отдельная обработка динамических блоков. Корзина, имя авторизованного пользователя, персональные цены — эти элементы должны подгружаться отдельно, даже если сама страница кэшируется целиком.
Плановый сброс перед публикацией важных изменений. Например, при обновлении прайса.
Сжатие содержимого. Работает в паре с кэшированием и даёт дополнительный выигрыш в скорости.
Типичные ситуации и что с ними делать
«Поменял цену — на карточке новая, в каталоге старая». Кэш блока со списком товаров. Сбросьте кэш системы; если повторяется регулярно — настройте связанный сброс.
«Обновил логотип, а он старый». Кэш браузера на изображения. Загрузите файл под новым именем — самое надёжное решение.
«Поправил дизайн, а изменения не видны». Кэш файла стилей. Нужен механизм версионирования, иначе будете чистить кэш каждый раз.
«У меня всё нормально, а клиент видит старое». Кэш в браузере клиента. Если изменение критичное — меняйте имена файлов, а не надейтесь, что все почистят.
«После обновления сайт поехал». Смешались старая и новая версии файлов. Сбросьте все уровни кэша и обновите принудительно.
«В офисе старое, из дома новое». Кэш корпоративной сети или прокси-сервера. Вопрос к системному администратору.
«Изменения появляются через несколько часов». Настроен кэш с фиксированным сроком жизни. Нормально, если срок разумный; если он сутки — стоит уменьшить.
«Сбрасываю кэш, а всё равно старое». Проверьте, туда ли вносите изменения. Частая история: сайт правят на тестовой копии, а смотрят на рабочей. Или наоборот.
Как это влияет на обращения с сайта
Может показаться, что кэш — сугубо техническая тема, далёкая от продаж. Связь прямая.
Скорость и обращения. Задержка загрузки на секунду ощутимо снижает долю тех, кто дойдёт до формы. Кэширование — самый дешёвый способ ускорить сайт.
Устаревшая информация. Клиент видит старую цену, звонит, а цена другая — начинается неприятный разговор. Или видит акцию, которая закончилась.
Неверные остатки. В интернет-магазине закэшированное наличие приводит к заказам того, чего нет. Это прямые потери и испорченное впечатление.
Сломанное оформление. Смесь старых и новых файлов оформления даёт «поехавший» сайт, с которого люди просто уходят.
Формы. Закэшированные защитные токены форм иногда приводят к тому, что заявка не отправляется. Проверяйте формы после любых изменений в настройках кэширования — это одна из самых обидных потерь.
Что проверять регулярно
После любого изменения на сайте — открыть страницу в приватном режиме и с телефона. Тридцать секунд, а спасает от недоразумений.
Раз в месяц — отправить тестовую заявку через все формы.
Раз в квартал — проверить скорость загрузки и убедиться, что кэширование работает: при повторном заходе страница должна открываться заметно быстрее.
После обновления системы управления или переезда на другой хостинг — проверить все уровни кэша, потому что настройки часто сбрасываются.
Перед запуском акции — сбросить кэш заранее и убедиться, что новые условия видны всем.
Что сказать разработчику, чтобы вас поняли
Если вы обращаетесь к специалисту, полезно описать ситуацию так, чтобы не тратить время на выяснения. Скажите:
- что именно меняли и где
- что видите вместо ожидаемого
- проверяли ли в приватном режиме
- проверяли ли с другого устройства и другой сети
- видно ли изменение в административной части
- когда именно вносили правку.
С таким описанием причина находится за пару минут, а без него разговор превращается в переписку на полдня.
Итог
Кэширование — не враг, а один из главных инструментов быстрого сайта. Проблема не в нём самом, а в том, что уровней несколько и настроены они не всегда аккуратно.
Простая последовательность действий закрывает почти все случаи: проверьте в приватном режиме, потом с другого устройства, потом сбросьте кэш системы управления, потом — сервера. А чтобы ситуация не повторялась, нужно один раз настроить версионирование файлов и автоматический сброс при изменении содержимого.
Отключать кэш нельзя — потеряете в скорости, а вместе со скоростью и часть обращений.
Если ваш сайт регулярно показывает старые цены, «едет» после обновлений или просто медленно грузится, специалисты компании «Сайты Профессионально» разберутся с настройками кэширования: проверят все уровни, настроят автоматический сброс и версионирование файлов, а заодно измерят скорость до и после. Диагностика бесплатная — напишите нам, и мы посмотрим, что происходит с вашим сайтом.
Хотите получить бесплатную диагностику сайта?
Получите бесплатную экспресс-диагностику за 24 часа. Проверим ошибки, сбои, скорость, безопасность и скрытые ошибки — пришлём отчёт с рекомендациями.
- Скорость загрузки и мобильная версия
- Уязвимости, вирусы, взломы
- Битые ссылки, дубли, SEO-ошибки
- Статус домена, SSL, хостинга
Популярные решения наших клиентов:

До 10 часов работ в мес.
Ежедневная диагностика
Продление домена
Продление хостинга/сервера

До 40 часов работ в мес.

До 100 часов работ в мес.
