Chrome вносит существенные изменения, которые улучшат навигацию...
89
Chrome вносит существенные изменения, которые улучшат навигацию по страницам для миллионов сайтов, игнорируя HTTP-хидер Cache-Control: no-store в определённых ситуациях.
Это обновление включит кэш для переходов назад/вперёд (bfcache) для страниц, которые ранее не могли его использовать, что потенциально даст значительные улучшения производительности без усилий со стороны разработчиков.
Изменение особенно актуально для 89% магазинов на Magento, использующих этот хидер.
Ожидается, что Chrome завершит внедрение к апрелю 2025 года, что делает это идеальным временем для понимания последствий.
Bfcache позволяет практически мгновенно переходить по страницам, когда пользователи нажимают кнопки "назад" или "вперед".
Вместо полной перезагрузки страницы с нуля, Chrome сохраняет её в памяти и восстанавливает - обеспечивая значительную разницу во времени загрузки (100-200мс против нескольких секунд).
Вот видео, демонстрирующее, как работает bfcache: https://www.youtube.com/watch?v=cuPsdRckkF0
Данные Chrome показывают, что это затрагивает около 17% навигаций по истории на мобильных устройствах и 7% на десктопах.
Chrome внедрил несколько защитных мер с этим изменением:
— Страницы хранятся в bfcache только 3 минуты (вместо обычных 10)
— Страницы удаляются из кэша, если куки пользователя изменяются
— Страницы, использующие WebSocket, WebTransport или WebRTC, по-прежнему не могут использовать bfcache
Хотя это обновление влияет на любой сайт, использующий Cache-Control: no-store, Magento выделяется тем, что 89% его магазинов используют эти хидеры - значительно выше среднего показателя в вебе.
Типичный опыт покупок включает частую навигацию туда-сюда между списками продуктов и страницами деталей, которая теперь будет практически мгновенной для многих магазинов на Magento.
Однако 26% доменов на Magento используют WebRTC и 10% используют WebSocket соединения, что по-прежнему будет блокировать bfcache независимо от этого изменения.
Для Core Web Vitals это изменение может дать существенные улучшения:
— LCP практически исчезает при навигации назад
— CLS минимален, так как страница восстанавливается целиком
— INP значительно улучшается, поскольку страница сразу становится интерактивной
Поскольку навигация назад/вперед часто составляет значительную часть просмотров страниц, эти улучшения могут существенно повлиять на общие показатели.
Для тестирования на ваших сайтах:
— Запустите Chrome с флагом: --enable-features=CacheControlNoStoreEnterBackForwardCache:level/restore-unless-cookie-change
— Используйте вкладку Application в Chrome DevTools для проверки совместимости
— Следите за использованием bfcache в вашей CrUX Dashboard (хотя помните, что данные поступают с 28-дневной задержкой)
Если вы используете RUMvision, вы можете заметить увеличение успешных хитов bfcache.
Для корпоративных сред, где это изменение может вызвать проблемы, Chrome предлагает политику AllowBackForwardCacheForCacheControlNoStorePageEnabled для его отключения.
Разработчикам следует:
— Пересмотреть хидеры кэширования
— Проверить использование WebRTC и WebSockets (которые по-прежнему будут блокировать bfcache)
— Заменить unload на pagehide (особенно с учетом предстоящего отказа от unload)
— Обновить аналитику для корректного отслеживания восстановлений из bfcache
— Добавить механизмы обновления для контента, чувствительного ко времени
По сути, это изменение дает многим сайтам бесплатное повышение производительности без необходимости изменения кода.
Устраняя причины, по которым bfcache все еще может быть затруднен, сайты могут максимизировать преимущества, сохраняя при этом точную аналитику и актуальный контент.
https://www.rumvision.com/blog/chrome-now-ignores-cache-control-no-store-why-you-should-care/
@MikeBlazerX
– https://t.me/MikeBlazerX
Источник новости https://t.me/mikeblazerx/4834...