|
yuri-it
|
 |
« Ответ #30 : 06.04.2010, 22:32:49 » |
|
В студию список основных ресурсов, посвященных Joomla! Любопытно взглянуть.
тож оч.интересно.
|
|
|
|
|
Записан
|
|
|
|
|
Beer
|
 |
« Ответ #31 : 08.04.2010, 00:19:45 » |
|
Стал смотреть вес страницы - увидел mootools.js 72кб, поиском пригреб сюда - отключил -72кб,  на главной у меня нету JComments, впрочем как и на некоторых других страницах, однако jcomment.js 27кб грузится ... Так и должно быть?
|
|
|
|
|
Записан
|
|
|
|
|
yuri-it
|
 |
« Ответ #32 : 08.04.2010, 00:22:15 » |
|
Стал смотреть вес страницы - увидел mootools.js 72кб, поиском пригреб сюда - отключил -72кб,  на главной у меня нету JComments, впрочем как и на некоторых других страницах, однако jcomment.js 27кб грузится ... Так и должно быть? все ненужное отрубаем нафиг.
|
|
|
|
|
Записан
|
|
|
|
|
SmokerMan
|
 |
« Ответ #33 : 08.04.2010, 00:33:40 » |
|
Стал смотреть вес страницы - увидел mootools.js 72кб, поиском пригреб сюда - отключил -72кб,  на главной у меня нету JComments, впрочем как и на некоторых других страницах, однако jcomment.js 27кб грузится ... Так и должно быть? Да, так и должно, видимо задумано так. Могу сказать что скрипты в нем подключаются системным плагином, и условие нужно прописывать в нем, что бы они отрубались 
|
|
|
|
|
Записан
|
|
|
|
|
Beer
|
 |
« Ответ #34 : 08.04.2010, 00:37:44 » |
|
Т.е. это надо к Smartу звонить? Все же 27кб нехило лишних грузить без надобности...
|
|
|
|
|
Записан
|
|
|
|
|
yuri-it
|
 |
« Ответ #35 : 08.04.2010, 00:42:45 » |
|
Т.е. это надо к Smartу звонить? Все же 27кб нехило лишних грузить без надобности...
jcomment.js нет в стандартной сборке Joomla, сначала узнать кто грузит скрипт(если нет джекоментс), а потом уже и решать убирать или нет.
|
|
|
|
|
Записан
|
|
|
|
|
SmokerMan
|
 |
« Ответ #36 : 08.04.2010, 00:46:02 » |
|
Т.е. это надо к Smartу звонить? Все же 27кб нехило лишних грузить без надобности...
можно и позвонить  я, просто писал как-то об этом уже, поэтому и ответил здесь. http://joomlaforum.ru/index.php/topic,108248.0.html Лень самому было разбираться, а пришлось 
|
|
|
|
|
Записан
|
|
|
|
|
Beer
|
 |
« Ответ #37 : 08.04.2010, 01:56:53 » |
|
Вот это еще для админки грузится на фронт: <link rel="stylesheet" href="templates/system/css/system.css" type="text/css" /> Можно либо убить вообще, либо наверное добавить в стиль шаблона, если нету способа отключить для фронта. Так?
|
|
|
|
|
Записан
|
|
|
|
TwistedAndy
Осваиваюсь на форуме
 
Репутация: +22/-1
Offline
Сообщений: 100
|
 |
