LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
25.05.2012, 18:18:16 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: 1 [2] 3 4 5 6 7 8   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Оптимизация Joomla мой FAQ  (Прочитано 47977 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
yuri-it
Живу я здесь
******

Репутация: +33/-3
Offline Offline

Сообщений: 1089


« Ответ #30 : 06.04.2010, 22:32:49 »

В студию список основных ресурсов, посвященных Joomla! Любопытно взглянуть.
тож оч.интересно.
Записан
Beer
Живу я здесь
******

Репутация: +37/-1
Offline Offline

Сообщений: 909


БИРУ - БИР!


« Ответ #31 : 08.04.2010, 00:19:45 »

Стал смотреть вес страницы - увидел mootools.js 72кб, поиском пригреб сюда - отключил -72кб, Roll Eyes на главной у меня нету JComments, впрочем как и на некоторых других страницах, однако jcomment.js 27кб грузится ...
Так и должно быть?
Записан
yuri-it
Живу я здесь
******

Репутация: +33/-3
Offline Offline

Сообщений: 1089


« Ответ #32 : 08.04.2010, 00:22:15 »

Стал смотреть вес страницы - увидел mootools.js 72кб, поиском пригреб сюда - отключил -72кб, Roll Eyes на главной у меня нету JComments, впрочем как и на некоторых других страницах, однако jcomment.js 27кб грузится ...
Так и должно быть?
все ненужное отрубаем нафиг.
Записан
SmokerMan
Профи
********

Репутация: +520/-20
Offline Offline

Пол: Мужской
Сообщений: 5195



« Ответ #33 : 08.04.2010, 00:33:40 »

Стал смотреть вес страницы - увидел mootools.js 72кб, поиском пригреб сюда - отключил -72кб, Roll Eyes на главной у меня нету JComments, впрочем как и на некоторых других страницах, однако jcomment.js 27кб грузится ...
Так и должно быть?
Да, так и должно, видимо задумано так.
Могу сказать что скрипты в нем подключаются системным плагином, и условие нужно прописывать в нем, что бы они отрубались Wink
Записан
Beer
Живу я здесь
******

Репутация: +37/-1
Offline Offline

Сообщений: 909


БИРУ - БИР!


« Ответ #34 : 08.04.2010, 00:37:44 »

 Т.е. это надо к Smartу звонить? Все же 27кб нехило лишних грузить без надобности...
Записан
yuri-it
Живу я здесь
******

Репутация: +33/-3
Offline Offline

Сообщений: 1089


« Ответ #35 : 08.04.2010, 00:42:45 »

Т.е. это надо к Smartу звонить? Все же 27кб нехило лишних грузить без надобности...
jcomment.js нет в стандартной сборке Joomla, сначала узнать кто грузит скрипт(если нет джекоментс), а потом уже и решать убирать или нет.
Записан
SmokerMan
Профи
********

Репутация: +520/-20
Offline Offline

Пол: Мужской
Сообщений: 5195



« Ответ #36 : 08.04.2010, 00:46:02 »

Т.е. это надо к Smartу звонить? Все же 27кб нехило лишних грузить без надобности...
можно и позвонить Azn
я, просто писал как-то об этом уже, поэтому и ответил здесь.
http://joomlaforum.ru/index.php/topic,108248.0.html
Лень самому было разбираться, а пришлось Azn
Записан
Beer
Живу я здесь
******

Репутация: +37/-1
Offline Offline

Сообщений: 909


БИРУ - БИР!


« Ответ #37 : 08.04.2010, 01:56:53 »

Вот это еще для админки грузится на фронт:
<link rel="stylesheet" href="templates/system/css/system.css" type="text/css" />
Можно либо убить вообще, либо наверное добавить в стиль шаблона, если нету способа отключить для фронта. Так?
Записан
TwistedAndy
Осваиваюсь на форуме
***

Репутация: +22/-1
Offline 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
Живу я здесь
******

Репутация: +33/-3
Offline Offline

Сообщений: 1089


« Ответ #39 : 08.04.2010, 11:27:08 »

Что это все примерно может дать смотрите на примере данного сайта: Все для ноутбуков
В целом хорошо, но на моем 5 мбит, грузится 2-3 секунды.
Записан
Beer
Живу я здесь
******

Репутация: +37/-1
Offline Offline

Сообщений: 909


БИРУ - БИР!


« Ответ #40 : 08.04.2010, 11:27:47 »

Страничка 191кб, у меня - 154кб, но выводит дольше  Sad
Записан
TwistedAndy
Осваиваюсь на форуме
***

Репутация: +22/-1
Offline Offline

Сообщений: 100


« Ответ #41 : 08.04.2010, 13:28:05 »

В целом хорошо, но на моем 5 мбит, грузится 2-3 секунды.
А что там так долго грузится? Можно скриншот с вкладки сеть FireBug'а?
Записан
ChaosHead
Практически профи
*******

Репутация: +182/-2
Online Online

Сообщений: 2138



« Ответ #42 : 08.04.2010, 18:20:14 »

Может ли быть такое, что из-за
Код:
ExpiresByType text/javascript "access plus 1 week"
неправильно стали учитываться показы Google Ad seanse? Они там тоже text/javascript.
Я так понимаю эти баннеры не должны кешироваться?
Записан
Freeman82
Осваиваюсь на форуме
***

Репутация: +6/-0
Offline Offline

Сообщений: 48



« Ответ #43 : 26.04.2010, 22:25:50 »

Привет!
Очень нужна помощь по оптимизации загрузки сайта.
Сейчас результаты следующие

Не могли бы вы подробней рассказать как оптимизировать java и СSS image.
Записан
Beer
Живу я здесь
******

Репутация: +37/-1
Offline Offline

Сообщений: 909


БИРУ - БИР!


« Ответ #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
Практически профи
*******

Репутация: +112/-2
Online Online

Сообщений: 1765



« Ответ #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
Живу я здесь
******

Репутация: +37/-1
Offline Offline

Сообщений: 909


БИРУ - БИР!


« Ответ #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>
Т.е. - нифига нету результата.  Sad
Записан
jem777
Практически профи
*******

Репутация: +112/-2
Online Online

Сообщений: 1765



« Ответ #47 : 27.04.2010, 10:07:53 »

Цитировать
вставлять в самое начала файла index.php вашего шаблона

т.е. до кода вывода Head.
И этот хак для гостей а не для юзеров. Можете попытаться изменить его, чтобы он действовал и на юзеров и на гостей. Там же есть строка 'guest'. Сейчас под рукой сайта нет, чтобы проверить.
Записан
Beer
Живу я здесь
******

Репутация: +37/-1
Offline Offline

Сообщений: 909


БИРУ - БИР!


« Ответ #48 : 27.04.2010, 11:34:42 »

Работает. Спасиб.
Надо было до <head> код ставить. Отрубает мотулз, но шаблон Сейрет тогда глючит .
Записан
jem777
Практически профи
*******

Репутация: +112/-2
Online Online

Сообщений: 1765



« Ответ #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
Живу я здесь
******

Репутация: +37/-1
Offline Offline

Сообщений: 909


БИРУ - БИР!


« Ответ #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 Offline

Пол: Мужской
Сообщений: 49


« Ответ #51 : 13.05.2010, 14:43:01 »

Опять об оптимизации заговорили. Ну что ж. Изложу свои советы:

2) gzip-сжатие. Встроенное сжатие Joomla работает только для контента да и реализовано на PHP. Гораздо лучше, чтобы этим занимался непосредственно Apache или еще лучше nginx, который сидит перед апачем как реверс-прокси. Сжимать нужно лишь контент, CSS и JS файлы.

