How to improve Joomla 3 site speed

Even patient people can’t stand waiting in lines – whether they're at the trainflatform, airport, or any place. We either get tired or angry that it’s taking longer than expected. The same is definitely true when surfing online. If a site takes too long to load, visitors  might be frustrated and leave the site before it loads.! Not only your visitors, Google has a bit of an obsession with how quickly a page loads as well! Page loading speed is one of the important factors for the success of a website. A slow site will obstruct your ability to rank well in search engines, and also affect website user-experience.

Here are some tips to speed up Joomla 3 to make your site faster

Tips & Tutorials

How to improve Joomla 3 site speed

Check your Joomla 3 speed 

The first and neccessary thing is to know where are you in the world! By measuring the size and speed of your joomla 3 site will be the answer. You can do this by using a tool such as Pingdom, Google PageSpeed Insights, Gtmetrix...You need to know the value of your website speed before performing the test and the value after the implementation of optimization techniques.

Choose a good webhost

Good web host can improve your site speed significantly. Chooseing a right host for your website is crucial. Before making your choice, advise your friend or forums.

For many years of using web hosting, we're pretty impressive with A2 hosting, Inmotion Hosting and Dreamhost performace,. We highly recommend for our clients for a better performance site. One of the reasons we try them is they have a SSD support what promise increase Joomla performance 300%.

Enable GZip Compression in Joomla 3

What this feature does is allow your server to compress files before sending them to the user. This means that smaller data will be sent to the user’s computer, or on other hand, the user has to download less content because it is compressed, and therefore pages should load faster for your users. Gzip is the most effective compression method and it generally reduces the response time. You can do it within 3 clicks:

In the admin control panel, Click System >> Global Configuration >> Server tab >> Under Server Settings and next to Gzip Page Compression, click Yes Then click Save in the top left menu

enable gzip compression in joomla 3

Enable Joomla Caching

Caching is the mechanism that offers users a stored view of a web page so that does not have to be pulled from the database. If cache is not enabled, every time your site is visited, your Joomla site has to fetch the content from its database, load all installed extensions (including templates, plugins, modules, components). This is why caching is one of the most important things to enable in order to speeds up the load time of a web page, but the disadvantage could be that a user looks at a stored view, while the actual page has been changed in the mean time. So when you are busy developing and making a lot of changes on yoursite, you probably need to switched off caching feafure

To enable the global cache go to Site > Global Configuration > System. Find the Cache label and click on the drop-down next to it. From the list, select the ON - Conservative caching option and specify your cache lifetime (in minutes) in the box below.

enable caching in joomla 3

Reduce images before uploading to your Joomla site

Images are an important part of your website and can be optimized. A nice image can make your content better and attract visitors, but on the other hand using too many images can slow down the speed of your Joomla 3 site. There are some tips that you should notice when using images in your site:

  • Never use large photos and then edit their sizes them using HTML - it takes more time for big images to load
  • Always optimize your images. Use tools such as Photoshop, Fireworks and online services like Smush o reduce images' size without changing their quality greatly.
  • Don't use too many images to a single page.

Throw away unneeded extensions

Each Joomla extension on your Joomla site affects the site’s performance. Having too many extensions will increase the overall size of your website and make it slower. So you should:

  • Remove unnecessary extenions
  • Always upgrade all used extensions – because there are some bugs that slow down your site speed, the new versions might have better improvement than the previous ones
  • Carefully choose the best extensions for the functionality you want to add to your Joomla site. Some extensions are poorly coded and can reduce the performance of your Joomla site
  • Reduce the number of modules in the front-end to reduce the number of HTTP requests required to render the page.
  • Uninstall extensions once they finish testing with them. I know we often test different plugins, component and modules and forget to remove them.

.htaccess rules for Joomla site speed optimization

.htaccess is a special configuration file, with this file you can create redirects, rewrite URLs on your website, create password protected directories and other technical things, but you can also use them to improve your site’s page loading speed by taking advantage of some Apache server features. 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 that images... have already been downloaded and can be fetched from the local cache reload rather than downloading them all again
  • Expires headers - similar to ETag but allows you to set different expiration times for different file types like scripts, CSS styles,
  • AddOutputFilterByType DEFLATE - minifies the source code of your compiled HTML files by removing empty lines, breaks and spaces
  • You specify these rules in your .htaccess file (it does not work if you still use htaccess.txt, so make sure to rename it). There are a lot of ways you can specify your rules, dependant on what file-types you use on your site, and how long the expiry should be. A simple example to start off with could be the following:
########## 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 future.
AddOutputFilterByType DEFLATE text/plain text/html text/xml text/css application/xml application/xhtml+xml application/rss+xml application/javascript application/x-javascript
# 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/ "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"

Optimize CSS and JavaScript

Optimize CSS and JS is to improve your site performance by join and compress CSS and JS files so that the total size and number of requests will be decreased. You can manually do it but it’s not recommended as it takes so much time. No worry you can do it with CSS and JS compression - One of the core features in JV Framework 3, it's a good choice for you Joomla 3 site.

js and css compression

Optimize for mobile devices

Even if your site loads fast on a desktop, it may not perform very well on mobile devices. If you use the PageSpeed Insights tool to check the speed of your site, you may have seen a separate tab for mobile performance to check how your site is performed in mobile and list of issues should be fixed.

Use optimized templates

Always try to have a lighter and simpler template. Analyze the template before settling for one. Here at Joomlavi, we build Joomla templates with light weight and clean code to make sure they are optimized for speed and SEO.

Optimize your Database often

Sometimes the database tables get crashed. So you need to optimize and clean it up often. This is very important because it helps to reduce loading time. You can either do this manually from PHPMyAdmin or just use a plugin.