A Comprehensive Guide to Joomla Compression and Caching
The Basics of Compression and Caching
When visitors come to your site, their browser displays content that is served from a web server. The web server is told what content to send based on the output of the Joomla application. Each page that the visitor loads requires Joomla to generate content into an html page for the visitor's browser. Sometimes Joomla has to generate the same content over and over. When this happens, site administrators can take advantage of caching to reduce the amount of work required from Joomla and the web server, which can greatly improve performance.
Compression comes into play when the files and data that is generated by Joomla gets sent from the web server to the browser. In many cases, compressing that data can increase the speed at which the data is sent, as well as the performance of the web server itself. In combination, these two factors can greatly decrease the speed at which your pages load for site visitors.
Extensions > Plug-in Manager > System - Cache
If activated, the system cache grabs a snapshot of the content of your Joomla site as it loads for a visitor. It then stores that output inside of a folder in your tmp directory. Every page that loads produces a new output into that directory. When another visitor loads the page, the content may be pulled from this tmp directory instead of actually having Joomla output new content. This plugin can improve performance, but if you have content on your site that frequently changes, the System Cache Plug-in can serve stale content to site visitors ... and nobody likes stale content. By default, this plugin is disabled within your Joomla site.
Extensions > Plug-in Manager > System - Cache > Basic Options
Joomla site performance can be increased dramatically by utilizing the System - Cache Plug-in, unfortunately this plug-in is not applicable in all situations. Essentially, this plug-in takes a snapshot of Joomla’s output when a page is requested. That snapshot is then stored and served to the next visitor. This plug-in gives you the option of turning on “Browser Caching” which will actually store the cached content within the visitor’s browser, further increasing speed. It is important to note that this caching method does not work well for dynamic content, so if you have a simple site with static content, give it a try. Otherwise you may find it causes some issues.
Global Configuration > System > Cache Settings > Cache
Some sites may benefit from caching all modules, and others may not handle that too well. If your modules contain all static content, then start by using Progressive Cache, which will cache all modules in one swipe. If your modules contain dynamic content, and you want to be able to control caching at the module level, select Conservative Caching.
Module Manager > Module > Options > Advanced Options > Caching
If you need to use Conservative Caching in your Joomla site, you can enable/disable caching at the individual module level by going into that module and selecting the Advanced Parameters. You can turn the caching for individual modules on or off at that level for a molecular control over your site content.
Global Configuration > Server > Server Settings > Gzip Page Compression
Using Gzip Page Compression reduces the file size and the amount of time it takes to send the file from the server to the browser. The amount of compression can be up to 90%! The downside to using Gzip Page Compression is that both the server and the browser have to perform compression and decompression respectively. This requires additional resources. Fortunately, the CloudAccess.net servers are robust and up to the task of using Gzip Page Compression.
There are plug-ins available in the Joomla Extensions Directory (JED) which provide additional file compression. Of course, we must disclaim that you if you one of these plug-ins, you’re testing at your own risk. You can rest assured, however, that your site data is safely backed up at CloudAccess.net.
Caching and compression can greatly improve the performance of your site, and you have many options, but you must choose carefully when deciding what to enable. Joomla is a complex and dynamic application, and no two Joomla sites are alike. We recommend using the trial and error methods to determine what works best for your individual site. You may find that enabling some caching methods greatly increase performance while others disable your site completely. We always recommend launching a separate “dev” site to perform testing. These dev sites sit on the side of your production site and allow you to do testing without the fear of causing problems.