Вроде бы кэширование HTML — это классная идея, ведь оно помогает распределить ресурсы поисковых систем на обход новых или обновленных страниц, а также снижает нагрузку на сервер и повышает скорость загрузки для некоторых пользователей, но есть нюанс..
Если ваш сервер выдает в HTML (через серверные скрипты) какие-нибудь динамические элементы, зависящие от действий (сессии) пользователя на сайте, то эти элементы могут перестать меняться. Например, товары не будут добавляться в корзину или выбранный пользователем вариант оплаты не применится.
Не поверил бы в такое, если бы сам не увидел это пару лет назад. Причем сайт был на популярной CMS для интернет-магазинов, но все равно корзина кэшировалась.
А потому у меня есть внутреннее правило: если сайт содержит менее 5-10к страниц, то Last-Modified и If-Modified-Since настраивается только для статических ресурсов сайта (изображений, CSS, JS и шрифтов).
Результаты такой настройки — на скриншоте. Как видно по данным статистики сканирования сайта Google, среднее время ответа уменьшилось в 4-5 раз, после чего подскочил и краулинговый бюджет.