You have Joomla 3 installed which is quite fast CMS itself, but have you ever wondered why your website loads so slowly. What aspects have a decisive influence on those delays. Notice that speed has become a major issue when it comes to SEO. By speeding up Joomla, you can also offer a better experience for your customers, improve site perception. Here are my reflections and thoughts.

Many of us we live in a world where, more often than not, more is better. We ourselves or clients ask us to add more images, banners, social icons, or more different modules which are overload our Joomla template. The problem with constantly trying to increase content is that it doesn't always produce the best results. Adding a huge number of elements doesn't mean you're getting anything meaningful done. It doesn't work that way. In second hand, it means that Less can be Powerful.

By choosing the essential, we create great impact with minimal resources. When you first set a limit on something (number of modules, plugins, images etc.), it'll be a fairly arbitrary number, as it will take some time to see what works for your project. Check and disable any Joomla extensions that you don't use anymore. Probably if returning users will see web site again they will be surprised that some elements were gone but they will be more focused on those which you left. Think of your first week with that limit as an experiment. If it doesn't work for you, then adjust it a bit. Then analyze your current usage levels and pick a lower limit based on what you think would be ideal.

How fast is your wheel chair?

Obviously, we want our Joomla to serve articles (subpages) as fast as possible. Choose a hosting company that owns servers in the country where your customers are, and not necessarily the best ones in the market. Your web host can become a friend (helping hand) or your worst nightmare. Of course there are trusted hosting providers which offer optimized servers built specifically for the open source CMS. By fine-tuning both MySQL and Apache, WordPress & Joomla websites hosted on that platform perform noticeably faster than other hosting providers. For example check offer presented by SiteGround hosting for Joomla and Wordpress sites.

How heavy is your web "baby"?

Wonder how big your webs site is now? Measuring the size and speed of the Joomla 3.x website is always a very important step. You can do this by using many different tools such as Pingdom , PageSpeed Insights, webPageTest or the Page Speed add-on for Firebug, or the YSlow Chrome plugin. Test results will provide rich diagnostic information including resource loading waterfall charts, Page Speed optimization checks and suggestions for improvements.

Optimization settings

  • Turn on GZip Compression. On the Top Menu select System -> Global Configuration and click on Server (tab) -> GZIP Page Compression and set the option to ‘Yes’.
  • If you have a large number of images on your site, this setting can drastically impact the load times of your site. For example, if you are using K2 component, you can set the lower quality of generated images. K2 -> Parameters -> Images. By default, there is 100%, but in most cases, you can set 80% without harm. And soon all your images will be on the diet. Of course, you should test the settings and use the lowest acceptable value.
  • Enable Cache system - this will increase the load speed of the pages a lot. You set up the cache type in the Joomla Global Configuration -> System.
  • In template settings, you will find also some settings which help you improve speed.

.htaccess Configuration Tips

In the following subsection, we will tweak the server configuration in order to improve its performance. The Apache can be configured via the .htaccess files, some examples can cause problems on some servers so you can ask hosting support if you can use those tips.

 <IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml
text/css text/javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html SetEnvIfNoCase
Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary Header append
Vary User-Agent env=!dont-vary
</IfModule>
## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 week"
ExpiresByType image/jpeg "access plus 1 week"
ExpiresByType image/gif "access plus 1 week"
ExpiresByType image/png "access plus 1 week"
ExpiresByType text/css "access plus 1 week"
ExpiresByType application/pdf "access plus 1 week"
ExpiresByType text/x-javascript "access plus 1 week"
ExpiresByType application/x-shockwave-flash "access plus 1 week"
ExpiresByType image/x-icon "access plus 1 week"
ExpiresDefault "access plus 1 week"
</IfModule>
## EXPIRES CACHING ##

Upgrade PHP Version

PHP 7.3 is even faster than its predecessors. Benchmarks show an increase in script processing speed of about 22% compared to PHP 7.0 and about 7% compared to PHP 7.2.

MySQL Table Optimization

Also the optimize table option can improve the performances in a sense that we can economize I/O operation while retrieving data from our database. The exact changes made to each table depend on the storage engine used by that table. It works for InnoDB, MyISAM, and ARCHIVE tables. Optimize Table is also supported for dynamic columns of in-memory NDB tables.
You can do it manually from PHPMyAdmin or using a Optimize Your Tables plugin - that once a day optimizes your database's tables so as to keep your site running at its peek performance by getting rid of the MySQL database overhead.