Google Pagespeed Insights по-прежнему говорит мне, что мне нужно включить кэширование в браузере, но я не понимаю, чего мне не хватает. Я использую cloudflare с включенной оптимизацией. Я вижу этот HTTP-заголовок в инструментах разработчика Chrome:
контроль кэша: общедоступный, max-age = 86400
поэтому кеширование уже включено! Я также добавил
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="1.00:00:00" />
</staticContent>
в моем файле web.config.
Я не знаю, что еще делать. Вот ошибка, которую Google дает мне:
seo
google
cache-control
euge9522
источник
источник
Ответы:
24 часа - это слишком мало для управления кешем :) Теоретически изображения никогда не меняются без изменения их имени, поэтому вы можете легко установить это значение на год (или месяц, если вам удобнее).
Если вы замените изображение новым изображением, оно получит новое имя.
picture-of-cat-on-18th-birthday.jpg
не будет внезапно другим изображением с тем же именем файла. По этой причине имена файлов должны быть несколько специфичны для их содержания.Для других типов ресурсов, таких как CSS и JS, вы можете выбрать другую тактику. У вас есть (часто) изменяющиеся файлы, и вы никогда не меняете их, вы хотите разделить длину кэширования:
Это не выполнимо. Вы можете сделать их обоих или ни одного, .htaccess видит тип файла.
Из-за этого вы устанавливаете его в длинный кэш и используете постфикс, чтобы принудительно начать новую загрузку, если она действительно изменится:
Таким образом, пользователь должен повторно загрузить его, только если вы действительно внесли изменение.
Эта техника работает на всех ресурсах. Всегда стремитесь к максимальной продолжительности кэширования.
источник
filemtime()
. Затем, если файл будет изменен, будет создан новый URI, что приведет к повторному приобретению актива без очистки кэшей и прочего. Можно сделать то же самое с изображениями или что-то еще. И я думаю, что Google любит время кэширования около 8 дней минимум, чтобы передать скорость страниц.Я вижу, что предыдущий ответ говорит, что 24 часов недостаточно. Но заглядывая в документ Google: https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching#defining-optimal-cache-control-policy говорит, что изображения должны быть кэшированы для 1 день для оптимального кэширования.
Кэширование изображений на короткое время имеет смысл, потому что для улучшения SEO лучше не делать отпечатки пальцев на изображениях. Так что это хороший компромисс, если вы хотите изменить изображение.
Также не то, что через 24 часа изображения будут загружаться снова (когда вы устанавливаете кэш-контроль на 1 день), он будет использовать электронный тег и сравнивать изображения, выполняя обход сервера и повторную загрузку.
Таким образом, остается вопрос, почему инструмент оценки скорости страниц не соблюдает собственную рекомендацию Google.
источник