Как проверить, что посетители видят обновлённый сайт, а не копию из кэша
Практическая последовательность проверки: инкогнито-режим, заголовки ответа, сравнение даты и времени, а также что делать, если обновление не отображается у посетителей.
Что именно вы проверяете
Когда вы меняете текст на сайте и обновляете страницу, браузер показывает то, что уже скачал ранее, если сочтёт копию свежей. Сервер при этом может отправлять совершенно другой файл. Разница между тем, что лежит на сервере, и тем, что видит конкретный человек, и есть предмет проверки.
Кэширование существует на трёх уровнях. Браузер хранит копии страниц локально. Провайдер или корпоративная сеть может держать промежуточный кэш. Если сайт подключён к CDN, то между сервером и посетителем стоит сеть серверов, каждый из которых кэширует контент по своим правилам. Поэтому одно и то же обновление может отобразиться у одних людей сразу, а у других через несколько часов.
Первый шаг: режим инкогнито
Откройте страницу сайта в отдельном окне инкогнито или приватного браузера. Этот режим не использует кэш основной сессии и не читает сохранённые cookies, поэтому вы увидите то, что получит человек, открывающий страницу впервые.
Если в инкогнито обновление видно, а в обычном окне нет, значит дело в кэше вашего браузера. В этом случае достаточно нажать Ctrl+F5 на Windows или Cmd+Shift+R на macOS, чтобы принудительно перезагрузить страницу без обращения к кэшу.
Второй шаг: заголовки ответа
Нажмите F12, чтобы открыть инструменты разработчика, и перейдите на вкладку Network. Обновите страницу и найдите основной запрос к странице. В правой панели посмотрите раздел Response Headers.
Обратите внимание на заголовки Cache-Control и Expires. Если Cache-Control содержит директивы типа no-cache или no-store, браузер обязан запрашивать свежую версию у сервера при каждом посещении. Если же указан max-age с большим числом секунд, браузер будет показывать сохранённую копию, пока не истечёт этот срок.
Также посмотрите заголовок Last-Modified: он показывает дату изменения файла на сервере. Если дата совпадает с моментом вашего обновления, сервер действительно отправляет новый файл.
Третий шаг: сравнение даты и времени
В том же окне Network найдите заголовок Date. Он фиксирует момент, когда сервер сформировал ответ. Если вы обновили контент в 18:40, а заголовок Date показывает 17:15, значит браузер получил ответ из кэша провайдера или CDN, а не напрямую с сервера.
Сравните также содержимое файла. В разделе Response можно посмотреть HTML-код. Если там присутствует новый текст, который вы вставили, сервер отправляет актуальную версию, и проблема ограничена кэшем на стороне посетителя.