Этап второй: базовые действия. Клиентская оптимизация для произвольного сайта. Практическое приложение. Оптимизация структуры веб-страниц
Этап второй: базовые действия
Этап третий: шаманим с изображениями
Этап четвертый: счетчик времени загрузки
Этап пятый: «ненавязчивая» реклама
Заключение
Базовые действия по оптимизации чрезвычайно просты: нам нужно объединить все текстовые файлы и применить для них gzip-сжатие. А также включить кэширование на достаточно длительный срок (это позволит значительно ускорить, по крайней мере, открытие последующих страниц на этом сайте). Все это делается несколькими строками в конфигурационном файле Apache (httpd.conf или .htaccess):
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch Konqueror no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent
<FilesMatch .*\.(css|js|php|phtml|shtml|html|xml)$>
Header append Cache-Control private
</FilesMatch>
ExpiresActive On
ExpiresDefault "access plus 1 month"
<FilesMatch .*\.(shtml|html|phtml|php)$>
ExpiresActive Off
</FilesMatch>
Данный фрагмент кода включает сжатие для тех типов файлов, для которых это разумно сделать. Затем отключает сжатие для старых и неподдерживаемых браузеров. Заголовки Vary User-Agent и Cache-Control private нужны для корректной обработки сжатия на этапе локальных прокси-серверов (чтобы они пропускали название браузера и не кэшировали сжатую версию и не отдавали ее тем пользовательским агентам, которые это не поддерживают). Затем на все файлы накидывается кэширование на один месяц, а затем для динамических файлов (HTML) оно отключается.
Объединение и минимизация файлов может быть достаточно проблематичным занятием, но для этой цели можно использовать пакетную оптимизацию (http://webo.in/my/action/packet/), загрузить один архив со всеми файлами, которые требовалось оптимизировать — и на выходе получить уже готовые к применению версии.