Have you noticed that a lot of sites out there seem to load faster than your Joomla site? Joomla has to use a database to access your content, so naturally it will be a little slower than a simple HTML site. That said, your site doesn't need to be slow and there are some things you can check on to speed it up.
Caching will reduce your database activity
First things first, turn on caching on your site. It's in the Global Configuration on the System tab. The Joomla caching system is fairly robust and this one simple step can make a huge difference, especially if the server you are on is overloaded.
To Gzip, or not to Gzip, that is the question
In setting up your Joomla site you might have noticed an option for gzip page compression. What gzip does is take your site data, compress it, and send it to the user. This means they need to download fewer bytes. Users on broadband will probably never notice and if your server is busy the extra CPU time to compress the data will slow your site down. That's why in some instances it's probably better to just leave gzip compression off.
Reduce what your users actually need to download
The first thing you need to do is figure out everything being loaded on your site. This will tell you what can be fixed. Start your journey by visiting the Web Page Analyzer or pingdom tools. You enter the URL for the page you want to check and it shows everything being loaded. What are important to us are the Total CSS Images, Total Scripts, and Total SCC Imports.
Optimizing CSS Images
You'll probably notice that you have a lot of CSS images being loaded. And the thing is most of the images probably aren't even being used on the page. Every single image referenced in your CSS file is loaded on every page load. So it would be great if we could just have one CSS image. Using CSS sprites, that's possible. It doesn't need to be a major pain to convert to sprites, but unless you are comfortable editing your template's CSS files it's not recommended. If you are, there is a great sprite generator you can use that makes the process a whole lot easier. Just upload a .zip file of your images (normally just use your template's entire images folder) and it will give you back the sprite image and the CSS you need to use.
Reducing the number of scripts loaded
Uninstall extensions you don't need
So you've optimized all of your images and scripts and your site is still to slow. What to do now? Uninstall every extension on your site that you don't use. All installed extensions can slow down your site, even if you don't have them enabled. This is another easy step, but it won't make as big of a difference as what we've already done.
Your server is overloaded
If you've gone through everything so far, the problem might be the server your site is hosted on. If the server is overloaded, nothing you do to the site will ever make it run fast. Things to check for with your host that show that they want your site to load fast are:
- Run software like Cloud Linux.
- Run caching software like Varnish.
- Run a faster web server software like Nginx.
Cloud Linux prevents other sites from effecting you
Cloud Linux is software that gives every site on the server is own virtual environment to work in, and keeps any one site from using all of the server's resources and slowing everything down. This is the biggest reason for a slow site on a shared server. Someone else's site gets a sudden burst of traffic and brings the whole server to a crawl.
The biggest sites in the world use Varnish caching
Server-level caching is far more effective than caching in Joomla, and your host should be doing it. The biggest sites in the world like Facebook and Twitter use varnish to power their sites and keep them lightning fast.
Nginx is faster than Apache
Nginx is software that's used to actually show your page on the server. It's similar to Apache, which is what most servers run, but it works a lot faster. Other server software that works well is Litespeed.
If you're hosted with BuyHTTP, we do run Cloud Linux, Varnish, and Nginx on all of our shared servers. If you're not, sign up for a plan and see how much faster your site can run.
After going through all of the steps in this tutorial your site should be running as fast as you've always hoped it could.
Use memcache or redis
To load your database queries into memory and reduce the number of hits on your database. here's a great turotial for installing memcache on your server
Try our web hosting today for $1 and enjoy the amazing speed of our Joomla optimized servers