Компрессия: можно ли сжимать css и скрипты

#
Компрессия: можно ли сжимать css и скрипты
Здравствуйте.

Версия "Малый бизнес", модуль "компрессия" включен.
После анализа одной из страниц сайта с помощью http://www.websiteoptimization.com/services/analyze/ получен результат:
http://****.ru/hostcmsfiles/main.js - Up to 13036 bytes could have been saved through compression
http://****.ru/templates/template39/style.css - Up to 12075 bytes could have been saved through compression.
*****.ru/shoptest ... p_627/item_4088/item_4518 - Congratulations! This file was compressed.

Т.е., если я правильно поняла, HTML сжался, а css и скрипты нет. Можно ли с помощью модуля компрессии сжимать css и скрипты? Что надо для этого сделать?
#
Re: Компрессия: можно ли сжимать css и скрипты
bie, вы совершенно правильно заметили! - Модуль компрессии сжимает только саму html-страницу, которую генерирует CMS.
Для сжатия css и js он бесполезен.

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

Что же может вам слегка помочь? Apache!
Если у вас на хостинге установлен Apache версии 2 (на версии 1.3 ни разу не довелось проверить), и включены модули mod_filter и mod_deflate, то вы можете добавить в .htaccess в корневой папке системы следующий код:

<IfModule mod_filter.c>
   <IfModule mod_deflate.c>
      FilterDeclare gzip CONTENT_SET
      FilterProvider gzip deflate resp=Content-Type $text/
      FilterProvider gzip deflate resp=Content-Type $javascript
      FilterProvider gzip inflate req=Accept-Encoding !$gzip
      FilterChain gzip
   </IfModule>
</IfModule>

Таким образом, ваш Apache будет "на лету" сжимать в zgip все файлы с mime-типами, начинающимися на "text/" или содержащими в типе строку "javascript/", если в запросе от браузера пришло сообщение о том, что он поддерживает gz-сжатие.
Это, безусловно, несколько увеличит нагрузку на сервер, поэтому в дополнение рекомендуется еще и настроить модуль mod_expires, добавив в тот же .htaccess еще вот такой код:
<IfModule mod_expires.c>
   ExpiresActive on
   ExpiresDefault "access plus 1 hours"
   ExpiresByType text/html "access 1 hours"
   ExpiresByType text/css "access plus 5 days"
   ExpiresByType application/x-javascript "access plus 5 days"
   ExpiresByType application/javascript "access plus 5 days"
   ExpiresByType image/gif "access plus 5 days"
   ExpiresByType image/jpeg "access plus 5 days"
   ExpiresByType image/png "access plus 5 days"
   ExpiresByType application/x-shockwave-flash "access plus 10 days"
</IfModule>

(Это рабочий пример с одного из моих сайтов, для вашего проекта вы можете подставить другие значение expires)

Все описанно выше очень красиво, но есть и минусы:
1. Все это не заработает, если у вас на хостинге не включены модули mod_filter и mod_deflate. Хостеры, к сожалению, не очень-то любят их включать, из-за дополнительной нагрузки на сервер. Хотя mod_expires, как правило включен много где.
2. Данный способ не производит ни слияния файлов скриптов в один и файлов стилей в еще один, ни их минимизацию. То есть не позволяет ни сократить число http-запросов, ни увеличить дополнительно степень сжатия.

Надеюсь что у меня все-таки рано или поздно дойдут руки до написания модуля на эту тему...
Заказов не беру. Консультирую редко.
#
Re: Компрессия: можно ли сжимать css и скрипты
Kotoff,
спасибо за дельный совет. Только, как Вы и предположили, у моего хостера подключен только mod_expires (Apache версии 1.3).
Добавила в .htaccess инструкции, указанные Вами, для mod_expires. Только при повторной загрузке страниц сайта Page Speed и YSlow пишут, что "expiration not specified" (и для картинок, и для .js, как будто этих инструкций нет). Попробую обратиться к хостеру, - может, что посоветует.

P.S. Я думаю, что модуль, о котором Вы говорили, будет востребован. Будет замечательно, если Вы или разработчики HostCMS его напишут.
#
Re: Компрессия: можно ли сжимать css и скрипты
k-mo.ru, я выложил новый рецепт для сжатия стилей и скриптов: http://www.hostcms.ru/forums/22/5570/
Заказов не беру. Консультирую редко.
Авторизация