« Ответ #38 : 08.04.2010, 06:04:53 » |
|
Опять об оптимизации заговорили. Ну что ж. Изложу свои советы: 1) CSS спрайты. Заниматься ими нужно после верстки шаблона. 2) gzip-сжатие. Встроенное сжатие Joomla работает только для контента да и реализовано на PHP. Гораздо лучше, чтобы этим занимался непосредственно Apache или еще лучше nginx, который сидит перед апачем как реверс-прокси. Сжимать нужно лишь контент, CSS и JS файлы. 3) включить expires-заголовки. Это невероятно полезная штука, которая самым непосредственным образом увеличивает скорость загрузки страничек за счет того, что многие тяжелые скрипты, CSS-ки и картинки кешируются браузером и не загружаются по второму разу. Если стоит nginx как фронтенд, то прописывать нужно в настройках, если апач, то сначала нужно включить mod_expires, а потом уж добавлять в конфиг апача или в .htaccess строки <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 7 days" ExpiresByType image/gif "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType text/css "access plus 1 month" ExpiresByType text/javascript "access plus 1 week" ExpiresByType application/x-javascript "access plus 1 week" </IfModule> 4) всякие там mootols.js, caption.js и прочие отключаются довольно просто. Нужно в заголовке шаблона добавить такой код: $headerstuff = $this->getHeadData();
$scripts = $headerstuff['scripts'];
$headerstuff['scripts'] = array();
foreach($scripts as $url=>$type) { if (strpos($url, 'js/mootools.js') === false && strpos($url, 'js/caption.js') === false) { $headerstuff['scripts'][$url] = $type; } } $this->setHeadData($headerstuff); Всякие там лишние CSS файлы лучше с заголовка убрать 5) поставить наконец nginx как реверс-прокси для апача. Также нужно настроить, чтобы он отдавал картинки, CSS-ки, скрипты и прочую статику. Он же может заниматься установкой Expires-заголовков для статики и сжатием 6) почистить код шаблона. Здесь уже нужно лезть руками в код. Если нет хотя бы базовых знаний PHP, то лучше сюда не лезть. 7) включить кеширование. Если есть на сервере PHP-акселераторы вроде APC, то указать их как обработчик кеша. По-умолчанию там файлы стоят. Нагрузка на процессор падает в несколько раз. По потреблению памяти - примерно то же самое.
|
|
|
|
« Последнее редактирование: 12.11.2010, 14:23:33 от _ib_ »
|
Записан
|
|
|
|
|
yuri-it
|
 |
« Ответ #39 : 08.04.2010, 11:27:08 » |
|
В целом хорошо, но на моем 5 мбит, грузится 2-3 секунды.
|
|
|
|
|
Записан
|
|
|
|
|
Beer
|
 |
« Ответ #40 : 08.04.2010, 11:27:47 » |
|
Страничка 191кб, у меня - 154кб, но выводит дольше 
|
|
|
|
|
Записан
|
|
|
|
TwistedAndy
Осваиваюсь на форуме
 
Репутация: +22/-1
Offline
Сообщений: 100
|
 |
« Ответ #41 : 08.04.2010, 13:28:05 » |
|
В целом хорошо, но на моем 5 мбит, грузится 2-3 секунды.
А что там так долго грузится? Можно скриншот с вкладки сеть FireBug'а?
|
|
|
|
|
Записан
|
|
|
|
|
ChaosHead
|
 |
« Ответ #42 : 08.04.2010, 18:20:14 » |
|
Может ли быть такое, что из-за ExpiresByType text/javascript "access plus 1 week" неправильно стали учитываться показы Google Ad seanse? Они там тоже text/javascript. Я так понимаю эти баннеры не должны кешироваться?
|
|
|
|
|
Записан
|
|
|
|
Freeman82
Осваиваюсь на форуме
 
Репутация: +6/-0
Offline
Сообщений: 48
|
 |
« Ответ #43 : 26.04.2010, 22:25:50 » |
|
Привет! Очень нужна помощь по оптимизации загрузки сайта. Сейчас результаты следующие  Не могли бы вы подробней рассказать как оптимизировать java и СSS image.
|
|
|
|
|
Записан
|
|
|
|
|
Beer
|
 |
« Ответ #44 : 27.04.2010, 01:08:35 » |
|
Тебе сюда: http://webo.in/articles/habrahabr/02-delay-loading-stylesheets/
Мотулс пришлось включить, т.к. отдельно его не могу отрубить - у меня шаблон сейрета плывет. Причем нужен не мотулс, а только второй скрипт: <script type="text/javascript" src="/media/system/js/caption.js"></script> Как оставить грузиться только его?
|
|
|
|
|
Записан
|
|
|
|
|
jem777
|
 |
