We've always had a strong opinion about Joomla extensions - the success of the CMS comes also thanks to the huge variety and availability of different Joomla extensions. Even for WordPress - it took off when it introduced the use of plugins.
They can also be a curse. By their very definition, and additional functionality, will come at additional "work" which the server has to do. They WILL make thus make your site slower than a native Joomla installation. You have to minimize Joomla extenstions to the barest minimum to make Joomla faster.
Of course - sometimes you'll need them, but you have to reach a balance between functionality and performance.
Which Joomla extensions should I remove?
We are of a very strong opinion that some Joomla extensions are absolutely essential. If you intend to have an online shop, you'll have to have an ecommerce plugin. And we also recommend a backup extension.
You'll need to check though which are the absolute essential plugins to your website. Anything which is non-essential should go (or at the very least the plugins which it uses should be completely disabled). Even if your Caching has been activated - Joomla extensions still have a performace hit.
Remove forgotten, unused Joomla extensions
Take a FULL backup before proceeding - the following action is not without risks
Many people try lots of extensions whilst designing their site. Some eventually are used, whilst others are not. If you're like me, you've probably forgotten to remove quite a few of these testing plugins.
Go to Extensions > Manage > Manage. Browse through the extensions you have installed and remove any Joomla extensions which you know you are not using.
Remove unused Joomla Modules
Now remvoe any unused Joomla modules. Go to Extensions > Modules and browse through the modules. If anything is not published and you won't be using it in the near future, Trash it. If there are things which you might not need, you can delete those modules too. Each module has a hit on Joomla performance. You want to reduce those hits as much as possible. Remeber that even if your Caching has been activated - Joomla extensions still have a performace hit.
Remove or disable ununsed Joomla Plugins
Next, you'll want to disable plugins which are not being used.
Go to Extensions > Plugins.
Browse through the plugins, and try to understand what is the function of each specific plugin. If you think it is not necessary for the functionality for your website - disable it. You need to be a little bit careful and understand what a plugin does before disabling it. Err on the side of caution where you have doubts. However, you should disable unused extensions - even System plugins. Each one of them has a hit on the initial loading time. The plugins are eating away from the initial load time which has the most critical impact on having a fast (or slow) website.
Measure the performance impact of the Joomla extension
Once you have cleaned what you do not need - you still need to see what performace impact the Joomla extensions have on your website. To do this, we're going to use the Joomla Debug tool.
First of all, go to System > Global Configuration > Server > enable Debug.
Now, to see the results of this, you'll need to login to the frontend using your Super Administrator credentials. Once you do this, you'll get a debug log at the bottom of the rendered page.
You'll see something as follows below.
You can see what impact each module has on the loading time of your website. If you think there are things which are not bringing enough benefit as opposed to the performance impact, you might consider disabling them or deleting them. The ones highlighted in red are the ones with the worst performance.
Once you have cleaned as many things as possible as many Joomla extensions as physically possible, you should see a marked improvement in your Joomla load time.