The Complete Guide to Joomla Search Engine Friendly URLs

The Complete Guide to Joomla Search Engine Friendly URLs

A URL is your Joomla site address.

Your site visitors and search engines will be finding your site or its pages using the URL.

In this blog post, you are going to learn about making Joomla URLs easy-to-remember and easy-to-use. This will help your site in the eyes of both human visitors and search engines.

By default, Joomla doesn't produce the prettiest or most memorable URLs.

For this tutorial, I created a Joomla site with some sample data. The sample data includes an article called "Getting Started". 

The URL for this is <example.com>/index.php/getting-started.

url for getting started

That URL is quite a mouthful. It would be a lot better if the URL of our Getting Started article was simply mysite.com/getting-started.

What I would like to do is shorten those URLs getting rid of the index.php bit. This will make them easier to talk about and easier to share.

How to Change Your Joomla URLs

What you are going to do in order to change these URLs into shorter ones is go to the admin area of your Joomla site. Once there, you are going to go to System and then Global Configuration.

02 system global configuration

You will be presented with the Global Configuration screen. What we are looking for is the SEO Settings section on the right-hand side.

03 seo settings

You have the Search Engine Friendly URLs settings here. They allow you to select whether or not your URLs are optimized for search engines.

I have two warnings before you begin:

  • These settings are more responsible for people saying, "Help, my site has crashed!" than anything else in the history of Joomla.

    Fortunately, the fix is simple: if you change any of these settings to Yes and your site starts producing broken links, simply change the settings back to No again.

    At the end of this post, we have some suggestions for making these settings work if they cause problems on your site.
  • It is best to get these settings right before you launch your site. If you change them later, they can cause broken links and frustration for your visitors.

By default, it is set to Yes. Good for us.

You also have the Use URL Rewriting option. This one is a little more complicated. The way that you are going to set it up is for people that are using Apache servers. If you happen to be using the Windows IIS server, this will be a little more complicated.

What you need to do first before you can check the Use URL Rewriting button to get rid of the index.php in your URLs is change the name of one of your files.

You are going to need to log in to your Joomla file system. The file that you are looking for is called htaccess.txt.

04 htaccess txt file

What we need to do is find this file. It's going to be sitting in the main directory of our Joomla site, next to the configuration.php, readme.txt, index.php and other files. What you are going to do is remove the .txt ending of the file.

You are going to place a dot in front of the file name. All you do is changing the name of the file from htaccess.txt to .htaccess. That is going to be enough to make your file work.

05 renamed htaccess txt file

Now, you are going to go back to the SEO Settings. What you can do is check the Use URL Rewriting button. That should remove the index.php from your URLs.

url for getting started without index php

You now have, thanks to those two Search Friendly URLs settings, a much cleaner and easier to remember URL.

You may notice that there are some other settings in there. For example, you can add a suffix to the URL.

07 add suffix to url 1

To be honest, I don't find this suffix useful. If you enable this feature, it is going to do is add .html onto the end of the URL. This makes the URL harder to remember and we are not building sites in pure HTML anymore. I don't think this is a useful option.

08 url with html

If you happen to be building a site in a language that requires different characters than A to Z, then you may want to consider setting the Unicode Aliases to Yes.

If you are simply building a site in English or most European languages, you can simply set this setting to No.

So, this is the first part of the puzzle with the URLs.

If you change the name of your htaccess.txt file to .htaccess and set those two SEO settings in Global Configuration to Yes, then you can get nice and clean URLs on your Joomla site.


What's Next?

Save $1,000's when you sign up to Joomlashack's Everything Club.

You will get access to all our 32 extensions, and legendary support!

  Click here to join the Everything Club