Here are a few tips for speeding up your Joomla! site.
Encoding your pages with Gzip is an 90% solution… If your server’s processor is faster than your bandwidth (again, 90% of the time), than enabling Gzip compression will actually speed up your site. I say that because gzipping the pages does require some CPU horsepower. Try enabling Gzip and see if your site loads any faster (especially on highly loaded servers). If it doesn’t, or you get CPU warnings from your host, disable Gzip. It can hurt you, but most of the time it does help. The only way to find out is to try it.
Statistics May Seem Nice, but…
They use a ton of SQL queries to get done what they do. They are not worth it at all! If you want nice stats, use Google Analytics to track your users. Stay away from 3pd stats components. They do generate nice stats, but at a huge performance penalty. The only statistic worth keeping is the search queries (from the Joomla config). If you have access to the webserver, you can also disable logging statistics from the server end as well (this process is much more efficient, and only will really help if your server is heavily loaded).
SEF is not Server Friendly
One of the best things you can do to a site, is make the URL’s look more better. The Joomla core does an acceptable job, but there are a handful of 3pd components that make really nice URLs. The problem with these components, is that they are not very performance friendly (they use a ton of queries). I prefer OpenSEF to any of the others (But it’s no longer actively developed) as it seems to be a good mix of power, flexibility and performance. Keep in mind, that using SEF URLs is a tradeoff. A good URL will look better to a search engine, and to end users, but it hurts the load time. Think carefully before deciding to enable SEF URLs. One thing you can do, is periodically optimize the database by purging unpublished and invalid URLs from the OpenSEF database (an option in the admin section of OpenSEF).
Enable Caching as Much as Possible
If you can, enable Joomla’s core content cache. It does speed things up when viewing content and modules (mambots don’t need to be processed each time the page is loaded). If you really want to speed things up for unregistered users, take a look at my Page Caching component which caches entire pages. This is probably the best performance gain you can find you unregistered users (the majority of users for 95% of websites). This does not mean that you can forget about the rest of these optimizations, because the registered users will still see the uncached site.
For a complete list of Joomla Performance tips please visit: JoomlaPerformance.com