Большая часть информации актуальна для любого сайта и любой версии Joomla, однако конкретный примеры затрагивать буду только Joomla 1.5. В данном описание не буду описывать настройку самого сервера.
Начнем с простого, зачем же нужна оптимизация сайта? Основное это:
- Уменьшение времени загрузки страницы, что актуально для посетителей сайта.
- Уменьшение потребления ресурсов сервера.
С чего начать?
Одним из наиболее важных аспектов оптимизации сайта является уменьшение числа HTTP-запросов.
80% времени отклика конечного пользователя тратится на отображение интерфейса. БОльшая часть времени связана с загрузкой всех компонентов страницы: рисунков, таблиц стилей, скриптов и т.д. Уменьшение числа компонентов, в свою очередь, ведёт к уменьшению числа HTTP-запросов, необходимых для отображения страницы. В этом и заключается ускорение.
- Один из способов уменьшить число запросов - упрощение её дизайна.
- Сжимаем все статические картинки
- Отключаем (удаляем) все ненужные модули, компоненты, плагины.
- Включаем кеширование
-
Используем CSS спрайты. К примеру, у вас на странице грузится 10 изображений и соответственно понадобится 10 запросов. Суть данной технологии заключается в том, чтобы объединить все картинки в один файл (получается всего 1 запрос ). И для дальнейшей "нарезки" изображений использовать свойства
background-image и background-position языка CSS.
-
Объедением скрипты и CSS в один файл. Перед этим лучше всего сжать (оптимизировать) наши файлы, что дает неплохую прибавку к скорости за счет итогового размера подгружаемых файлов. Я рекомендую для оптимизации CSS (Сжатие 5-10 %) On line сервис:
http://csstidyonline.com , для оптимизации javascript:
http://yui.2clics.netПробуем использовать CssJsCompress
http://extensions.joomla.org/extensions/site-management/site-performance/7350 -
Используем сеть доставки контента. Некоторые библиотеки (jquery,java и т.д.) разумнее загружать не со своего сайта (сервера), например, с Google.
(
http://code.google.com/intl/ru/apis/ajaxlibs/documentation/ ). Файлы оттуда идут уже хорошо сжатые.
-
Используем технологию gzip. Данная технология позволяет делать сжатие HTML страниц 'на лету' за счет небольшого увеличения нагрузки на сервер. Gzip-сжатие в целом снижает размер ответа примерно на 70%
-
Размещайте таблицы стилей (CSS) в заголовок (HEAD) (Подгрузка стилей) - это приводит к ускорению загрузки страниц. Дело в том, что в этом случае страница формируется последовательно т.е. отображение страницы блокируется до того, пока все таблицы стилей не будут загружены.
-
Расположение скриптов. Вот тут зачастую и происходит главная ошибка. Подгрузку внешних скриптов (javascript. jquery и т.д.) нужно размещать внизу страницы, а не в начале. В данном способе последовательное отображение блокируется до тех пор, пока не будет загружено всё содержимое ниже скрипта. Если поместить скрипты в самый низ, то бОльшая часть страницы отобразится раньше.
-
JavaScript и CSS делаем внешними. Использование отдельных файлов на практике обычно делает страницы быстрее, так как файлы JavaScript и CSS в этом случае кэшируются браузером. Когда код JavaScript и CSS встраивается непосредственно в HTML-документ, он загружается при каждом запросе этого документа. Это уменьшает количество запросов, но увеличивает размер документа; с другой стороны, если JavaScript и CSS хранятся в отдельных файлах, кэшируемых браузером, размер страницы уменьшается, не увеличивая число HTTP-запросов.
-
Ищем и удаляем дубликаты скриптов. Внимательно анализируем сайт на предмет двойной подгрузки одних и тех же скриптов.
-
Ищем с помощью FireBug загружаемые файлы с 404 ошибкой (запрос есть, а файлов нет) и удаляем/исправляем. Лишние запросы нам не нужныИ, напоследок, немного о SQL запросах. Если вы понимаете что к чему, то смотрите все запросы и по-возможности оптимизируйте их (удаляйте или переписывайте). Также рекомендую пользоваться бесплатных компонентом кеширования SQL запросов - Query cache
http://extensions.joomla.org/extensions/site-management/cache/3180 . Кеш запросов доступен в MySQL начиная с версии 4.0.
Также рекомендую пользоваться плагинами Firefox: Yslow и Google page speed для оценки производительности и оптимизации своего сайта.
Смотрим также
http://webo.in/articles/