Essential SEO tips for your Joomla website

Simon Kloostra

Simon Kloostra is a dutch web designer, most known for publishing about SEO and Performance related topics regarding Joomla. He owns the blog and has also written the book "Joomla 3 SEO & Performance". Also he regularly speaks about these topics in Joomla User Groups and Joomla Community Magazine.

Maybe you have a really nice website and your friends and family also really appreciate it. However, you probably need more visitors than these, and SEO is the best way to achieve this.

You’ll Learn About:

  1. Page Title and Meta Description
  2. Keywords research
  3. Basic SEO configuration in Joomla
  4. Organization: Categories and Menus
  5. Text and Headings
  6. Internal links
  7. Descriptive images
  8. Metadata
  9. Technical SEO:
  10. Speed Performance

1. Page Title and Meta Description

SEO stands for Search Engine Optimization and it basically deals with the topic of being found in search engines. However, SEO does not just stand for getting high in Google. It also means that people need to click on your website between the other search results. If done well, you may even have more clicks then the competitor who outranks you.

Just look at this random result in Google when I search for a cookie factory:

This does not seem very interesting at all and I would rather click on something like this:

The key is to get as high as possible in Google and then optimize the snippet that is shown to people.

The first line with each result is called the Page Title, which is pulled from your website if Google thinks it is relevant. The description of 2 lines is called the Meta Description and also this one is pulled from your website if relevant.

If Google thinks it is not relevant, it will ignore it and use some descriptive text. But make sure you understand how powerful you can use your own website to format the display of your site in Google. Make sure you optimize this for every page of your site, not just the homepage! We will discuss how we will achieve this in Joomla.

2. Keywords research

First a few words on the topic of keyword research. You should use words that your users use to possibly end up on your site. The key here is not to think as the expert that you probably are, but to think as the ignorant searcher in Google. Which words would he use if he would search for your product. First you can probably come up with a nice list yourself, or else ask your family and colleagues to assist you with this.

Secondly, simply use Google to assist you. First of all use the Google autofill feature in the searchbox to come up with new suggestions that you had not thought off:

Secondly, check the bottom of the page for other suggestions that people often search for:

You can also use advanced tools like the Google Adwords Keyword Planner for more suggestions, but that’s more for advanced users.

Now it’s time to use these keyword in our website. This means you could include it in any of the following locations:

  • Body text of course (but not too much, avoid unnatural keyword-density)
  • Headers
  • Bold text
  • Page Title
  • Meta Description
  • Images
  • URL

3. Basic SEO configuration in Joomla

As soon as you install Joomla, you should review the Global Configuration settings, which you will find straight from your control panel. Some of the settings here are very important for SEO, so let’s review the important ones. I will split them out in groups.

First we find the Site Name. Make sure you use a valid and short Site Name. In this example, let’s assume we are building the TemplateMonster website. The actual brand could be a very good Site Name:

Then we find a group of settings to the right of the same screen, called the SEO settings, After initial installation they look like the screenshot below:

Some of these settings are fine, but some should be changed as well. One that you definitely will have to change is the second one: Use URL Rewriting. This sounds complicated, but it basically helps Joomla to build cleaner URLs. Most noticeably, it removes the index.php string from your URLs.

Note that if you change it later, your URLs will change, and Google does not like that, so do it immediately after installation.

However, changing this setting requires you to do one step simultaneously: in your Joomla root folder you will find a file called htaccess.txt. Rename it to .htaccess (without an extension). The URL Rewriting feature simply requires this file to be there.

Then the next setting to be reviewed: Include Site Name in Page Titles. With this setting you prepend or append your Site Name (in our case TemplateMonster) in the page titles we supply to Google. The best is to use wither one of these, but if it is not relevant for your site, you can also leave the setting to No.

Then finally we find the Metadata settings at the bottom of the Global Configuration screen:

I advise you to leave these settings empty: It is much better to set Meta Descriptions at an individual article level then globally. This may be contrary to other tutorials, but remember that SEO is about optimizing every page of the site individually.

Now the global settings are done, from now on we will optimize our individual articles.

4. Organization: Categories and Menus

Before you start with creating articles, make sure you build a well-organized structure. Especially for larger sites, break up your content in logical categories. Also, build a menu-structure that assists this structure. As an example, if you plan on maintaining a blog, it is very logical to publish these articles in a category called Blog and also to publish it in a menu-item called Blog.

5. Text and Headings

Every article should be well-organized in itself as well, similar to as you are working in MS Word: You start with a title, then some text, then a header and some more text, etcetera. Make sure you use a logical hierarchy. Usually, your Joomla article title will be shown as the main header of the page.

In HTML, this will usually be an H1 or a H2. Make sure in the body text, you use either H2 or H3 as the next level in the hierarchy:

You can easily use the editor to build these headings of course.

6. Use internal links

Internal links strengthen the URL structure of your site and help Google to assess the important pages. So, first of all, use these links. Build them in your articles and point them to relevant pages, and make sure you finetune the words that make up a link. Avoid phrases like Click here, Download, etcetera, but be descriptive:

7. Use descriptive images

