The following plugins can boost your joomla site's performance greatly.
-
Plugin Google Ajax Library can host Mootools(70K),Prototype,JQuery,YUI libraries, which can save bandwidth and speed up your site's response.
Tips:This plugin is suitable for all joomla site.
-
Plugin CssJsCompress can automatically optimize external resources like CSS and JavaScript, which can reduce both the size and number of requests made to your website. These optimizations may reduce server load, bandwidth requirements, and page loading times.
Tips:This plugin is suitable for most joomla site.
-
Plugin Phil Taylor's SPEED UP your Joomla Admin Console can use Google Gears to speed up your Joomla administration.
Tips:This plugin can only speed up your administration, can't speed up your front side.
-
Plugin Content Static can convert your joomla site into html static files, which saves the need for costly SQL resources to load pages from a database.
Tips:This plugin can boost your site mostly, however it doesn't work with vote,reviews etc.
If you use all of the plugins, please notice the order of them. They should have the following orders: Google Ajax Library < CssJsCompress < Phil Taylor's SPEED UP your Joomla Admin Console < Content Static(From low to high).
Here are some tips to improve your site's YSlow grade:
- Turn off Etag.
Just add the following code to your .htaccess file:
FileETag None
- Add an Expires header to your web component.
To add an expires header to images, stylesheets, scripts, Flash, just add the following code to your .htaccess file:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault A600
ExpiresByType image/x-icon A2592000
ExpiresByType application/x-javascript A604800
ExpiresByType text/css A604800
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType text/plain A86400
ExpiresByType application/x-shockwave-flash A2592000
ExpiresByType video/x-flv A2592000
ExpiresByType application/pdf A2592000
ExpiresByType text/html A600
</IfModule>
# The following list can help you to convert common time intervals into seconds:
# 300 = 5 minutes
# 2700 = 45 minutes
# 3600 = 1 hour
# 54000 = 15 hours
# 86400 = 1 day
# 518400 = 6 days
# 604800 = 1 week
# 1814400 = 3 weeks
# 2419200 = 1 month
# 26611200 = 11 months
# 29030400 = 1 year = never expires
This need apache has installed mod_expires.
- Make fewer HTTP requests
You can use Joomla Plugin: CssJsCompress to aggregate all JavaScript and CSS files into one file, and use inline image combine all CSS images into a single image file.
Best Practices for Speeding Up Your Web Site
- Minimize HTTP Requests
- Use a Content Delivery Network
- Add an Expires or a Cache-Control Header
- Gzip Components
- Put Stylesheets at the Top
- Put Scripts at the Bottom
- Avoid CSS Expressions
- Make JavaScript and CSS External
- Reduce DNS Lookups
- Minify JavaScript and CSS
- Avoid Redirects
- Remove Duplicate Scripts
- Configure ETags
- Make Ajax Cacheable
- Flush the Buffer Early
- Use GET for AJAX Requests
- Post-load Components
- Preload Components
- Reduce the Number of DOM Elements
- Split Components Across Domains
- Minimize the Number of iframes
- No 404s
- Reduce Cookie Size
- Use Cookie-free Domains for Components
- Minimize DOM Access
- Develop Smart Event Handlers
- Choose <link> over @import
- Avoid Filters
- Optimize Images
- Optimize CSS Sprites
- Don't Scale Images in HTML
- Make favicon.ico Small and Cacheable
- Keep Components under 25K
- Pack Components into a Multipart Document
Some tips and frequently asked questions on Joomla plugin CssJsCompress.
-
Why the plugin doesn't work after I turn on "GZIP CSS and JS"?
Before enable "GZIP" compress, please make sure: Apache has installed zlib.
-
How do I know apache have installed zlib?
On administrator control panel, Help-->System Info-->PHP Information. (or open the following url:/administrator/index.php?option=com_admin&task=sysinfo). If php has enable zlib, you should find zlib block.
-
Do "Optimize CSS files" and "Optimize JavaScript files" need zlib?
No. Only you have set "GZip Javascript and Css" to "yes", you need Zlib.
-
If "Optimize CSS files" doesn't work on my site, can I only turn on "Optimize JavaScript files"?
Yes, you can only turn on css or js optimize. At the same time, you can turn on "Optimize JavaScript files" and "GZip Javascript and Css", so long as you have installed zlib
-
If you include "includes/js/joomla.javascript.js" file, the plugin can't load javascript correctly.
Please remove the first line:
//
-
How to use "Exclude Components" ?
After enable CssJsCompress, all site works fine except some component. For example, after enable CssJsCompress, only Virtuemart doesn't work fine, thus you can add "com_virtuemart" to "Exclude Components".
-
How to use "Exclude CSS Files"?
After you enable the CssJsCompress plugin, some module don't show correctly, then you can try to add the module introduced CSS Files to "Exclude CSS Files".
-
How to use "Exclude JavaScript Files"?
After you enable the CssJsCompress plugin, some module JavaScripts don't work correctly, then you can try to add the module introduced JavaScripts to "Exclude JavaScript Files".
-
How to solve jquery and mootools both exist problem?
Please fill in Custom JavaScript Order in the following orders: jquery file,jquery plugins, and all files build in jquery, mootools files. For example:
jquery.js,easySlider1.7.js,mootools-uncompressed.js
Please remember to change the jquery and jquery plugin to your own site's file. You also need to JQuery No Conflict to no.
-
How to use "JQuery File Name"?
JQuery have conflict with Mootools. When your site have both JQuery and Mootools libraries, you need tell the plugin "JQuery File Name", so that CssJsCompress can do some special handle. Your site's JQuery library may have a name of jquery.js, jquery.min.js, jquery1.2.6.js or any other names, please input exactly the same name with your site.
-
How to use "JavaScript Custom Order"?
JavaScript files may depend on other JavaScript Files. For example, some JavaScript files may depend on mootools and jquery, so these files should appear after mootools or jquery. Perhaps you can refer How to solve jquery and mootools both exist problem?
Joomla Plugin CssJsCompress can automatically optimize external resources like CSS and JavaScript, which can reduce both the size and number of requests made to your website.
CSS files can be aggregated and compressed into a single file, while JavaScript files are only aggregated (but not compressed). These optimizations may reduce server load, bandwidth requirements, and page loading times.
According to Best Practices for Speeding Up Your Web Site , to build a high performance web site, here are the most important best practices:
- Minimize HTTP Requests
- Add an Expires or a Cache-Control Header
- Gzip Components
Joomla Plugin CssJsCompress can help you achieve the above practice easily.


After aggregation of css and js


After compression:


|
CSS File Number |
Css FileSize |
Js File Number |
Js File Size |
Total Http Requests |
| Before Aggregation |
10 |
60.5K |
7 |
97K |
35 |
| After Aggregation |
1 |
62.7K |
1 |
97K |
20 |
| After GZip |
1 |
8.7K |
1 |
26.8K |
20 |
From the above data, we know
- Css and javascript aggregation can decrease the http requests dramatically for those sites built with a lot of modules(Usually a lot of css and javascript files.)
- GZip can compress css and javascript files a lot. The plugin only need to compress the css and javascript files once, so this can save a lot of CPU times, and give a repeat response.
Tips:
- Put plugin CssJsCompress just before System plugin Cache, so that it can include all other plugin's result and be cachable.
|