Livestreet: Уменьшаем вес страниц

Проанализировав главную страницу сайта я узнал что весит она где то ~1,1 мегабайт что по-моему многовато =) Один только js здесь весит 360кб! Стоит отметить плюсом этого движа что в настройках можно включать объединение и сжатие css и js файлов что существенно снижает количество отдельных соединений к серверу для получения страницы. Это конечно все хорошо, но в большинстве js содержатся также объёмные комментарии, а код не минимизирован.

Итоговый js собирается из вот этого списка файлов:

*$config['head']['default']['js']  = array(
"___path.root.engine_lib___/external/jquery/jquery.js",
"___path.root.engine_lib___/external/jquery/jquery-ui.js",
"___path.root.engine_lib___/external/jquery/jquery.notifier.js",
"___path.root.engine_lib___/external/jquery/jquery.jqmodal.js",
"___path.root.engine_lib___/external/jquery/jquery.scrollto.js",
"___path.root.engine_lib___/external/jquery/jquery.rich-array.min.js",
"___path.root.engine_lib___/external/jquery/markitup/jquery.markitup.js",
"___path.root.engine_lib___/external/jquery/jquery.form.js",
"___path.root.engine_lib___/external/jquery/jquery.jqplugin.js",
"___path.root.engine_lib___/external/jquery/jquery.cookie.js",
"___path.root.engine_lib___/external/jquery/jquery.serializejson.js",
"___path.root.engine_lib___/external/prettify/prettify.js",
"___path.static.skin___/js/main.js",
"___path.static.skin___/js/favourite.js",
"___path.static.skin___/js/blocks.js",
"___path.static.skin___/js/talk.js",
"___path.static.skin___/js/vote.js",
"___path.static.skin___/js/poll.js",
"___path.static.skin___/js/comments.js",
"___path.static.skin___/js/blog.js",
"___path.static.skin___/js/friend.js",
"___path.static.skin___/js/userfeed.js",
"___path.static.skin___/js/stream.js",
"___path.static.skin___/js/photoset.js",
"___path.static.skin___/js/markup_settings.js",
);

Не многовато ли? Давайте немного облегчим движку жизнь! JQuery и JQuery-UI можно отдавать с Яндекса, а остальные скрипты можно заранее минимизировать и объединить. Итак, первые две строчки мы отсюда выпиливаем (jquery подключим в шаблоне сайта), а остальные скрипты будем объединять. Я решил не задротствовать объединяя все в один скрипт и поделил их на 3 группы по названию папки. Объединял и минимизировал скрипты при помощи YUI Compressor (http://www.refresh-sf.com/yui/).

Мой конфиг получился таков:

$config['head']['default']['js']  = array(
"___path.root.engine_lib___/external/jquery/markitup/jquery.markitup.js",
"___path.root.engine_lib___/external/jquery/js2.js",
"___path.root.engine_lib___/external/prettify/prettify.js",
"___path.static.skin___/js/js.js",
);

В header.tpl шаблона в секциидобавляем:

<script type="text/javascript" src="http://yandex.st/jquery/1.6.4/jquery.min.js"></script>
<script type="text/javascript" src="http://yandex.st/jquery-ui/1.8.16/jquery-ui.min.js"></script>

Также для ускорения работы сайта я повыпиливал кучу плагинов с сайта оставив только самые нужные. Пробовал отключить админку AceAdmin, прирост скорости появился, но при этом перестал работать поиск (AceMySearch). Так что админку тоже пришлось включить. Такие дела =)

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *