Why is my Joomla site slow?

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

When any site loads, there are a number of different things that need to be loaded for the site to actually display. These are your images, CSS files, JavaScript files, and other similar files. Each of these that needs to load adds to the total time that your site takes to load. Each different file has an overhead associated with loading it. The fewer files, the faster your site will load. Most sites can cut the time their site takes to load in half just by optimizing here.

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

Thanks to the Joomla plugin system, fixing this problem is literally as easy as clicking a few buttons. All you need to do is install the ScriptMerge plugin and install it. Then make sure it's active. Now you'll only have one CSS and one JavaScript file being 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

Was this answer helpful?

 Print this Article

Also Read

How do I manage menu items?

How do I link between my articles?

Joomla doesn't have an automated method for linking between it's article. If you have an already...

How do I reset the administrator password?

Normally you would use the user manager to add or change users. Sometimes though you may have...

How do I create a menu item that isn't a link?

While your usability experts will tell you that having a menu item that isn't a link is a bad...

How do I use the trash manager?