Кэширование файлов в браузере
пошаговая инструкция · Быстро: 5–15 минут
1. Что произошло
Правила кэширования говорят браузеру не скачивать неизменные файлы повторно.
2. Почему это важно
Каждый визит заново скачивает одно и то же — сайт медленнее. После исправления: Повторные заходы будут быстрее.
3. На каких страницах обнаружено
Заголовки Cache-Control и Expires у статических файлов (CSS, JS, картинки, шрифты).
Чтобы увидеть адреса на вашем сайте, откройте инструкцию из отчёта или добавьте домен в адрес: /fix/cache/ваш-сайт.ru.
4. Как исправить
Шаги
- Разрешите браузеру хранить статические файлы: изображения, шрифты — на месяц и больше, CSS и JS — на месяц, если в имени файла есть версия (style.css?v=123 или style.123.css).
- HTML-страницы кэшировать надолго не нужно.
- При обновлении файла меняйте версию в имени, иначе посетители увидят старое оформление.
WordPress
- WordPress подставляет версию в адреса стилей и скриптов сам. Правила для .htaccess добавляют плагины кэширования.
5. Готовый код
Замените example.com на свой домен. Перед правкой конфигурации сделайте резервную копию файла.
nginx
nginx
location ~* \.(?:css|js|woff2?|ttf|svg|ico|jpg|jpeg|png|gif|webp|avif)$ {
expires 30d;
add_header Cache-Control "public";
access_log off;
}Apache
Apache (mod_expires)
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/webp "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType font/woff2 "access plus 1 year"
</IfModule>6. Как проверить результат
- В ответе есть Cache-Control: max-age=… или Expires на будущую дату.
- Нажмите «Перепроверить сайт».
Заголовки статического файла
curl -sI https://example.com/style.css | grep -iE 'cache-control|expires'Чтобы перепроверить сайт, откройте отчёт и нажмите «Проверить заново».