« Ответ #45 : 27.04.2010, 02:30:29 » |
|
<?php $user =& JFactory::getUser(); if ($user->get('guest') == 1) { $headerstuff = $this->getHeadData(); $key1 = JURI::base(true). '/media/system/js/mootools.js'; $key2 = JURI::base(true). '/media/system/js/caption.js'; unset($headerstuff['scripts'][$key1], $headerstuff['scripts'][$key2]); $this->setHeadData($headerstuff); } ?> Здесь можно закомментировать нужный скрипт. В вашем случае строку: $key2 = JURI::base(true). '/media/system/js/caption.js'; Код вставить в файл index.php шаблона сайта, где нибудь в начале.
|
|
|
|
« Последнее редактирование: 27.04.2010, 02:33:58 от jem777 »
|
Записан
|
|
|
|
|
Beer
|
 |
« Ответ #46 : 27.04.2010, 02:43:28 » |
|
Так: <?php $user =& JFactory::getUser(); if ($user->get('guest') == 1) { $headerstuff = $this->getHeadData(); $key1 = JURI::base(true). '/media/system/js/mootools.js'; //$key2 = JURI::base(true). '/media/system/js/caption.js'; unset($headerstuff['scripts'][$key1], $headerstuff['scripts'][$key2]); $this->setHeadData($headerstuff); } ?> В результате: <script type="text/javascript" src="/media/system/js/mootools.js"></script> <script type="text/javascript" src="/media/system/js/caption.js"></script> Т.е. - нифига нету результата. 
|
|
|
|
|
Записан
|
|
|
|
|
jem777
|
 |
« Ответ #47 : 27.04.2010, 10:07:53 » |
|
вставлять в самое начала файла index.php вашего шаблона т.е. до кода вывода Head. И этот хак для гостей а не для юзеров. Можете попытаться изменить его, чтобы он действовал и на юзеров и на гостей. Там же есть строка 'guest'. Сейчас под рукой сайта нет, чтобы проверить.
|
|
|
|
|
Записан
|
|
|
|
|
Beer
|
 |
« Ответ #48 : 27.04.2010, 11:34:42 » |
|
Работает. Спасиб. Надо было до <head> код ставить. Отрубает мотулз, но шаблон Сейрет тогда глючит .
|
|
|
|
|
Записан
|
|
|
|
|
jem777
|
 |
« Ответ #49 : 27.04.2010, 12:16:28 » |
|
Многие шаблоны и компоненты, а также модули используют mootools. Так что избавиться от него полностью не совсем удается. Лучше сжать средствами сервера. Или с помощью специальных компонентов и плагинов, осуществляющих сжатие Java-скриптов и CSS. Их сейчас кажется немало. Можете попробовать вставить в конце .htaccess эти строки и посмотреть - реализует ли ваш сервер сжатие: <FilesMatch ".(js|css)$"> SetOutputFilter DEFLATE </FilesMatch> Суммарный обьем страницы может сильно уменьшится при этом - что хорошо. Если нет - то можно это проделать с помощью специальных компонентов или плагинов.
|
|
|
|
« Последнее редактирование: 27.04.2010, 12:21:50 от jem777 »
|
Записан
|
|
|
|
|
Beer
|
 |
« Ответ #50 : 27.04.2010, 12:33:49 » |
|
Я его уже оптимизировал - 72кб он стал, Highslade сжал и урезал до 7кб, все равно много. там описана метода:
Если что-то осталось неясным после прочтения последнего раздела, то алгоритм действий должен быть следующим (большое спасибо godfather за помощь в формулировке): Добавляем описанные выше инструкции в конфигурационный файл Apache или .htaccess Пакуем файлы (с помощью 7-zip или gzip) и кладем на место обычных (расширение у файлов должно остаться прежним, .css или .js). Например, вы берете файл anyname.css, пакуете его 7-zip, у вас получается файл anyname.css.gz, переименовываем его обратно в anyname.css и заливаем на сервер. Для gzip все немного проще:01 02 03 gzip -c -9 -n anyname.css > anyname.css.gz mv anyname.css anyname.nogzip.css mv anyname.css.gz anyname.css 01 02 03 gzip -c -9 -n anyname.css > anyname.css.gz mv anyname.css anyname.nogzip.css mv anyname.css.gz anyname.css Рядом с пожатыми файлами кладутся файлы с расширением nogzip.css или nogzip.js, которые содержат неархивированные копии. Например, после заливки сжатого файла anyname.css, вы создаете на сервере еще один файл anyname.nogzip.css, который является копией несжатого файла. Для gzip это копирование уже производится чуть выше второй строкой в листинге.
|
|
|
|
|
Записан
|
|
|
|
via82
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Пол: 
Сообщений: 49
|
 |
« Ответ #51 : 13.05.2010, 14:43:01 » |
|
Опять об оптимизации заговорили. Ну что ж. Изложу свои советы:
2) gzip-сжатие. Встроенное сжатие Joomla работает только для контента да и реализовано на PHP. Гораздо лучше, чтобы этим занимался непосредственно Apache или еще лучше nginx, который сидит перед апачем как реверс-прокси. Сжимать нужно лишь контент, CSS и JS файлы. Подскажите как реализовать gzip-сжатие по мимо встроенного сжатия Joomla.
|
|
|
|
|
Записан
|
|
|
|
|
jem777
|
 |
