The Complete Introduction to Joomla SEO
This YouMoz entry was submitted by one of our community members. The author’s views are entirely their own (excluding an unlikely case of hypnosis) and may not reflect the views of Moz.
Hey All. 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: it's 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're not, take a read through the Joomla 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.
Search Engine Friendly URLs
First, the problem. Joomla is a dynamic website software and it produces dynamic URLs. By default they look like this:
index.php?option=com_content&Itemid=36&id=257.
In the default installation of Joomla you could rewrite this to something shorter:
content/view/36/257
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 URLs (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. It's encoded, costs €40 per site, and lacks many of the features offered by its rivals.
-
sh404SEF. My recommendation. On the surface, sh404SEF produces short, keyword-rich URLs for Joomla, but its impact and options go much, much data. Let me summarize why I love it:
- It's 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.
- It's 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 accessibility 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:
- sh404SEF. Go to Components >> sh404SEF >> sh404SEF Configuration >> Meta / SEO >> Insert h1 tags? >> Yes.
- This code hack on the Joomla forums.
Metadata
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 it's worth the effort.
Duplicate Content
Once you've added sh404SEF, the main duplicate content issue in Joomla is caused by PDF pages. It's not unusual for us to do a site audit and find PDF pages ranked more highly than the original content. Three solutions here:
- Simply turn off 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.
Sitemaps
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.
Wrap-Up
I hope this has been a useful start for people. We blog daily about Joomla SEO, so there's much more to write on the topic but that's probably enough to digest in just one article. I'd love to write a follow-up, so if there's more you'd like to know about optimizing Joomla, feel free to post away in the comments.
Comments
Please keep your comments TAGFEE by following the community etiquette
Comments are closed. Got a burning question? Head to our Q&A section to start a new conversation.