Сжатие gzip и кэш браузера в htaccess

При оптимизация скорости работы сайта инструменты типа Google PageSpeed Tools рекомендуют использовать кэш браузера и включить сжатие. Приведенные ниже примеры показывают как их включить.
Данный код нужно добавить в .htaccess в корне сайта.

<IfModule mod_deflate.c>
	AddOutputFilterByType DEFLATE text/html text/plain text/css application/json
	AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript
	AddOutputFilterByType DEFLATE text/xml application/xml text/x-component
	<FilesMatch "\.(ttf|otf|eot|svg)$" >
		SetOutputFilter DEFLATE
	</FilesMatch>
</IfModule>
htaccess

На хостинге nic.ru нужно включить модуль mod_deflate:
Хостинг, почта, конструктор сайтов → Управление хостингом → Управление модулями

Google рекомендует кэшировать статические файлы на срок не менее года, подробнее на developers.google.com.

<ifModule mod_expires.c>
	ExpiresActive On
	ExpiresDefault "access plus 1 year"
	ExpiresByType image/x-icon "access plus 1 year"
	ExpiresByType image/jpeg "access plus 1 year"
	ExpiresByType image/png "access plus 1 year"
	ExpiresByType image/gif "access plus 1 year"
	ExpiresByType application/x-shockwave-flash "access plus 1 year"
	ExpiresByType text/css "access plus 1 year"
	ExpiresByType text/javascript "access plus 1 year"
	ExpiresByType application/javascript "access plus 1 year"
	ExpiresByType application/x-javascript "access plus 1 year"
	ExpiresByType text/html "access plus 1 year"
	ExpiresByType application/xhtml+xml "access plus 1 year"
</ifModule>
htaccess

Как такового способа очистить сразу весь кэш браузера нет, но можно добавить GET параметр ?ver=1 к ссылкам на часто изменяемые файлы JS и CSS и после правок его менять.

Чтобы каждый раз не редактировать множество шаблонов, значение версии задавать PHP константой:

define('VERSION', '1');
PHP
<link rel="stylesheet" href="/css/style.css?ver=<?php echo VERSION; ?>">
<script src="/js/script.js?ver=<?php echo VERSION; ?>"></script>
HTML
06.12.2016, обновлено 02.11.2020
5738

Комментарии

, чтобы добавить комментарий.

Другие публикации

Описание мета-тегов
В статье представлены все самые встречающеюся мета-теги с примерами и пояснениями их использования.
11785
+3
Запись в лог-файл в PHP
Несколько вариантов как быстро организовать запись данных в лог-файл.
43971
+9
Массив $_SERVER
Описание значений глобального массива $_SERVER с примерами.
22361
0
Переезд сайта на HTTPS
В последнее время вопрос переезда сайта с HTTP на HTTPS перешел из рекомендаций в необходимость, как со стороны поисковиков, так и браузеров.
2663
+1
Автоматическое сжатие и оптимизация картинок на сайте
Изображения нужно сжимать для ускорения скорости загрузки сайта, но как это сделать? На многих хостингах нет...
15871
+8
Примеры отправки AJAX JQuery
AJAX позволяет отправить и получить данные без перезагрузки страницы. Например, делать проверку форм, подгружать контент и т.д. А функции JQuery значительно упрощают работу.
129339
+19