Как включить кеш браузера для сайта в .htaccess?

Часто в рекомендация по оптимизации встречается совет по включению кеша браузера для сайта (например в Google Pagespeed). Благодаря кешированию пользователи, повторно посещающие сайт, тратят меньше времени на загрузку страниц.

Кеширование должно применяться ко всем кешируемым статическим ресурсам, а не только к некоторым из них. Кешируемые ресурсы включают файлы JavaScript и CSS, графические и другие файлы (файлы PDF, мультимедиа и т. д.).

Для включения кеширования необходимо в файл .htaccess добавить следующие строки:
# кеш браузера
<ifModule mod_expires.c>
ExpiresActive On
#по умолчанию кеш в 5 секунд
ExpiresDefault "access plus 5 seconds"
# по типам файлов
ExpiresByType text/html "access plus 15 min"
ExpiresByType image/x-icon "access plus 7 day"
ExpiresByType image/jpeg "access plus 7 day"
ExpiresByType image/png "access plus 7 day"
ExpiresByType image/gif "access plus 7 day"
ExpiresByType application/x-shockwave-flash "access plus 7 day"
ExpiresByType text/css "access plus 7 day"
ExpiresByType text/javascript "access plus 7 day"
ExpiresByType application/javascript "access plus 7 day"
ExpiresByType application/x-javascript "access plus 7 day"
ExpiresByType application/xhtml+xml "access plus 7 day"
# нестандартные шрифты
ExpiresByType application/x-font-ttf "access plus 1 month"
ExpiresByType font/opentype "access plus 1 month"
ExpiresByType application/x-font-woff "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"

Естественно, что время кеширования подбирается под поставленные задачи. Такой код устраивает тот же гугл, тк если указать слишком короткие интервалы, он все-равно будет настаивать на включении кеширования, хотя оно будет уже работать.

Возможно указание следующих временных интервалов:

  • month
  • weeks
  • days
  • minutes
  • seconds