5 Tips to Speed Up Your Joomla 3.x Website

5 Tips to Speed Up Your Joomla 3.x Website

There are two main reasons to speed up a website:

  • Visitors don’t want to wait, so they will leave your website if it takes too long to load. Therefore, speeding up your website will be an added-value that brings higher visitor engagement, retention and conversation.   
  • Google has announced that website speed affects its search ranking:  faster websites are ranked higher because they provide visitors with a better experience. And that’s quite sensible.

You’ve wondered why your Joomla website loads so slowly, even it was upgraded to version 3.x, haven’t you? Well, let’s check out 5 tips you can use now to speed up your Joomla 3.x website.

1. Choose the Right Hosting from a Reputable Provider

Your site was probably put on the same server as hundreds or thousands of other sites. It could lead to slow speeds when many clients try to access this server at the same time. 
Therefore, ensure that you choose the right hosting from a reputable provider – one who can meet all of Joomla’s hosting requirements: a limited number of sites per server, server hardware support, server caching support, Joomla expert support… Some popular and well-known hosting providers recommended by Joomla user are: Bluehost, Inmotion, HostGator, Arvixe…


Data Center of HostGator

2. Enable Gzip Compression

Using the Gzip Compression feature, you can compress your website pages before sending them to the user. After that, they will be uncompressed by the user’s browser. And this process takes less time than transferring uncompressed pages.

By default, Gzip Compression is disabled in Joomla 3.x. Therefore, you have to enable it manually by following these steps:

On the Top Menu, select Site > Global Configuration > Server tab, and switch the Gzip Page Compression to YES option.


Gzip Page

3. Enable Cache System

Most websites have contents that are not changed frequently. Therefore, the theory of Joomla caching is very simple: the Cache system takes a copy of the whole page in its first load. When the user visits it again, this copy will be displayed without reloading the same images and files all over again.

Please make sure that you enable Joomla Cache system. This is a very simple step but it can increase the loading speed of your website a lot. You can do it as follows:

Global Configuration > System > Cache setting, and switch Cache to “ON – Conservative caching”. In ‘Cache time’, choose 30 (minutes) for a cache file to be stored before it is refreshed.


Cache Setting

4. Optimization Settings (Images, CSS, Java Scripts…)

Here are the optimization that need to be used to speed up your website:

  • Images: don’t try to upload big scale pictures, resize them before uploading.
  • Template: try to have a lighter and simpler website template. Simple is always the best.
  • Reduce the size of CSS files; compress Javascript files; minify and combine CSS and Javascript files to reduce HTTP requests and file size.
  • Clean up Joomla often and remove anything that you don’t need: unused components, modules, plugins, “Not Found” queries…

Copy and past htaccess below to your htaccess file.

# BEGIN Expire headers
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 604800 seconds"
ExpiresByType application/javascript "access plus 604800 seconds"
ExpiresByType text/html "access plus 2592000 seconds"

# Add correct content-type for fonts
AddType application/vnd.ms-fontobject .eot
AddType application/x-font-ttf .ttf
AddType application/x-font-opentype .otf
AddType application/x-font-woff .woff
AddType image/svg+xml .svg

# Compress compressible fonts
AddOutputFilterByType DEFLATE application/x-font-ttf application/x-font-opentype image/svg+xml

# Add a far future Expires header for fonts
ExpiresByType application/vnd.ms-fontobject "access plus 1 year"
ExpiresByType application/x-font-ttf "access plus 1 year"
ExpiresByType application/x-font-opentype "access plus 1 year"
ExpiresByType application/x-font-woff "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
# END Expire headers

<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

# PageSpeed Insights core#

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE text/x-js
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/vnd.oasis.opendocument.formula-template
# 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"
# End PageSpeed Insights core#

5. Check Your Joomla Website Speed

Don’t forget the final step – check your website speed. You should do it before and after following all of these guidelines. And don’t be surprised when you see how much faster your website can be. You can do it by using one of these tools or services: YSlow Chrome plugin, Pingdom tools, Google PageSpeed or GTmetrix…


Google PageSpeed – a tool which is offered by Google

Ok, I think that’s enough to speed up your Joomla 3.x website. Please share your experience with us in the comment area. Do you have any other trick to fasten your Joomla website loading speed? Please share with us by commenting below!

Source: joomlashine