Joomla SEO

The Complete Introduction to Joomla SEO

At the suggestion of a few people in the Joomla community I decided to site down and write a beginner’s guide to optimizing a Joomla site for SEO.

The bad news: the default version of Joomla isn’t well optimized.

The good news: its such a popular CMS that people have come up with fixes for just about every SEO obstacle in Joomla. I’m going to talk about those solutions.

Quick Preamble

In this introduction, I …

  • … will describe the "how" rather than the "what" or "why" of on-site SEO for Joomla. If you want to learn more about the basics, head over to the Beginner’s Guide.
  • … will assume you’re familiar with some basic Joomla terms such as components, modules and plugins. If you need help here, head over to’s help site.
  • … will only talk about Joomla 1.0. Version 1.5 is too new to have a full range of SEO extensions.
  • … won’t compare Joomla’s SEO capabilities with WordPress, Drupal or other alternatives. That would need a book, not an article.
  • … will be too lazy to add the ! after Joomla every time. It gets awkward to read after too long.
  • … will recommend only solutions that cost zero dollars and zero cents.

Search Engine Friendly URLs

First, the problem. Joomla is a dynamic website software and it produces dynamic URLs. By default they look like this:


In the default installation of Joomla you could rewrite this to something shorter:


However, you and I both need better URLs than that, so we’ll require a plugin. 

There are six components available that can turn Joomla’s dynamic URLs into search-engine friendly URL (to make it easy, we’ll call them SEF URLs). I’m going to strongly recommend one of these and explain why I prefer it.

  • Artio SEF. Unfortunately the authors try to conceal advertising in this component, either inside the <head> tags or as an extra site footer. Removing those links costs €49 but unfortunately it also suffers from some serious technical bugs such as creating multiple URLs for one page and becoming very slow on large sites.
  • JPromoter. This $25 component works in a completely different way from the other solutions, but not entirely successfully. You need to run a scan every time you update the site. The scan often times out and makes editing the site difficult.
  • Open SEF. Back in 2006 this was the best available extension for Joomla, but unfortunately its developers no longer support it and it lives in zombie-fashion as NuSEF.
  • Remosef. Only a very basic solution, this also is no longer supported.
  • SEF Advance. This was the very first URL extension for Joomla but unfortunately it hasn’t kept pace with its rivals. Its encoded, costs €40 per site and lacks many of the features offered by its rivals.
  • sh404SEF. My recommendation. On this surface sh404SEF produces short, keyword-rich URLs for Joomla, but its impact and options go much, much further. Let me summarize why I love it:
    • Its free to download and works with almost every Joomla component.
    • It works even if your server isn’t ideally configured, or even if you’re on a Windows box.
    • It does a great job of stripping out unusual characters to produce very clean URLs.
    • Its fast. Although the URLs are stored in the database, enough caching is done to make even large sites load quickly.
    • It offers every feature found in the other five components, plus a range of security, SEO and accessibilty options.

Headline Tags

By default, Joomla wraps page titles in code such as <td class="contentheading> rather than <h1> headings. There are two main ways to solve this:


Without code changes, Joomla doesn’t allow you to add unique HTML titles to each page. Almost all of the SEF URL extensions mentioned above provide some extra control over metadata, however, this is our preferred solution:

  • Empty both metadata fields in Site >> Global Configuration >> Metadata.
  • Download and install the SEF Patch. This allows unique titles, descriptions and keywords to be applied to every page on the site. Doing this does require patching some core files and causes a bit more work when updating your Joomla installation, but its worth the effort.

Preventing Duplicate Content

Once you’ve added sh404SEF, the main duplicate content issue in Joomla is caused by PDF pages. Its not unusual for us to be do a site audit and find PDF pages ranked more highly than the original content. Three solutions here:

  • Simply turn of the PDF pages. Go to Site >> Global Configuration >> Content >> PDF Icons >> Hide.
  • Apply this hack which adds no-follow to the PDF links. This solution has been taken up in Joomla 1.5.
  • sh404SEF. Go to Components >> sh404SEF >> sh404SEF Configuration >> Meta / SEO >> Insert nofollow tag on Print and PDF links? >> Yes.


Joomla is particularly strong in this area. It has at least three easy-to-use and free-to-download components:

  • Joomap and Xmap are variations on the same code base. Both also create Google sitemaps. I slightly prefer Xmap because it allows you to create multiple maps. However, be careful on both components to uncheck the box in the administration section that says "include hidden link to the author." Leaving this box checked places a link inside the <head> tags.
  • SEF Service Map. This works particularly well with Virtuemart which is the main shopping cart available for Joomla. It also produces a Google sitemap, but it has the added bonus of outputting Yahoo-friendly maps.

404 Error Pages

In Joomla 1.5, this will be handled by the templates, but in version 1.0 you’ll need one of the SEF URL extensions mentioned above.

  • Create a Static Content page with your 404 error message and then link to it from inside your SEF URL extension.


Leave a Reply

Your email address will not be published. Required fields are marked *