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.
- 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).
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 themhere.
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 usingAdd 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.