Оптимизация Joomla - как снизить нагрузку

Думаю не открою вам большой тайны, говоря что Joomla достаточно ресурсоёмкая CMS. Но так как она универсальная ей это просительно. Однако пользователи частенько забывают, о том, что с этим можно и нужно бороться. Типа поставил сайтег и радуйся себе. А пользователи тем временем обламываются из-за страшных тормозов. В этой статье как раз и будут описаны приемы, как сделать чтоб ваш сайт Joomla грузился за пару секунд. И это не фантастика, а суровая реальность.

Итак мы имеем сайт уже сделанный и функционирующий. Что в первую очередь тварим? Ответ уменьшаем количество HTTP-запросов. Открываю секрет 80% времени отклика конечного пользователя тратится на отображение интерфейса. Большая часть времени связана с загрузкой всех компонентов страницы: рисунков, таблиц стилей, скриптов и т.д. Уменьшение числа компонентов, в свою очередь, ведёт к уменьшению числа HTTP-запросов, необходимых для отображения страницы. В этом и заключается ускорение. Так с теорией разобрались... Приступаем к конкретным действиям. Используем CSS спрайты. К примеру, у вас на странице грузится 10 изображений и соответственно понадобится 10 запросов. Суть данной технологии заключается в том, чтобы объединить все картинки в один файл (получается всего 1 запрос ). И для дальнейшей "нарезки" изображений использовать свойства background-image и background-position языка CSS. Кто ничего не понял открываем учебник по CSS. Объедением скрипты и CSS в один файл. Для этого я на своих сайтах использую плагин CssJsCompress. Если кого то интересует ручное сжатие то пользуемся поиском и ищем их. Сжимаем JS. Собственно используется тот же плагин CssJsCompress. Но есть и другие способы допустим закачка сжатых библиотек с гугла. Gzip-сжатие. Полезная штука, во первых все, что есть в коде перекладываем на клиентскую машину, а во вторых передавать 5-7 кб это не 50-60 кб. Тут надо добавить, что лучше сжимать средставми Апача. Нежели Joomla. Включить 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>

 

Если у вас очень динамические и нужные JS скрипты используются, то лучше все про них строчки убрать. Расположение подгружаемых файлов. Простое правило CSS грузится вверху (в HEAD), а JS чем ниже тем лучше. Секрет прост. Библиотеки достаточно большие. Загружая их в последнюю очередь мы визуально убыстряем отображение страницы. Для тестирования производительности сайта рекомендую использовать Yslow для FF, кстати он не работает Firebug. Удачи :-) в будущем постараюсь написать про оптимизации запросов и бекенда.

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

Защитный код

Комментарии

Polosat
+1

Polosat

Специально залез на твой бложек что бы попросить написать статью про оптимизацию Жумлы, а тут бац и вот она! Мысли материализуются ))