This is a 4 part guide to setting up your URLs correctly in Joomla.
It's just about the most detailed guide you'll find anywhere online, hence the name! We present you with the Ultimate Joomla SEF URL Guide:
- Part 1: Why Use Search Engine Friendly (SEF) URLs?
- Part 2: How to Set Up Joomla's SEF URLs
- Part 3: Troubleshooting Joomla's SEF URLs
- Part 4: Using an Extra Search Engine Friendly URL Extension
Introduction: What Are Search Engine Friendly URLs
Very simply - they are URLs that contain information:
- Is a a Search Engine Friendly URL: /joomla-training/
- Is not a Search Engine Friendly URL: /index.php?option=com_content&view=article&id=25&Itemid=28
Part 1: Why Use Search Engine Friendly (SEF) URLs?
Better for Search Engines
Search for keywords in Google and they'll be highlighted whether they appear in the page title, description, domain or ... the URL. Check out this search for in Google:
In this SEOMoz study over 30 SEO experts were polled on the most important factors in ranking well. Coming in at number #6 ... "Keyword Use in Page URL"
Better for Humans
- Imagine calling up your customer, asking them to visit a page on your site and telling them to go to example.com/index.php?option=com_content&view=article&id=25&Itemid=28. Pretty difficult, right? Much easier to ask them to go to example.com/about-us. People can understand that URLs, then can remember them, than can say them. They also get a very good idea of what the page is about.
- Studies have shown that people are more likely to click through if they see these readable URLs in search results.
- These URLs can also act as a pathway to help people understand where they are on your site.
Better for You When You Move Your Site
The way I often try to explain this .... Imagine if you had a coffee shop with a steady stream of customers. One day you shut your doors and moved to the other side of town. Imagine how many of them would bother to travel the extra 20 minutes to visit you. Now imagine that you didn't even put a note on the door telling them where you'd gone. That's essentially what most people do when they migrate sites. They break all their URLs and often don't even bother to redirect them. From my experience, how people manage the URLs during a migration has a huge effect on visitors numbers:
- Kept the same URLs: no drop in traffic
- 301 redirects from old URLs to new: Around a 25% drop in traffic. (read one example here)
- Broke URLs with no redirects: A 50% or greater drop in traffic
Now imagine how much easier it is to migrate /about-us/ and /contact-us/ URLs than it is to migrate URLs like this: index.php?option=com_content&task=view&id=37
What we're going to do now is show you how to create search engine friendly URLs in Joomla.
You'll now see a screen like the one below on the right-hand side:
Under "SEO Settings" there are three options. Here is how the three options will change your URLs if you set them to yes:
My personal preference is to check Options 1 and 2. I don't see the point of adding .html on the end of URLs because it makes them longer and besides: we're not building HTML sites any longer.
Much better, wouldn't you agree?
Where Do These URLs Come From?
Almost everywhere you go in Joomla you'll see a field called "Alias". This is basically means "URL".
If you don't fill it in, Joomla will automatically do it for you. It will clean up any usual punctuation and fill in in spaces with a hyphen.
If you do want to fill it in, you can choose your own URL for the page. One common reason for doing this is to have a long interesting title on the page: "Ten Great Reasons to Use Joomla's Search Engine Friendly URLs" but still have a short URL such as "joomla-sef".
Inside menu links:
Did that get your attention? Changing these settings is useful, but it is the most common way to cause temporary problems with your site. You'll know that you've made a mistake if your site start's looking like the image above.
However, don't worry, there's no real harm done. If you see this, immediately go back to Administrator >> Site >> Global Configuration and change all the settings to "No". Your site will be back to normal.
However, the solution is not always straightforward and each hosting company is a little different. Here are some ways to fix the problem. I'm going to put them in order - try the first solutions first then move on the trickier solutions if you still have problems.
1) Rename the htaccess.txt file
Login via a file manager so that you can access your Joomla files. You're looking for a file called htaccess.txt that is the main area of your Joomla files. You're going to do just one thing: rename that file from htaccess.txt to .htaccess:
Now go and check whether your URLs are working. If not, let's move on to the next step:
2) Check Your Server
This will check to see whether your server is correctly set up with a feature called mod_rewrite which, well ... rewrites your URLs.
1) Go to Administrator >> Site >> Global Configuration and turn on all 3 SEO settings. 2) Rename your htaccess.txt file to .htaccess as in the step above. 3) Next place only these following lines in your .htaccess:
Options +FollowSymLinks Redirect /joomla.html https://www.joomla.org
4) Point your browser to: https://www.yourdomainame.com/joomla.html 5) If it redirects you to joomla.org - then mod_rewrite is working. If it gives you an error - mod_rewrite is not working and you'll need to contact your host to get it setup.
Note: if your site is located in subdomain example "test" you need to insert in .htaccess as:
Options +FollowSymLinks Redirect /test/joomla.html https://www.joomla.org
That brings us to the next point:
3) Are You in a Sub-folder?
If your Joomla site is located in the sub-folder you may have another change to make. 1) Rename your htaccess.txt file to .htaccess as in the step above. 2) Find this line inside your .htaccess file:
3) Change this line to remove the hash mark and include your folder name:
# RewriteBase /
If that doesn't work, you could also try simply removing the hash mark:
It is possible to get even greater control and flexibility over your Joomla URLs by using a extension. Be warned, these components will also introduce extra complexity, so you they are only recommended if you are in a competitive industry and rankings are very important for you. Most sites will be fine with the basic Joomla SEF URLs that we talked about above.
SEF URL extensions go from very simple to very complex. If you are moving an existing, well-established site to Joomla, you would be well advised to use one of these to mimic your current URL structure so that you can keep your URLs unchanged.
Joomla 1.5 SEO Extensions
|Ace SEF [-]||Artio SEF [-]||SEF Advance [-]||sh404SEF [-]|
|Price||Free with link, $19 without||Free with link, 29 Euros without||40 Euros||$37|
|Overall||Very robust. Easy-to-use and has a medium number of options. Numerous plugins for other extensions.||More features than SEF Advance, easier to use than sh404SEF.||Less features but easier to use than the other SEF URL components.||The most features but also the most complexity of all three SEF URL extensions.|