Note: This post is a rant. What you will read here is our opinion of Joomla’s cache. There won’t be any “silver bullet” for fixing caching in Joomla in this post.
There is one feature in Joomla that gives many Joomla administrators lots and lots of headaches. Can you guess what it is? Well, it’s caching! Caching is by far the most dreadful and most horrible feature in Joomla, and, for some reason, even after nearly a decade, Joomla can’t get it right. The majority of issues caused on Joomla sites are related to caching, and the problem is, caching is a necessary evil, especially for very large sites.
So, what exactly is the problem with caching in Joomla?
If you don’t know the answer to this question, then most likely you were fortunate enough not to have to use caching on your site. Lucky you! But for the rest of us, the problems with Joomla’s caching are too numerous, here’s some:
- Missing modules: Some of the modules will suddenly disappear when you enable caching. The thing is, this issue is erratic: now you see that menu module on the top, now you don’t! Clearing the cache usually solves the problem but only for a short while.
-
Broken components: Quite a few components break when caching is enabled. For example, a website that we were working on yesterday had the AdAgency extension installed, and clicking on any ad directed the visitor to a page with no content (the page simply consisted of the template and the modules) on the Joomla website (it didn’t redirect to the actual website linked to from that ad).
-
Broken functionality: Many core and non-core features can break when caching is enabled. Such features include: logging in to the website from the frontend, searching the Joomla website, and adding items to your cart (if you’re using VirtueMart).
-
Broken template: If your template gets broken out of the blue and you have caching enabled, then the first thing that you’ll need to do is to clear your cache and see if that solves the problem. In 90% of the cases, it does (the other 10% of broken template issues are usually caused by a plugin or a module).
-
Broken JavaScript: Some extensions generate dynamic JavaScript code, and there’s a reason for that: the JavaScript code must be unique for each user for these extensions to work properly. If caching is enabled, then that JavaScript will no longer be dynamic, and most likely it’ll break.
-
Delay until your changes appear: Joomla’s own caching is notorious for not knowing when you post something new on your website (or make an update to an already existing content item). Really, how hard is it for Joomla to check the affected pages caused by your update and to re-cache them? Currently, Joomla administrators have to wait until Joomla clears its cache so that they can see their changes (some delete the cache entirely so that they can see it immediately – however, this strategy does not work well on large Joomla sites).
The list is really endless, but we’ll stop here. Joomla’s caching is, without doubt, a great idea implemented horribly.
But why doesn’t the Joomla team do anything about it?
Unfortunately, the Joomla team doesn’t seem to admit that there’s an issue with caching. In fact, the team blames the user (for not knowing how to use caching) and 3rd party extensions (for not integrating well with caching) for all the problems related to caching. “Caching works well, but you don’t know how to use it, or the 3rd party extensions installed on your website don’t support it well.”
So that’s it? There’s no solution to this problem?
One solution to this problem is to use an alternative. There are some 3rd party caching extensions that seem to work much better than Joomla’s own caching and that give you control over what should be cached and what shouldn’t. These extensions are not flawless, but they work much better than Joomla’s own caching, which is, to say the least, a bit shameful.
The other solution is for the Joomla team to fix caching, to make it work properly and intelligently, and to give users more control over it. This, however, requires that the Joomla team admits there’s an actual problem with the core caching in the first place, which will probably never happen.
If you have a problem with caching in Joomla, then fear not, we’ll be able to fix it for you. Just contact us and we’ll work on your website until the problem is fixed. Note that our super affordable fees apply!