Подскажите как реализовать gzip-сжатие по мимо встроенного сжатия Joomla.
Записан
jem777
Практически профи
*******

Репутация: +112/-2
Online Online

Сообщений: 1765



« Ответ #52 : 13.05.2010, 15:18:11 »

Выше есть код. Попробуйте вставить в .htaccess
Записан
via82
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 49


« Ответ #53 : 14.05.2010, 10:33:49 »

Выше есть код. Попробуйте вставить в .htaccess
Если Вы имеете в виду этот
Код:
<FilesMatch ".(js|css)$">
SetOutputFilter DEFLATE
</FilesMatch>
то уже пробовал.

Сервер выдает ошибку с кодом 500
Записан
jem777
Практически профи
*******

Репутация: +112/-2
Online Online

Сообщений: 1765



« Ответ #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 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
Практически профи
*******

Репутация: +112/-2
Online Online

Сообщений: 1765



« Ответ #56 : 17.05.2010, 07:54:48 »

Ну тогда проверьте в Firefox+YSlow есть сжатие или нет?
Записан
via82
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 49


« Ответ #57 : 17.05.2010, 08:26:02 »

в Firefox+YSlow
пишет
Grade F on Compress components with gzip
Записан
jem777
Практически профи
*******

Репутация: +112/-2
Online Online

Сообщений: 1765



« Ответ #58 : 17.05.2010, 08:33:03 »

В YSlow проверьте в графе Components и далее Expand All - если в столбце GZIP(KB) показываются сжатые файлы - значит все нормально сжимается. Если нет - значит сервер не поддерживает сжатие.
Записан
via82
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 49


« Ответ #59 : 17.05.2010, 09:13:16 »

проверил
значение в колонке gzip стоит только напротив doc
для остальных пусто

получается gzip работает.
тогда как заставить обрабатывать css  и js?
Записан
Страниц: 1 [2] 3 4 5 6 7 8   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet