Если вы используете Apache, я бы начал здесь.
Сжатие и кэширование - это разные вещи.
Для сжатия отлично подходят PHP Minify или YUI Compressor. Если все остальное терпит неудачу, TextMate имеет хороший Javascript Tools Bundle, который позволяет вам сжимать ваш код. Вы можете вручную сжать код, затем загрузить его и отменить сжатие, чтобы вернуть исходный код в читаемое состояние. Я не рекомендую этого, но я делал это раньше.
Для кэширования прочитайте сайт 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, он сообщит, работает ли кэширование.