We love digital

Call 0845 485 1219

We love digital - Call and say hello - Mon - Fri, 9am - 5pm

Joomla SEO Explained

Andy Killworth

by Andy Killworth on 30th July 2012

Joomla LogoJoomla (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.

  • Don’t install the sample data – over four million websites have the sample data installed (have a look at some). It’s not big and it’s not clever. Avoid clogging up your site with unwanted files and stop these being indexed from the start
  • Prevent any canonical issues (see later section) before you flick the ‘live’ switch – this means Google won’t index more than one version of the site from the word go
  • Disable any modules, plugins or components that you’re not using (and get in the habit of doing so).

Yucky URLs

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:

www.yoursite.com/index.php?option=com_content&view=article&id=102&Itemid-62.

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.

Meta Matters

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.

Housekeeping

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.

Site Maps

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.

Summary

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.

Andy Killworth

Andy Killworth

Andy has a wealth of experience including financial services, public sector and the online gaming niches. With a passion for excellent quality, ethical SEO and digital marketing, he brings a real enthusiasm for delivering consistent results.

down arrow

Your Free Whitepaper

Getting Started With Search Engine Optimisation

Getting Started With Search Engine Optimisation

Download this whitepaper now and get a new one every month!

11 Comments

  • Brad 30th July 2012

    Joomla is fantastic :) I would suggest adding in rules to robots.txt to stop the indexation of component and module folders which can also happen alot. Something like:

    User-agent: Googlebot
    Disallow: /folderblahblah/
    Allow: /blahblah/mycoolfilethatshouldbeindexed.html

    Of course you have to be careful!

    Reply to this comment

  • Andy Killworth

    Andy Killworth 30th July 2012

    Hi Brad

    Thanks for checking the article out. I’m a big fan of Joomla too (as you can probably tell!)

    Excellent tip about the robots.txt file, many thanks :)

    Reply to this comment

  • Kyle 31st July 2012

    Good overview Andy!

    This is a good start to point out there prime areas to start optimizing, but I do think you could note a couple other options for canonicalization and the generator tag.

    Unless I overread this, sh404sef takes care of both of those as well, thus resulting in further plugin bloat reduction.

    Not only is it a URL component though, but it also handles the ability to do 301 redirects via URL rewrites and aliasing, complete meta and rel=canonical management for compatible extensions and core, and social tags / meta insertion as well :)

    For those who would rather not dig in on the htaccess file, you can always use admin tools from aleebabackup.com as well!

    Cheers!

    Reply to this comment

  • Andy Killworth

    Andy Killworth 31st July 2012

    Hi Kyle

    Thanks for stopping by and leaving a comment, much appreciated :)

    Yes sh404 is really powerful for various reasons. I also use Akeeba – fantastic product.

    As much as I love working with the Joomla platform, it’s a shame that it isn’t more SEO friendly ‘out of the box’ – but I’ve found now I have a good process mapped out for when I do fresh installs – can be a bit of a pain when you inherit an old site though!

    Reply to this comment

  • Kyle 31st July 2012

    You betcha. I agree on both points (power behind sh404 as well as Akeeba being one of the best, well thought out products in the Joomla market), as well as the point that the out-of-the box SEO friendliness is something that can definitely be improved upon.

    I think the upcoming 3.0 release of Joomla will start pointing us in the right direction in terms of semantic HTML and coding practices, and am really hoping that the 3.5 release next year will incorporate UCM, which I think will largely help SEO overall (as we’ll have the ability to build out functionality that plays inherently well with SEF and on-page optimization practices).

    Cheers.

    Reply to this comment

  • Bennu 8th September 2012

    i would like to know how to customize my site url like

    http://www.bennulabs.com/itemname.html

    or

    http://www.bennulabs.com/itemname

    i have tried with sh404 i am unable to get it.. do you any idea please help me i am using joomal 1.5 and easy blog 3.5

    thank you in advence.

    Reply to this comment

  • Trizinnovation 21st March 2013

    hi,

    I created website in joomla but i want rank in google.com but it is not crawl my all pages. How to call bot to cache my web pages in google.

    Reply to this comment

  • zubair 21st June 2013

    Great SEO tips for Joomla….

    M facing a problem with the indexing of the component files and other joomla folders which should not be accessed by the bot.

    Even though i have disallowed them in my robots.txt they still continue to appear in the search results.

    Any idea what could be the issue?

    Reply to this comment

  • porselen diş fiyatları 23rd July 2013

    I too spent a group of time working to setup my site with this software. I originally thought it was great. Then, suddenly it just stopped working. The SEO input stayed, but not after I turned the Extention off.

    I tried on multiple occasions to contact JJExtentions for support, but they have NO SUPPORT on there site. All I could find was an email drop down on their Menu under Contact.

    If you need SEO simplification. This is NOT THE ANSWER!!!

    Reply to this comment

  • betty 5th February 2014

    I’m right now working on Joomla 3.2 website. When I access a correct url the page looks fine. But if I add say a extra folder or a word then also the same article appears.
    Eg: http://www.example.com/solutions.. is the correct url
    now I add
    http://www.example.com/abc/solutions…then also the same page appears instead of page not found…
    Can you please tell me how to solve this problem

    Thank you.

    Reply to this comment

  • Amor 7th February 2014

    Great article and I also love Joomla.!

    I don’t like installing plugins, components unless I really, really need it, therefore, I do not use sh404SEF, or any other SEO plugins for I prefer using Joomla’s core SEO feature (within .htaccess).

    For canonical, I prefer also using .htaccess.

    For removing the generator, even though ByeBye Generator is wonderful, I prefer using the option you mentioned above by adding the php code before the instead but instead of having nothing in within that line, prefer adding something like ‘Web design and SEO company tailored to small business with limited budget – SimplerWebs’

    Adding an HTML sitemap (not crowded of course) within your footer is also a good idea

    I love XMAP

    The only thing I am not sure as far as SEO is concerned is adding a module within an article. I am not sure because I prefer having less HTTP calls than I have too!

    Note: Sorry for using my site as an example! You are welcome to remove it though.

    Once again, great article about Joomla and SEO and I truly think that Joomla is not bad for SEO if you know how to properly use it, as explained by your article.

    Reply to this comment

Subscribe To The Koozai Blog