Веб-разработка

Кэш сайта: почему после правки клиент видит старую цену

Кэш сайта: почему после правки клиент видит старую цену

Кэш — сохранённая копия страницы или файла, чтобы браузер и сеть не качали одно и то же заново. После правки цены файл на хостинге уже новый, а клиент всё равно видит вчерашнюю цифру: копию держит браузер, сеть доставки контента или HTML-кэш на самом сайте. CDN — серверы ближе к пользователю, которые отдают готовые копии, а не каждый раз ходят за файлом на основной сервер. Статья для собственника и маркетолога, которые «уже поправили прайс» и слышат, что на экране старое. Это не про редиректы и потерю позиций после смены дизайна — там другая карта работ.

Ниже — три слоя, где застревает старая цена, в каком порядке их смотреть и чем это отличается от смены адресов страниц. Про редиректы и URL после смены дизайна — в материале редизайн без просадки SEO; почему тяжёлый первый экран бьёт по заявкам — в статье про скорость сайта.

Почему клиент видит вчерашнюю цену

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

Три слоя кэша, которые держат старый прайс

  • Браузер клиента: копия с прошлого визита, часто до закрытия вкладки или до суток — лечится инкогнито или жёстким обновлением.
  • CDN: край сети отвечает «HIT» и отдаёт HTML или картинку прайса, которые сохранил до 24 часов назад.
  • HTML-кэш на сайте: плагин или сервер собрал страницу целиком и не пересобирает её после правки в админке.

Где смотреть, прежде чем править цену ещё раз

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

СлойГде смотретьГотово, если
ИсходникАдминка, файл или база на хостингеВ карточке услуги уже новая цена
БраузерОкно инкогнито или Ctrl+F5На чистом визите цифра совпала с админкой
HTML-кэшПлагин, 1С-Битрикс, WordPress, серверный кэшВремя жизни сброшено, страница собралась заново
CDNПанель Cloudflare, Selectel, Timeweb — purge URLПо этому адресу больше не отдаётся вчерашний HIT

Что обещали «обновить» и что осталось на экране

Фраза «прайс обновили» описывает правку в админке. Экран клиента собирается из трёх копий, и любая из них может быть старше правки. Кадр ниже — та же обещанная фраза против слоёв, которые её перебивают.

Обещание «прайс обновили» зачёркнуто: CDN, браузер и HTML всё ещё отдают вчерашнюю цену.
Правка в админке не равна новому экрану, пока не сброшены CDN, браузер и HTML-кэш.

Четыре проверки после правки цены

Если оффер на первом экране меняется чаще, чем раз в сутки, срок жизни копии под него укорачивают. Разовую настройку сброса и правил кэша закрывает разработка сайтов, а не ещё одна правка цифры в админке.

Куда смотреть после сохранения прайса
АдминкаВ карточке услуги уже новая цена — иначе чинят сохранение, а не кэш.
БраузерИнкогнито или жёсткое обновление: если здесь цифра новая, у клиента висит его локальная копия.
CDNСброс именно этого URL, не «весь сайт на всякий случай», и проверка, что HIT сменился на свежий ответ.
HTMLПлагин или сервер пересобрал страницу; если в исходнике новая цена, а в HTML старая — кэш сайта не сброшен.

Это не редирект и не редизайн

После смены дизайна пропадают старые адреса, тексты и связи между страницами — это карта редиректов и отдельная работа. Кэш живёт на том же URL: адрес услуги тот же, содержимое на экране вчерашнее. Если путать одно с другим, начинают «перезаливать сайт», хотя достаточно сбросить три слоя копий. Скорость при этом кэш как раз защищает: без копий первый экран снова тяжелеет, и заявки падают уже по другой причине.

Порядок: сначала сброс кэша, потом ещё одна правка

  1. Проверить исходник: в админке и на хостинге цена уже новая.
  2. Открыть тот же URL в инкогнито — отделить копию браузера от сервера.
  3. Сбросить HTML-кэш сайта и подождать пересборки страницы.
  4. Сделать purge этого URL в CDN и проверить ответ не только со своего компьютера.
  5. Только если исходник старый — править цену ещё раз; если исходник новый — вторую правку не делают.

Когда кэш полезен, а когда мешает заявке

  • Полезен на картинках, скриптах и страницах, которые не меняют цену каждый день.
  • Мешает, если оффер и прайс живут часы, а копия — сутки.
  • Мешает, если сбрасывают «весь CDN», а нужный URL всё равно HIT.
  • Полезен для скорости мобильного первого экрана — его не выключают целиком из-за одной цены.

ПроверкаГотово, когда три независимых визита показывают одну цену: инкогнито, телефон клиента и ответ CDN по этому URL. Пока совпали только вы и админка — клиент может видеть вчерашнее.

Частые вопросы

Почему после правки цены клиент всё ещё видит старую?

Файл на хостинге уже новый, а экран отдаёт сохранённую копию: из браузера, из CDN или из HTML-кэша на сайте. Пока копию не сбросили, посетитель видит вчерашний прайс.

Как отличить кэш от проблем после редизайна?

Кэш — та же страница, старое содержимое. Редизайн без карты адресов — другие URL, 404 и потерянные редиректы. Если адрес тот же, а цифра старая, сначала смотрят кэш, а не карту редиректов.

Что сбрасывать первым: браузер, CDN или HTML?

Сначала открыть страницу в режиме инкогнито: если цена новая, виноват браузер клиента. Если старая и там — сброс HTML-кэша в админке и purge URL в CDN. Править цену второй раз до этого не нужно.

Кэш всегда мешает или он нужен?

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

Клиент открыл инкогнито — цена новая. Значит всё готово?

Для его компьютера — да. У остальных может остаться копия в CDN на сутки. Проверяют заголовок ответа и сброс по URL, а не только свой инкогнито.

← Назад к разделу «Веб-разработка»