« Ответ #52 : 13.05.2010, 15:18:11 » |
|
Выше есть код. Попробуйте вставить в .htaccess
|
|
|
|
|
Записан
|
|
|
|
via82
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Пол: 
Сообщений: 49
|
 |
« Ответ #53 : 14.05.2010, 10:33:49 » |
|
Выше есть код. Попробуйте вставить в .htaccess
Если Вы имеете в виду этот <FilesMatch ".(js|css)$"> SetOutputFilter DEFLATE </FilesMatch> то уже пробовал. Сервер выдает ошибку с кодом 500
|
|
|
|
|
Записан
|
|
|
|
|
jem777
|
 |
« Ответ #54 : 14.05.2010, 12:24:19 » |
|
Значит скорее всего этот модуль у вас отключен. Хотя если он отключен - то обычно не бывает никаких изменеий. Попробуйте создать пустой файл .htaccess (именно так, точка в начале имени файла и сам файл без расширения) и вписать в него эти строки. Или в PHPInfo в админке проверьте apache2handler - Loaded Modules - должна быть строка mod_deflate. Если его там нет - то значит на вашем сервере он не загружен. Тогда можно сжимать только при помощи плагинов типа CssJsCompress.
|
|
|
|
« Последнее редактирование: 14.05.2010, 12:32:46 от jem777 »
|
Записан
|
|
|
|
via82
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Пол: 
Сообщений: 49
|
 |
« Ответ #55 : 17.05.2010, 06:46:34 » |
|
Попробуйте создать пустой файл .htaccess (именно так, точка в начале имени файла и сам файл без расширения) и вписать в него эти строки. Файл уже есть. Я же писал в предыдущем посте что пробовал <FilesMatch ".(js|css)$"> SetOutputFilter DEFLATE </FilesMatch> PHPInfo в админке проверьте apache2handler - Loaded Modules - должна быть строка mod_deflate Нашел Stream Filter support - zlib.inflate, zlib.deflate
|
|
|
|
|
Записан
|
|
|
|
|
jem777
|
 |
« Ответ #56 : 17.05.2010, 07:54:48 » |
|
Ну тогда проверьте в Firefox+YSlow есть сжатие или нет?
|
|
|
|
|
Записан
|
|
|
|
via82
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Пол: 
Сообщений: 49
|
 |
« Ответ #57 : 17.05.2010, 08:26:02 » |
|
в Firefox+YSlow пишет Grade F on Compress components with gzip
|
|
|
|
|
Записан
|
|
|
|
|
jem777
|
 |
« Ответ #58 : 17.05.2010, 08:33:03 » |
|
В YSlow проверьте в графе Components и далее Expand All - если в столбце GZIP(KB) показываются сжатые файлы - значит все нормально сжимается. Если нет - значит сервер не поддерживает сжатие.
|
|
|
|
|
Записан
|
|
|
|
via82
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Пол: 
Сообщений: 49
|
 |
« Ответ #59 : 17.05.2010, 09:13:16 » |
|
проверил значение в колонке gzip стоит только напротив doc для остальных пусто
получается gzip работает. тогда как заставить обрабатывать css и js?
|
|
|
|
|
Записан
|
|
|
|
|