How to speed up your Joomla website?

Your website is running on Joomla 2.5 or 3.x version. Maybe it seems a bit slow. Probably it is only you who is experiencing this issue, but your users may also notice the performance issue. Slow websites are not only scaring away users, but it can hurt in search engine ranking. Google, with the new algorithm updates will consider website speed as a ranking factor.

In this tutorial, I will show you how to speed up your Joomla website in just couple of minutes.

First of all, you should test your website first. To test the speed of your website, I suggest using the following tools:

For this tutorial I will use the Google Page insights tool to test my Joomla website, and see how is improving. Here is the test result for the non-optimized website:

google-page-insights-test

As you can see, it is pretty bad.

Update Joomla to latest version

Important: before you perform any update to your website, please make a backup of the files and database.

To be sure, that your website will run on full speed, you should always use the latest Joomla versions, because each version may contain small tweaks and fixes that can improve website speed.

Enable Joomla Caching

By enabling the cache in your Joomla system, it will convert the dynamic pages into static pages and store them on the server for a set time. This will significantly speed up your Joomla website.

Here is how to enable caching in Joomla:

System > Global Configuration > Cache Settings

Turn on conservative caching, set file as cache handler and set cache time to 60 minutes, just like in this screenshot:

joomla cache settings

The cache plugin have to be also enabled in the:

Extensions > Plugins Manager > System Cache

system cache plugin

Enable Gzip page compression

To enable the Gzip page compression you will have to access the:

System > Global Configuration > Server Tab

enable gzip page compression

<IfModule mod_deflate.c>
#The following line is enough for .js and .css
AddOutputFilter DEFLATE js css

#The following line also enables compression by file content type, for the following list of Content-Type:s
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml

#The following lines are to avoid bugs with some browsers
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</IfModule>

Install and Enable JCH Optimize Plugin

This plugin does not come with the Joomla, core so you will need to install it. Download the plugin form the JED. After installing the plugin, go to

Extensions > Plugins

Search for the JCH optimize and activate it. You should also take a look inside and set the following configurations:

jch optimize settings

The best would be to place the javascript files at the bottom of the page, however if you have modules that are using jQuery (slideshows, image galleries) may stop working.

Leverage browser caching

Optimize caching via .htaccess. By setting expiration time for different files and HTTP headers, can significantly increase speed. Place the following code into the .htaccess file:

<IfModule mod_expires.c>
FileETag MTime Size
AddOutputFilterByType DEFLATE text/plain text/html text/xml text/css application/xml application/xhtml+xml application/rss+xml application/javascript application/x-javascript
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 600 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 216000 seconds"
ExpiresByType application/xhtml+xml "access plus 600 seconds"
ExpiresByType application/javascript "access plus 216000 seconds"
ExpiresByType application/x-javascript "access plus 216000 seconds"
ExpiresByType image/x-icon "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
</IfModule>

<IfModule mod_headers.c>
<FilesMatch "\.(js|css|xml|gz)$">
Header append Vary: Accept-Encoding
</FilesMatch>
</IfModule>

Remove all unused extensions

The more extensions you install to your Joomla site, the slower it will load. So make sure that you remove all extensions from the database that are not actually used.

Social plugins, that shows the number of shares, likes or tweets will slow down your website. These plugins use external libraries and APIs to display those numbers. Each time a user refresh the page, the plugin will access the API and will slow down your website.

Other tricks to increase speed

So here is a screenshot with the results of Google Page Insights. I was able to bring the page up from 55 to 90 with just few changes.

google speed test improved

There are other things that I could still improve, such as minifying CSS and JS files, image optimization, render blocking (placing CSS files at the end of the page), and other. Loading Google fonts or JavaScript from external resources can also decrease the speed, so take in consideration this aspect as well.

The template you are currently using can also be a factor for slowing down your site. If the template use too many images can be a problem.

Please note, that there could be some disadvantages on caching your website. For instance you will have to clear the cache every time you make modifications to your website. Depending on the cache level, when publishing a new article, it will not show up instantly, until you clear the cache. So make sure that you keep a good balance between the level of caching and the functionality that you need.

Is your Joomla website still slow?

If you did everything from the above mentioned methods and your website is still slow, probably you should consider switching to better hosting. For instance, InMotion hosting is a very good hosting provider, who offers business hosting service along with Joomla optimized web hosting. Their servers are super-fast, are running on SSD drives and on advanced hosting plans the Max-Speed zone will be enabled. This will give an extra boost to your Joomla website.

InMotion – Best Joomla Hosting

$4.19 / month More Info ...
Share on FacebookShare on Google+Tweet about this on TwitterShare on RedditShare on StumbleUponShare on LinkedIn

Leave a Comment

Your email address will not be published. Required fields are marked *