Joomla how to make it faster
Here are few things you can easily do to speed-up Joomla:
1) Enable Joomla Caching - If cache is not enabled, every time your visitors load one of your pages, Joomla has to do few things - fetch the content from its database, load all the plugins, components and modules, you have installed, load your template file and combine all that into a single page. Needless to say this process takes time. This is where the internal Joomla caching system comes to help. When you enable the cache, the first time someone loads your page, the result from the above mentioned actions is stored. Then, all the following visitors will directly get the stored version of that page as if it was a simple, plain HTML file which is much, much lighter and loads faster. This is why caching is one of the most important things to enable in order to have a fast Joomla site.
To enable the Joomla caching, first go to System -> Global Configuration. Next, you need to click on the System tab to get to the caching settings.
On the right part of this page you will find the Cache Settings. Find the Cache label and click on the drop-down next to it. From the list, please select the ON - Conservative caching option. The other available option - Progressive Caching works a bit different - it stores cached version of your site per each one of your visitors. It is useful in some particular cases and we don't recommend you to use it unless you're absolutely sure you need such caching enabled. Once you set the caching to Conservative Caching, click on the green Save button at top of your page.
There is one final step that you need to make before the Joomla caching system actually starts working - to enable the System - Cache core Joomla 3 plugin. To do this go to Extensions -> Plugin Manager. Here you will see a big list of all the plugins, currently installed in your Joomla application. The easiest way to locate the caching plugin is to use the search field. Just type in cache and press the magnifying glass button next to the search field.
Once you do that, you will see the System - Cache plugin and a red cross button next to it indicating that the plugin is disabled. To change its status to enabled press on the red button. Finally, the status button next to the caching plugin will turn green and you'll see a message, indicating that the plugin has been enabled successfully.
2) Enable Joomla Compression - When your webpage size is reduced through compression, it will load much faster. To enable the Joomla compression, first access your admin area and go to System -> Global Configuration. On this page you will see numerous settings. Click on the Server tab to view the server-related options you can change.
Here, locate the Gzip Page Compression label and press the Yes button next to it to enable the Gzip compression for Joomla. You will notice that the indicator will turn green showing that the compression is enabled. Finally, press the green Save button in the top left part of the page to commit your changes.
You can use one of the many free online tools for testing the Gzip compression such as http://checkgzipcompression.com for example. If everything is alright, you should see a notification that the compression is enabled successfully as well as some information about the change in size of your pages.
3) Add .htaccess Optimization Rules
Htaccess files handle the way your webservers process your site. There are few rules you can add at the end of the .htaccess file that will improve the performance of your Joomla site:
- ETag - tells browsers when one image has already been downloaded and
can be fetched from the local browser cache instead from the server
- Expires headers - similar to ETag but allows you to set different
expiration times for different file types
- AddOutputFilterByType DEFLATE - minifies the source code of your
compiled HTML files by removing empty lines, breaks and spaces
- 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
- Enable expiration control
- Default expiration: 1 hour after request
ExpiresDefault "now plus 1 hour"
- CSS and JS expiration: 1 week after request
- 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"
4) Reduce Your Images Size - Images are big part of your website. In most of the cases images can be optimized. There are several tips that you should follow when you use images in your pages:
Never use large photos and then scale them using HTML - it takes the
browser time to scale the images and they look worse than the original.
Always optimize your images. Applications like Adobe Photoshop and
online services like Smush It for example offer easy to use tools that will reduce the size of your images without lowering their quality greatly.
Don't add too many images to a single page. If you have an article
with many photos for example, try splitting it into pages.
5) Remove unused and unoptimized extensions - Each Joomla extension you add to your website requires system resources, database and disk space to operate. Having many extensions will increase the overall size of your website and make it slower. This is why, it is important to make sure that you have only extensions that you're actually using installed on your Joomla site.
6) There are many extensions that try to improve the performance of your Joomla website. There are few that we are widely recommended:
Jbetolo - All the functionality that JCH Optimize has plus CDN support JotCache - Improves the built-in Joomla caching system Cache Cleaner - easily clean the cache from the Joomla admin panel