Под минимизацией google подразумевает удаление лишних пробелов (так же \t \n ι \r) которые собственно нужны для удобного чтения человеку (разработчика), а не браузеру для их компиляции.
Есть некоторое количество программ которые делают это автоматически (придерживаясь неких правил, например не убирают пробелы в кавычках), я лично использую jsmin и csstidy для javascript и stylesheet аналогично.
Согласен что делать это вручную не очень удобно. Так же при каждом запросе пропускать через jsmin и csstidy тоже не очень мудро, пустая трата ресурсов.
Я решил аналогичную проблему с помощью такой логики: запрос всегда делается на минимизированную версию архива, в случае если это архив отсутствует, запрос передаётся php скрипту, которые выполняет системные команды jsmin или csstidy, сохраняет минимизированную версию архива и отдаёт её серверу. Таким образом при следующем запросе будет читаться минимизированная (кешированная) версия архива. Так что при изменение исходника достаточно просто удалить кешированный архив.
Примерно так выглядит для javasrcipt
location ~* ^/(js/([^\-/]*\.js))$ {
try_files $uri /build.php?fullname=$1&filename=$2;
}
исходные архивы находятся в корневой папке, а минимизированные с тем же именем но в подпапке js/
директива try_files проверяет на наличие минимизированного архива в случае его отсутствия передаёт запрос build.php с именем минимизированного архива (куда надо будет сохранить) -fullname и именем исходного архива -filename
С уважением,
Хусаинов Искандер