Download this whitepaper now and get a new one every month!Download »
We love digital
Call 0845 485 1219
We love digital - Call and say hello - Mon - Fri, 9am - 5pm
by Andy Killworth on 30th July 2012
Joomla (or Joomla! with an exclamation mark for the pedants) is a popular, free content management system (CMS). Whilst it certainly plays second fiddle to its main rival WordPress (9% share of the CMS market versus WP’s 54%) it’s popular in a wide range of industry and web niches.
Mention the word ‘Joomla’ to people working within the SEO industry though and you might very well be greeted with a world-weary sigh or a rolling of the eyes. Yes, Joomla has a bit of a bad press with us digital marketing folks and many of us dread having to work on a client’s site on this platform (although not as dreaded as hearing the words ‘bespoke CMS…’
I should mention at this point that I’m somewhat biased – my own network of affiliate sites are all run on Joomla – over the time I’ve been running these I’ve learned a lot about the good, bad and the downright ugly of this CMS and the SEO issues that come with it. Overall though, I still love Joomla – it’s powerful, it’s extensible, there are some great templates on the market for it, and of course, it’s free. With a bit of work, and arguably a longer learning curve than WordPress, there’s plenty to love about it and achieve with it.
That said, from an SEO point of view, it can be a bit of a bugbear. However, managed correctly, the optimisation issues and weaknesses can be dealt with, using a bit of care, attention and some easy to use plugins. Some of this is common sense (but often overlooked), and some of it is specific to Joomla. Without getting into the whole Joomla v WordPress debate, let’s take a look at some easy ways you can improve your search optimisation of a Joomla site.
Get your ducks in a row – new installations of Joomla
The key to making your life easier with Joomla SEO is to give some thought to things before the site is even live. Some simple steps can get you off to a great start and avoid hassle and time-wasting at a later date.
OK let’s deal with one of the main SEO issues of Joomla – its default URLs. As much as I love this CMS, I’ll be the first to admit that they’re far from ideal. Why? Let’s see what a default Joomla URL looks like:
Bit of a mouthful, right? It looks bad and tells the search engine (and visitor) nothing regarding what the page is about.
As with most Joomla issues, you have two choices – the first includes a mixture of Joomla configuration and the .htaccess file (if on Apache), the second using a good quality third-party SEO component to do the work for you.
Rather than explain in depth the first option, I suggest reading the ‘official’ Joomla documentation regarding implementing search engine friendly URLs. I’ve deliberately skimmed over that somewhat as frankly it’s a bit of a pain and often doesn’t yield particularly attractive results. My personal preference is to use a component, taking away the hassle factor. There are few popular ones on the market (sh404SEF, AceSEF and Smart SEO to name just three). After experimenting I have found sh404SEF to be the most superior.
It’s a commercial product but priced competitively at $39 for a one-year licence and supports J1.5-2.5. I like it for two reasons – firstly it’s dead easy to use and secondly it has an awesome bunch of features which really make it stand out from its competitors.
The main draw is how easy it is to implement true search engine friendly URLs. You’ll need to ensure you have an .htaccess file in your root directory then it’s just a matter of selecting ‘yes’ to ‘enable URL optimization’ and selecting ‘with .htaccess’ in ‘rewriting mode’ to ditch the pesky ‘index.php’ from the standard URLs. Job done – your URLS will now look great!
From the control panel you then have easy access to the Meta and title tags for all your pages, as well being able to amend the URLs themselves.
Not only that but there is a degree of in-built security within the product (simply choose ‘yes’ in the ‘activate security features’ button – this includes protection against XSS attacks, flooding and so on. (Related to this and going off topic for a moment, I also suggest you implement an administrator page cloaking plugin as well as general anti-hacking software, especially if you’re using Joomla 1.5).
Canonical Problems? Probably!
As SEOs, we really want to avoid canonical issues; Joomla’s default install tends to create two versions of the same site – e.g. www.yoursite.com and yoursite.com. You may also find the same issue with http://yoursite.com and www.yoursite.com/index.php. Certainly not cool from a search engine point of view as you’re running the risk of it being perceived as duplicate content.
There are two ways of rectifying this – firstly you can make changes to the .htaccess file (assuming you’re on an Apache server). A Google search will provide you with a few examples of how to do this. If you do attempt this, always remember to make a backup of the .htaccess file before you start on it – that way, if you do mess up (worst case being no-one can access your site) you can simply FTP the backed-up version in seconds. IIS users can find a good guide for the code needed for them here.
However, if you like things to be simple or don’t want to get ‘hands on’ with code, you can use one of the plugins available to automate the process for you. My personal preference is the aptly named ‘SEO Canonicalisation Plugin‘. As I mentioned above, ideally you want to be pre-empting the canonical issue before the site goes live. However, as SEOs, in reality we’re going to be dealing with clients’ sites that are established and you’re going to find that in the majority of Joomla installations, the canonicalization is an issue. So part of your technical SEO work should be to assess this and then deal with it promptly.
The standard installation of Joomla shoves in site-wide Meta descriptions and keywords which will apply to every page. Assuming you don’t want keywords saying “Joomla, Joomla” to appear in your Meta, clear both of these fields (go to site>global configuration>metadata settings). In any case you’ll want each page to have its own, unique Meta description.
The other pesky Meta to get rid of is the ‘generator’ tag (some templates will delete this when installed which will save you a job). This, by default, shows as:
<meta name="generator" content="Joomla! 1.5 - Open Source Content Management" />
(1.5 can be replaced by which version you’re using).
It’s essentially redundant code that does two things; increases the amount of HTML whilst adding nothing to your SEO and secondly gives away information about the CMS you’re using, which could, especially with older and non-updated versions of Joomla, cause you problems from a security point of view (it’s easy enough to search Google using the ‘inmeta’ operator to find such pages).
There are a couple of ways to deal with this issue – firstly you can use one of the various plugins which are available for download, e.g. ByeBye Generator for J2.5. The other way is to get your hands dirty by tweaking the code yourself (always remember to make a backup of any file you’re amending before you start!).
So let’s fix this – log into your Joomla administrator area, go to Template Manager, then the ‘templates’ tab, then click on ‘Edit main page template’ (to reiterate – either back this up or do a copy/paste of it in case you mess anything up). Once you’re in there, within the <head> section of the file, add the following code:
<?php $this->setGenerator('Any text you want, or just leave it empty'); ?>
(You could also do this via amending and re-uploading the same file by FTP).
Depending on the template you’re using, you may also need to repeat the process with the component.php, error.php and offline.php files.
What’s Your Alias?
When you create an article in Joomla, by default the title will dictate what the ‘alias’ (or file name) will be when search engine friendly URLs are in effect. The problem with this is, if you have quite a long article title, the URL then becomes equally as long (when you hit save for the first time it will populate this if you haven’t already).
This is easy to counteract, simply complete the alias field prior to saving; keep it short and keep the keyword/phrase in there if relevant and appropriate – job done.
Image Alt Attributes
Whilst this is (or should be) a staple part of your on-page SEO, ensure you don’t overlook amending the alt attributes of your <img> tags in Joomla. I say ‘amending’ rather than ‘adding’ as Joomla tries to be helpful by defaulting to populating the alt with the filename. Assuming you’re using the visual editor, just right click on the image and over-write the ‘Alternate Text’ box – and of course don’t over-optimise! (Incidentally, if you also want to add the ‘title’ attribute to the image, this can be found within the ‘Advanced’ Tab in the same window.
Not just from an SEO point of view, but also with security and site performance in mind, be sure to disable any third party modules/plugins/components you’re not using. Incidentally, whilst we’re talking Joomla security, I strongly recommend that before you install any plugin/module, you check the official Joomla vulnerable extension list. You should also uninstall any templates you no longer intend on using.
Social bookmarking buttons
OK, this isn’t strictly a pure SEO issue but as we should all (hopefully) know, social is getting more and more important. What we want is our visitors liking, sharing, and tweeting about how much they love our awesome site and its content. Let’s make it easier for them by adding social buttons.
My favourite and (in my opinion) easiest way to achieve this in Joomla is by using Add This. This is available as both a module and plugin. The module puts the AddThis buttons in the template itself, whilst the plugin lets you put them in the body of the article. It’s easy to use and configure, and best of all, it’s free.
As you’ll probably be aware, it’s great from both an SEO and a user perspective to have XML and HTML sitemaps for your site. An XML sitemap can be submitted easily to your Google Webmaster Tools account and basically make’s Google’s job in indexing and crawling your pages easier.
Meanwhile an HTML sitemap helps the visitor out if they become lost or want an overview of what content is where on your site.
For us Joomla users, I highly recommend using a (free) product called Xmap. Xmap is a component which produces sitemaps easily and efficiently. It’s compatible with Joomla 1.0x (which you really shouldn’t be using any more), 1.5x and 2.5. The XML sitemaps are compatible with Google, Bing, Yahoo amongst others. It produces sitemaps within seconds and to my knowledge is the most straightforward way of doing so for Joomla.
Whether we as SEOs love it or loathe it, Joomla is very much here to stay and there’s always going to be times we take on clients’ sites running on this CMS. The main issue you’re going to find yourself dealing with in these instances is the canonical one as unless the site was set up correctly to begin with, chances are high that there are issues with duplicate content.
Secondly, check out the situation with the URLs – are they search/human friendly?
Finally, I have alluded to security issues in this article – it’s worth casting an eye over the client’s installation – many versions of Joomla are either hideously outdated (1.0.x) or have new versions to update to (1.5+) which cover a variety of patches and fixes. Arguably the most secure version is 2.5, which the client can consider upgrading to (you will need to check any plugins/modules are supported in this version).
Whilst security may not officially be part of an SEO’s job, certain things can be taken care of really quickly, such as removing the Meta generator content as detailed above.
If you know of any other Joomla SEO tricks or tips, favourite plugins or software to automate Joomla SEO tasks, feel free to let us know by leaving a message in the comments box below.