Кэш, css, js. Что нужно включить?
Народ, подскажите пожалуйста! На тестах постоянно просит включить кэш! Сервер виртуальный-подключен как опция для ускорения скриптов. Может чего в самом DLE изменить нужно (в админке кэширование включено)? В чем может быть косяк? И постоянно мне в тэсте пишет про блокирующий скрипт, как его отключить (подозреваю что в каком то файле шаблона)?
<ifModule mod_headers.c>
#кэшировать html и htm файлы на один день
<FilesMatch "\.(html|htm)$">
Header set Cache-Control "max-age=43200"
</FilesMatch>
#кэшировать css, javascript и текстовые файлы на одну неделю
<FilesMatch "\.(js|css|txt)$">
Header set Cache-Control "max-age=604800"
</FilesMatch>
#кэшировать флэш и изображения на месяц
<FilesMatch "\.(flv|swf|ico|gif|jpg|jpeg|png)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>
#отключить кэширование
<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch>
</IfModule>
<ifModule mod_expires.c>
ExpiresActive On
#по умолчанию кеш в 5 секунд
ExpiresDefault "access plus 5 seconds"
#кэшировать флэш и изображения на месяц
ExpiresByType image/x-icon "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
#кэшировать css, javascript и текстовые файлы на одну неделю
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 604800 seconds"
ExpiresByType application/javascript "access plus 604800 seconds"
ExpiresByType application/x-javascript "access plus 604800 seconds"
#кэшировать html и htm файлы на один день
ExpiresByType text/html "access plus 43200 seconds"
#кэшировать xml файлы на десять минут
ExpiresByType application/xhtml+xml "access plus 600 seconds"
</ifModule>
Штука мощная, гл без понимания суть-прописанного может и навредить.
Можно покороче:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 5 seconds"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 month"
ExpiresByType text/css "access plus 1 week"
ExpiresByType text/javascript "access plus 1 week"
ExpiresByType application/javascript "access plus 1 week"
ExpiresByType application/x-javascript "access plus 1 week"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType video/mpeg "access plus 1 month"
ExpiresByType video/mp4 "access plus 1 month"
ExpiresByType video/quicktime "access plus 1 month"
ExpiresByType application/xhtml+xml "access plus 600 seconds"
</IfModule>
А можно и добавить:
<ifModule mod_headers.c>
<FilesMatch "\.(html|htm)$">
Header set Cache-Control "max-age=43200"
</FilesMatch>
<FilesMatch "\.(js|css|txt)$">
Header set Cache-Control "max-age=604800"
</FilesMatch>
<FilesMatch "\.(flv|swf|ico|gif|jpg|jpeg|png)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>
<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch>
</IfModule>
.htaccess штука интересная. Жаль, мало знатоков вопроса.
Причем - куда более ощутимо для пользователей, нежели настройка кэш.
Долго прописывать, просто. если уж нужно... ну, ладно.
Я провёл много экспериментов с gzip. Оч много. Не уверен уже, что это важно. Причина: Гугл практически не отметил разницы в выдаче. Я уменьшил скорость с 1.5 на 0.2 Разница в выдаче = 0 Усилий потрачено - много.
Вопрос "скорость загрузки страниц" весьма и весьма. Интересен. Как в своем прктическом применении, так и в тестах (что только - направляют мысль, но не делают тебя - рабом).
Гугл идет (имхо) правильным путём "мягкого" воспитания веб-мастеринга.
Не ответил. Черт... эт моё ноу-хау :). Не могу, пока что. Оттестирую, еще пол-годика.
Есть прием в Сети, пассивное зипование выдачи. Почитайте, любопытно.