Несколько способов ускорить работу сайта на Joomla.
Отключить mootools на публичной части
Экономия ~300 kb траффика.
http://www.inmotionhosting.com/support/edu/joomla-25/302-disable-mootools-in-joomla-25
libraries/joomla/document/html/renderer/head.php
Находим такой кусок кода:
и вставляем в начале цикла
Получилось так:
Из очевидных недостатков этой оптимизации - не работают модули, использующие mootools.
Оптимизировать код страницы
Сжать и объединить CSS, JS, очистить HTML от пробелов и переносов строк.
Я протестировал два плагина для этих целей: jfinalizer и RokBooster, оба позволяют делать различную оптимизацию в зависимости от настроек, например сжатие и объединение, кеширование js и css.
После применения этих плагинов код становится примерно таким.
Использование CDN
Да-да, для Joomla даже такое придумали.
1. CDN для Joomla – NoNumber
Это одно с главных расширений для Joomla, которое было разработано NoNumber. Оно гарантирует легкую стыковку с рядом CDN провайдеров, в том числе Amazon CloudFront, CloudCache, CDNetworks, CacheFly и др. Вы сможете выбрать профессиональную или бесплатную версию с одинаково качественным клиентским обслуживанием.
Создание сайта на Joomla
2. jomCDN – corePHP
Этот платное расширение компилирует ресурсы автоматически и потом синхронизирует их с серверами Amazon. Оптимизация изображений является автоматической. Изображения оптимизируются к меньшему размеру без существенного понижения в качестве. Функция кэширования в браузере означает, что Ваши ресурсы будут помещены в кэш сразу же при просмотре сайта. С этого следует, что в следующий раз страница будет загружаться моментально.
CDN Joomla
3. JA Amazon S3 компонент - JoomlArt
Используя это расширение, Вы можете выгружать свою папку в Amazon S3 (Amazon Simple Storage Service). Как только Вы выгрузили свою папку, адрес к файлам обновляется расширением. Amazon S3 тогда посылает запрос файлам, а не папкам. В результате время загрузки для посетителей, как и нагрузка на сервер – снижается.
Оптимизация .htaccess
ETag - указывает браузеру использовать изображения из локального кэша браузера, вместо сервера.
Expires Headers - позволяет устанавливать различные сроки кеширования для различных типов файлов
AddOutputFilterByType DEFLATE - Минимизировать исходный код ваших составленных HTML файлов, удаление пробелов.
########## Begin - ETag Optimization
## This rule will create an ETag for files based only on the modification
## timestamp and their size.
## Note: It may cause problems on your server and you may need to remove it
FileETag MTime Size
# AddOutputFilterByType is now deprecated by Apache. Use mod_filter in the future.
AddOutputFilterByType DEFLATE text/plain text/html text/xml text/css application/xml application/xhtml+xml application/rss+xml application/javascript application/x-javascript
# Enable expiration control
ExpiresActive On
# Default expiration: 1 hour after request
ExpiresDefault "now plus 1 hour"
# CSS and JS expiration: 1 week after request
ExpiresByType text/css "now plus 1 week"
ExpiresByType application/javascript "now plus 1 week"
ExpiresByType application/x-javascript "now plus 1 week"
# Image files expiration: 1 month after request
ExpiresByType image/bmp "now plus 1 month"
ExpiresByType image/gif "now plus 1 month"
ExpiresByType image/jpeg "now plus 1 month"
ExpiresByType image/jp2 "now plus 1 month"
ExpiresByType image/pipeg "now plus 1 month"
ExpiresByType image/png "now plus 1 month"
ExpiresByType image/svg+xml "now plus 1 month"
ExpiresByType image/tiff "now plus 1 month"
ExpiresByType image/vnd.microsoft.icon "now plus 1 month"
ExpiresByType image/x-icon "now plus 1 month"
ExpiresByType image/ico "now plus 1 month"
ExpiresByType image/icon "now plus 1 month"
ExpiresByType text/ico "now plus 1 month"
ExpiresByType application/ico "now plus 1 month"
ExpiresByType image/vnd.wap.wbmp "now plus 1 month"
ExpiresByType application/vnd.wap.wbxml "now plus 1 month"
ExpiresByType application/smil "now plus 1 month"
# Audio files expiration: 1 month after request
ExpiresByType audio/basic "now plus 1 month"
ExpiresByType audio/mid "now plus 1 month"
ExpiresByType audio/midi "now plus 1 month"
ExpiresByType audio/mpeg "now plus 1 month"
ExpiresByType audio/x-aiff "now plus 1 month"
ExpiresByType audio/x-mpegurl "now plus 1 month"
ExpiresByType audio/x-pn-realaudio "now plus 1 month"
ExpiresByType audio/x-wav "now plus 1 month"
# Movie files expiration: 1 month after request
ExpiresByType application/x-shockwave-flash "now plus 1 month"
ExpiresByType x-world/x-vrml "now plus 1 month"
ExpiresByType video/x-msvideo "now plus 1 month"
ExpiresByType video/mpeg "now plus 1 month"
ExpiresByType video/mp4 "now plus 1 month"
ExpiresByType video/quicktime "now plus 1 month"
ExpiresByType video/x-la-asf "now plus 1 month"
ExpiresByType video/x-ms-asf "now plus 1 month"
Включить кеширование Joomla
Статья для размышления
http://www.joomlart.com/tutorials/joomla-tutorials/10-tips-to-improve-joomla-site-performance