6 minutes reading time (1273 words)

Team EaSE Article: SEO, Joomla! and your Template

Team EaSE Article: SEO, Joomla! and your Template

Many people ask “Is Joomla! good for SEO or not?” and my final answer is: “Yes it is!”.

Joomla! is the ideal software with which you can build any website: business, corporate, education, government, portals etc. At the same time it is one of the easiest content management systems to set up, for many reasons, and good for the purpose of better rankings in search engines too.

Joomla! is designed so that it is very easy to adjust output for SEO without having to worry about losing your settings after an update. All of your overrides are saved in a custom folder called html. Therefore they are protected from being overwritten and you can create or adjust your template for maximum performance in the search engines.

In this first article of my SEO (Search Engine Optimisation) series, we take a look at the basics you will need to achieve good search engine placement for your website.

On-page optimisation

SEO is not just an on-page process. It is an organic process which should start from keyword research (terms and phrases), building a search engine friendly web site and building links. What is most important from these three? All three.

Building a search engine friendly website is very important. As any website, Joomla! needs a good template, robots.txt file, sitemap, SEF URLs and body tags.

Learning how search engines work is a long process, but here are some fast-track guidelines for on-page SEO steps

A Web Page can be considered SEO friendly if it has:

  • meta description (max 150 characters)
  • good architecture
  • link to the home page
  • breadcrumbs
  • category or/and section link
  • title with H1 tag, with keyword or phrase (title tag max 70 characters)
  • subtitles with keywords or phrases
  • great ratio text to code
  • content (article) which is near to the closing head tag
  • unique content
  • proper name of images, with alt attribute and folder name
  • a few instances of keywords and/or phrases in the article (heading, alt, bold, italic)
  • speed and no more then 150 kb
  • low number of CSS and javascript compressed files

Before search engines crawl a website, they will first try to find the .htaccess and robots.txt files.


When you unpack the Joomla! archive, you will find robots.txt and htaccess.txt file in the root of the directory. Do not move those two files from the root directory of your Joomla! Site.

With the robots.txt file you are giving instructions to the search engines of which pages they should visit. Keep in mind that search engines will visit all of your pages to check if there is some kind of hidden malware code, but they will not index pages you excluded via this file. Do not include urls of single pages in a robots.txt file, because it can be an indirect security risk. It is always better to include the folder which includes the file.

Usually I recommend two things to be done in robots.txt file:

  • Tell all search engines where your sitemap is:
    User-agent: *
    sitemap: http://www.domain.com/sitemap.xml
  • Completely remove this line:
    Disallow: /images/


Most of all .htaccess can be used for making SEF URLs, setting up a canonical URL, redirection, and some restrictions. More information about .htaccess will be given in a future article.

Body tags

Body tags are important for SEO: description, keywords, language, rel="canonical", title tags, architecture of the page, speed, keywords in text, headlines (h1, h2, h3, h4), names of images, alt attribute, bold, italic, anchors, micro-formats, html comments.

Overriding default output

Although Joomla! is not made for SEO out-of-the box, its strength is that the developer is able to create any type of website that is fully optimized for SEO. Understanding output overrides will give you the freedom to do your SEO work properly.

Remove unnecessary code from your template

In most cases, many Joomla! templates are crawlable and don’t make problems for search engines - but do make sure you clean up your code. I often see people using less than 50% of their CSS code that came with template; if you don’t use pdf, print and email icons, remove them from code too.

Keywords or phrases in links are very important

A link with keywords or a phrase will be considered more important than any other link with the same topic. A good clean, not long URL will enable easier back-links from other websites. A link should not have more than two phrases and no more than three or four categories in it.

Meta Description

This must not be longer than 155 characters. This description is usually shown in search engine results page (SERP) so you should always be careful to make it user friendly. That means readable and interesting so users will click on it. If you can put some keywords in it, good but there will no be big impact on SEO.


These are very helpful and can be shown in SERP like rich format text. Microformats and rich formats will be discussed more fully in a subsequent article.


The title should be always in an H1 tag, with keyword or phrase and max 70 characters. This is because of the URL and browser tab. The H1 tag is the most important body tag for SEO. Titles should always have keywords or phrase.

Text to code ratio

Yes, search engines looks for this but don’t worry too much - keep your pages under 150 kilobytes. If you have strong competitors, then you should take more care of this ratio.

Content (article) which must be near the head

I am sure you are all used to looking under the hood with CTL+U (view source). Content should be very close to the top of the body tag and all other content (modules) should be underneath (source ordered content). It is very important that you put your keywords or phrases at the beginning.

Unique content

Good and unique text is very important to get a higher position. Always check for text to code ratio but don’t forget you write for your users. Do not copy/paste content from other web sites even if it is your own. Engines could penalize this. Make viral content - to be discussed in a future article.

Proper naming of images with folder name

This can bring extra traffic from search engines. Naming of images is very important: "DSCF0150.jpg" should be renamed to something more appropriate like "house-on-manhatten.jpg".

Alt attribute

The alt tag is something which will bring good points to the On-page SEO. Example:

img src="/house-on-manhattan.pg" alt="House on Manhattan for sale"

Repeating keywords and/or phases throughout content

There is no magic number of keywords which you should enter in text. Good practice is to repeat it several times through text, bold, italic, alt. But keep it within reason. Do not overuse them because users will not like it.

Compressed and low number of CSS and javascript files

More on this can be found in the Team EaSE Article - Beauty is Skin Deep. The speed of a website is very important and the maximum weight of one page should be lower then 150 kilobytes.


I never understand why titles in modules are put in H3 tag. As previously said, the main article title should be in an H1 tag but don’t forget to use h2, h3 and h4 tags as well. They are important too. Keeping titles in H3 tag like “Poll” “Main Menu” “Who is on site” on most of your pages is not the very best idea. I would recommend to put module titles in a lower H tag like H5 or H6 or not use an H tag at all.

Joomla! Template Tools Part Two
Sync Joomla! websites with MAMP and Dropbox on you...


Already Registered? Login Here
No comments made yet. Be the first to submit a comment

By accepting you will be accessing a service provided by a third-party external to https://magazine.joomla.org/