Joomla Performance Optimization

When it comes to website performance, there are multiple factors affecting it, but here we will discuss some of the most basic and important ones:

  • Enable Caching in the website, so that static content can be accessed quicker after the first visit to it. To enable Caching in Joomla, access the Administrative area of the website and go to System -> Global Configuration:

From there, click on “System”:

Scroll down to make sure that APC User Cache is selected and System Cache is set to “On – Conservative Caching”:

Now you need to check and enable the built-in Joomla Caching plugin, in order for the caching service to become active.

To do so, navigate to Extensions -> Plugins:

Then, to save the time for scrolling through all plugins, simply type “cache” in the search-bar at the left side of the page:

Click on the button to enable the plugin and you should be displayed with the following message:

  • Another step to improve the performance of your Joomla 3 website is to enable Gzip compression, which will decrease the total size of the website when it is loaded in the background, but still display the full content to visitors. The smaller the web page’s content is, the potentially faster it may load.

To enable Gzip compression on Joomla 3, navigate to System -> Global Configuration and select “Server”. Make sure that “Gzip Page Compression” is set to “On”:

  • An additional step to serve static content from cache, instead of having it loaded every single time is to add Leverage Browser Caching(Expire Headers) rules in the .htaccess file of Joomla. A basic of rules that could be added:

<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 application/xhtml+xml “access plus 600 seconds”

ExpiresByType text/css “access plus 1 month”

ExpiresByType text/javascript “access plus 1 month “

ExpiresByType application/javascript “access plus 1 month”

ExpiresByType application/x-javascript “access plus 1 month”

ExpiresByType image/x-icon “access plus 1 year”

ExpiresByType image/jpeg “access plus 1 year”

ExpiresByType image/png “access plus 1 year”

ExpiresByType image/gif “access plus 1 year”


With any of the above-mentioned caching services enabled/added it is always recommended to clear the website’s and possibly your browser’s cache after making changes to the website via the Admin area.

  • Another way to improve the loading speed of the website’s pages on users’ end is to use a CDN service. A free CDN service which you may try using is Cloudflare’s CDN service. You may access their official website and create a free account:

Once you add your domain name and Cloudflare fetches its current DNS records, to activate the CDN service, you will need to replace the domain’s current Nameservers to the ones provided there by Cloudflare. The process may take up to 24 hours to automatically take effect, until the DNS changes fully propagate.

  • A general advice for improving any website’s loading speed is to always keep the number of extensions and plugins to a minimum, disable and remove ones that are not being used. Also, using as fewer images as possible is also advisable and equally key factor is to have the images as much optimized as possible – do not leave images with size much greater than is needed to properly view the image on the website. There are various tools that could be used for such purposes, including optimization plugins for Joomla which may be found online.

  • Last but not least, a very important factor for a website’s performance and also security is to always keep the website’s script up to date, by always installing the latest version update. Likewise, also make sure that your website is using the latest PHP version that is supported by the script. If updating a PHP version displays any errors on the website, reverting the change will resolve the issue. However, before attempting an upgrade of the website’s script, it is always recommended to have a full backup of the website.