Ответ 1
Если вы используете Apache, я бы начал здесь.
- http://www.askapache.com/htaccess/htaccess.html
- http://www.askapache.com/htaccess/speed-up-your-site-with-caching-and-cache-control.html#caching-with-mod_expires
Сжатие и кеширование - это разные вещи.
Для сжатия, PHP Minify или YUI Compressor отличные. Если все остальное не удается, TextMate имеет хороший набор инструментов Javascript Tools, который позволяет сжать ваш код. Вы можете вручную сжать свой код, затем загрузить его и отменить сжатие, чтобы вернуть источник в читаемое состояние. Я не рекомендую это, но я сделал это раньше.
Для кэширования прочитайте сайт askapache.com. Существует несколько простых способов включить mod_expires, mod_compress и другие модули. Поскольку вы находитесь на общедоступном хостинге, вот оговорки, потому что хост может отключить некоторые модули Apache. Я использовал GoDaddy, и они отключили mod_expires. Для конкретной информации о модулях Apache обратитесь к документации поддержки хостов.
Если вам повезет, важные из них включены, и вы можете:
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \
\.(?:gif|jpe?g|png)$ no-gzip dont-vary
</IfModule>
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType image/jpg "access 2 month"
ExpiresByType image/gif "access 2 month"
ExpiresByType image/jpeg "access 2 month"
ExpiresByType image/png "access 2 month"
ExpiresByType text/css "access 2 month"
ExpiresByType application/x-javascript "access plus 2 month"
ExpiresByType text/javascript "access plus 2 month"
ExpiresByType application/javascript "access plus 2 month"
ExpiresByType image/x-icon "access plus 12 month"
ExpiresByType image/icon "access plus 12 month"
ExpiresByType application/x-ico "access plus 12 month"
ExpiresByType application/ico "access plus 12 month"
</IfModule>`
Поместите этот код в ваш .htaccess файл, откройте FireFox, затем Firebug, затем YSlow. Запустите тест YSlow, он даст вам знать, работает ли кеширование.