I don’t think you need an introduction to what a URL is. But still, I’m going to tell you anyway. The URL is the address of your website by which the search engines and the visitors find your website. So, it is important to make your website’s URL friendly for search engines and users so that they can find it easily.
The challenge with Joomla is, it doesn’t provide a user-friendly URL by default. So we need to work on that and that’s what we’ll be learning today in this tutorial. Our primary URL for this article is yoursite.com/index.php/about and our goal is to make it yoursite.com/about so that it will be easy to remember by humans and easily findable by search engines.
So let's get started.
Our goal is to drop the index.php part which will make the URL more visible to the eye, easier to remember and to share.
Step by step guide to a user-friendly Joomla URL
We need to log into the Joomla admin area of our site then go to System > Global Configuration.
You’ll find SEO Settings on the right side of your screen. There, you’ll see “Search Engine Friendly URLs” is already been set to “Yes”. In case it’s set to “No”, you’ll need to change it to “Yes”. Otherwise, the functions we are looking for won’t be visible.
This is the most complicated step and the most important one. What we are going to do in this step is, we will rename a file. In order to do that you need to log into your Joomla file system. The file name is htaccess.txt which will be found in the main directory [Web Root (public_html/www)] along with configuration.php, index.php and other files.
We will change htaccess.txt to .htaccess
Note: You need to have Apache mod_rewrite enabled. If you can’t rename the htaccess.txt file to .htaccess then you’ll probably have it there. You can find it by enabling hidden files view. After that, open .htaccess file and uncomment RewriteBase / (just remove the #).
And, if after renaming htaccess.txt to .htaccess you see a "500 Internal Server Error" then open .htaccess file and comment lines Options +FollowSymlinks and Options -Indexes (add # at the beginning of the lines). Then reload your site in your browser. If this step does not resolve the issue, please contact your hosting support.
Now let's go back to our Joomla admin area and find SEO Settings (System > Global Configuration). We’ll set the “Use URL Rewriting” to “Yes”. Our work is done here.
If you want to show .html after your URL you can enable “Add Suffix to URL” option. But to me, it's not necessary. The search engines do not care about .html extension. So you can leave it as it is.
Now that we’ve worked really hard to make our website’s URL user-friendly. Let’s see if our work has paid off!
Yay, it has!
Caution: This procedure is a difficult one and it may cause broken links to your site. The fix is simple if you see anything going south just change the settings to the default and you’ll see your site is up and running smoothly.
One more thing you might want to recheck before going live with this method, you may have used /index.php/ in your internal links, I'd suggest you drop that. Joomla still can read both URLs (with and without /index.php/) but for search engines, those are two different pages with same content. Sometimes this might impact search engine rankings because when duplicate content is present, Joomla site owners can suffer rankings and traffic losses.
Please note, for the purpose of this article we chose Apache web server. If you’re running your website on other servers like Nginx, Hiawatha or Windows IIS please have a look at the official Joomla documentation.