Images are a great way to enhance your site. Not only people love images, but also search engines, especially if you mark them up correctly. The first step in this process starts at your local PC. If you want to show an image, don’t just upload the image straight from your camera. Not only will the image be too large often (making your website slow), but also the name of the image is relevant. If you use an image of a bird, make sure the image is called bird.jg or even more specific: mocking-bird.jpg.

Secondly, add a short description to the image. In HTML view this is the alt attribute of your image. This attribute was originally meant for disabled users with screen readers, but Google also appreciates this aid in understanding images.

You can add this attribute with most editors, including the Joomla-core TinyMCE editor. However, a good aid is the JCE-editor. Besides many other improvements, it makes it really easy to add alt attributes, as it always takes the filename as the description (with the extension stripped off and dashes transferred to spaces. So in the case of the mocking-bird.jpg image, it looks like this when you add it:

Even better would be to be even a bit more descriptive, like: mocking bird drinking water or something like that.

8. Metadata

After you added text, headers, links, images and other content, you should also think about your metadata.

Remember that every page should have a Unique Page Title and Meta Description.

Best is to add metadata right when you are creating your articles. The Page Title is often fine, as it is taken from the title of your article, but Meta Descriptions need to be added separately. You can do so in the Publishing tab of your articles:

Build the Meta Description as an attractive summary for your article, that often works best.

If you have a small site, you can usually keep track of which article has metadata or not without issues. However, for larger sites this may become quite a struggle. Metadata are not directly visible on the frontend nor backend except for entering each article and checking the Publishing tab, which may become a bit cumbersome.

A perfect extension for managing metadata is OSmeta by Alledia. This gives you a perfect dashboard to manage all this in one screen:

It also gives you some tools to create Meta Descriptions based on the first characters of the text, and options to set your Page Title independent from the article title. And it nicely aligns with the Joomla core as well. The Meta Descriptions are maintained in the actual core database-table, so if you uninstall OSmeta most of this data will not be lost.

9. Technical SEO:

a. Robots.txt

Now we are getting a bit more technical. The robots.txt file is a small file sitting in the Joomla root folder on your server. It contains some information for the search engine bots, telling them which parts of the installation may be accessed and which not. Of course they do not have to go into the /plugins or /components folder.

However, in earlier days Joomla was more restrictive, blocking also the /images folder, meaning it would prevent indexing of your images, which is not a good thing of course.

Later, Google required access to your CSS and Javascript files to be able to judge whether your site is mobile friendly or not. For this purpose, it needs access to the /media and /templates folder, which were blocked in earlier Joomla installations.

In short: if you build a new Joomla website, don’t worry about this, Joomla ships with a correct robots.txt file now. However, if you have an older website, make sure the following lines are removed from the file if you still see them:

Disallow: /images/
Disallow: /media/
Disallow: /templates/

b. Sitemaps

A sitemap is a page on your site that shows all the pages of the sites in a handy overview. Especially if you have a larger site with complicated navigation, this is usually a good idea. Some visitors might appreciate this page for easier navigation.

However, also search engines would like to see a sitemap to be able to quickly find out which pages are on your site. Note that it does not immediately boost rankings in Google, but especially for having new sites or new pages on an existing site indexed they definitely serve a purpose.

You can create sitemap wither online with tools like or use an extension again. OSmap, also by Alledia is a very easy to implement sitemap extension. After installation it will generate a sitemap based on the structure of your menu. You can find the location of the sitemap by clicking on the XML link in the dashboard under Sitemap Links:

Finally, make sure you register an account at Google Search Console (formerly Webmaster Tools) and submit your sitemap there.

c. .htaccess file

One final step for now: if you publish a website, by default you can access it with or without the www string, like this:

Actually, Google could see this as 2 separate sites, sitting at different locations. To prevent this, it is best to enforce access to only one of these. If the site is already in Google, check which one is indexed already (use search string in Google). For a new site, I prefer to use sites without www, simply because it is shorter, and nobody needs the www-information anyhow. You can do so in the .htaccess file in your Joomla root folder:
RewriteEngine On
RewriteCond %{HTTP_HOST}
RewriteRule (.*)$1 [R=301,L]

But you can also enforce www-access:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^ [NC] RewriteRule ^(.*)$$1 [L,R=301]

By the way, the line RewriteEngine On should only occur once in the .htaccess file, so if it is already there, don’t add it again.

10. Performance

One final advice for you is to check the performance of your website. Slow sites often have less visitors who spend less time and quickly turn to other sites. Also Google appreciates fast sites. So, make sure to check your site in a tool like GTmetrix:

Aim for a loading speed under 2 seconds.


If you followed all the advice in this tutorial, your site should be SEO-optimized pretty good already, Remember though that Google is always slow to follow. Often it takes a few weeks or even months before you will see results, especially for new sites. In the long run though, SEO is the way to go.

Also remember that SEO is a continuous process and that there are more actions you can do to promote your site. In this blogpost we mainly talked about on-page SEO, but you should also look at off-page SEO, meaning stuff like:

  • Getting a few links from reliable websites in your area / subject
  • Social media promotion
  • And if you need quick results, maybe you should even pay for advertising online with programs like Google Adwords or similar ones

Good luck conquering the world of Joomla SEO with TemplateMonster's website templates.