Fast Joomla websites, that is what this course is about. I will talk about optimizing the Joomla core settings, but also how third-party plugins and services can help you make your site even faster. As long as you know the basics of Joomla administration you should be able to follow this course.
The course takes 4 hours, with mainly video and some slide-presentations and is easy to follow for intermediate Joomla enthousiasts.
We will also discuss optimizing images, often the biggest resource part of a website. Finally, we will discuss optimizing for mobile devices.
In the end, you will no longer have a slow website, it will probably be more then twice as fast as it was!
I will introduce you to the course and to the trainer, Simon Kloostra.
The importance of a fast website is not just about a pleasant experience. It is also about conversion. Also, Google seems to like faster websites more.
You will have to know your starting point before you start optimizing your website. This will help you understand your actions.
There are many online tools that can help you measure your performance. All have their stronger and weaker points.
GT-Metrix combines Google Pagespeed and Y-Slow performance, giving you 2 tools in one. You can use it anonymously, but a free account gives you some added functionality.
Pingdom Tools is another tool to measure website performance. Focus is a little bit different from GT-Metrix, but largely comparable. You can use it anonymously, but a free account gives you some added functionality.
This is Google's too for performance measurement. Being from Google, it is obviously an important tool to use. Getting scores over 90% is very hard here, as it requires some very hard to take measures.
There are some more performance tools that you can also use. Some are:
Some of the improvements we will discuss could possibly harm your functionality. Therefor, make sure to keep track of what you are doing so you can retrace your steps, while making a backup is always a good idea.
Choosing a good webhost is crucial, as switching hosts with a live site is always a challenge. Also you may have to option to choose from different set-ups, like PHP-versions.
There are many Joomla template providers, both free and paid that have beautiful templates in stock. However, not all of these are built with performance in mind, so choose an efficient one.
Of course, you can always build your own, as optimized as you want.
Every extension that you install in your site adds resources. This may slow down your site, especially with large sliders and galleries.
External scripts are notorious for slowing down your site. Especially social media scripts (counters!) are heavy, but also webfonts and Analytics / Adsense scripts add up.
Joomla has some core options for caching and G-zip that can speed it up. G-zip is dicussed here, caching in the next section.
Some of the caching options in Joomla are found in the Global Configuration settings. These settings apply to the whole site, unless overriden on a more detailed level.
For separate modules you can deviate from the global settings. This is useful for modules that don't play well with the default setting.
The System - Page Cache plugin is often overlooked, as it is hidden between the many Joomla plugins. It is very powerful, but also known to cause issues sometimes.
Periodically, you may have to clean up your cache. This is necessary in situations where the cached views are not showing your refreshed content.
The previous caching functions work on the server-side, configured from within Joomla. Browser Caching is re-using earlier downloaded resources on the browser side. Settings are applied in your .htaccess file.
The Nonumber Cache Cleaner plugin is perfect for cleaning your cache in an efficient way. Instead of in 4 or 5 steps you can now clean it up with just one click.
Also it can clean up more then the Joomla core cache: Siteground cache, CDN, etcetera.
JotCache replaces the Joomla System - Page Cache plugin, allowing for more fine-grained caching. It also allows for exclusion of components, modules and individual pages that work better without cache.
For those with sites hosted by Siteground you can use the Supercacher functionality that is available on all their accounts, also shared hosting. It allows for even faster sites and is easy to deploy.
Images are often the largest portion of a website's resources. This makes it very important to make them as light as possible, or even use alternatives.
Images should be prepared before they are uploaded to the website. They should be created in exactly the size needed and be saved as small as possible.
Lossless or lossy compression is a very efficient way of stripping off unneeded data of images, without any loss in quality at all, or just slightly. There are free compressors around on the web, while ImageRecycle even provides a Joomla plugin for this.
Images can sometimes be replaced by base-encoding. This means that you will just use a representation in HTML-code that allow the browser to generate an image. For every encoded image this saves you one HTTP-request.
Other techniques for optimizing images are sprites, responsive images and clever use of the background-images technique, while there will be more techniques around as well.
Many Joomla users use the JCE editor as a replacement for TinyMCE. For paid users, it allows for an additional plugin that can resize your images while uploading them.
Lazy Load for Joomla by Kubik Rubik extensions use the lazy-load technique to only load images above the fold for initial display. Only when scrolling down those images will actually be loaded.
ImageRecycle allows for free lossless compression on their website, but they also have a Joomla plugin that allows you to perform the optimization from within Joomla, either automatic or on request.
XT Adaptive Images is a plugin that will create separate versions of each image, sized specifically for either desktop, tablet or mobile usage.
Mootools Enabler / Disabler removes the heavy Mootools script that is currently still loaded in Joomla, though many sites don't need it. You can completely remove it with this extension, or set it to load under certain conditions, like front-end editing, or certain pages.
Based on filename, you can remove any script or CSS-file that you don't want. This is very nice for files that you know of are actually unused.
JCH-Optimize is a very popular plugin that can basically perform all the optimizations for you. You can configure all options, setting it to basic or aggrive optimization, or anything in between.
Yireo Scriptmerge is a plugin that basically does the same optimizations as JCH-Optimize, with slighly different accents.
Next to the discussed ones, there are some more plugins like this, like RokBooster, Jbetolo, Too Many Files, etcetera.
If you set up a CDN for your website, your content will be served from the closest location available for each user. This is especially useful for sites targeting a global audience, or users in larger countries like the USA, Russia, etcetera.
First, you will have to choose a CDN-provider. There are many good ones, but you need at least one that integrates will with Joomla.
Cloudflare is a popular CDN that offers multiple free basic accounts. Also it is very easy to set up, usually sraight from your Cpanel.
MaxCDN is also a very popular CDN that provides very good performance. Implementation is really easy and can be done in 2 minutes.
After you have set up your CDN on the CDN-provider side, you should also configure Joomla for this. To do so, there are a number of plugins, but especially CDN for Joomla by NoNumber is really good for this.
To make the best of your CDN, a custom domain to serve your files from is usually best, especially for SEO purposes. This can be done from your Cpanel.
I am based in Utrecht, Netherlands, running a webdesign agency specialized in Joomla webdesign and SEO, called SK-Web. However, most people know me from my Joomla SEO blog, see the link below. Also, I am a regular speaker at Joomla User Group Meetings, and I have also written a book about this, called Joomla! 3 SEO and Performance