How to enable SEO on Joomla

Wednesday, 19 April 2006

I know, there are many FAQs on this. I still want to point out the essential steps and related information here on teachmejoomla.com:


Joomla has built-in SEO functionality.(SEO stands for Search Engine Optimization). The SEO tab in Global Configuration (in Administration backend)takes care of global SEO settings for your Joomla site.

The tricky part is enabling search engine friendly URLs. If you are wondering what are those good for, here's an example:
A non-sef URL:
www.site.org/index.php?option=com_weblinks&task=view&Itemid=22

The Joomla SEF version of the previous URL:

http://www.teachmejoomla.com/component/option,com_weblinks/Itemid,22/


3rd party SEF extensions may display "friendlier" URLs, such as

http://www.teachmejoomla.com/useful-links/link-list.html


These URLs look like static sites for SE crawlers(which is good), and may be easier to memorize and more relevant to your human visitors(especially the ones like the last example). Aditionally, keywords in urls get you a higher search engine positioning in results.

Step 1: check SEF URLs requirements:

There are a few requirements for SEF URLs to work properly(the other SEO configuration options work regardless you have SEF URLs enabled or disabled):
You need to run the Apache Web server.
You need mod_rewrite module on apache. Most hosting companies have that module installed.
Furthermore, you need Apache configuration to allow .htaccess files.

You can easily check your Apache configuration (among other system settings) by going to System->System information and selecting the php info tab in your Joomla administration backend.
There's an "Apache" section and a "loaded modules" subsection there. mod_rewrite should be listed among those modules.

If all went well, you're ready for the next step.

 

Step 2: Configure SEF URLs and rename the htaccess.txt

 

This step requires a FTP client or a web filemanager. (such as cPanel's Filemanager). That will allow you to rename your htaccess.txt and/or revert to non-SEf URL's if something goes wrong.
All you have to do is:
open your Joomla Administration and enter global configuration, select the SEO tab
open your FTP client or the online filemanager for your website, and rename the htaccess.txt file in your Joomla root folder to .htaccess (note that you MUST include the leading dot)

A note to Windows users: Explorer does not allow leading dot filenames.

To rename the file under Win32, you need to click Start->Run, then type cmd (this opens a command line when you hit OK)

then change dir to your local joomla folder (e.g. cd "c:\easyphp\www\joomla" <ENTER>), and issue the following command:

ren htaccess.txt .htaccess
Switch back to your Joomla andministration web browser window, click on "Yes" on the "Search Engine friendly URLs" line, and push the "Save button".
Click on Site->Preview site in new window to check the results and you're done.

If unsuccesful, go to step 3. 

Step 3: I screwed up

Don't worry! It happens all the time.
There is a great chance that you get 500 (Internal server) errors, if something does not work.

Make sure you have the .htaccess file (with the leading dot) in your Joomla root folder. You can also check file's content with your ftp client or filemanager and see if the mambo header comments and the apache directives are there (RewriteRule lines, etc)

If this is ok, your hosting provider could have the .htaccess overrides disabled, so you need to contact them. They may also have the override filename changed in apache config.

Meantime, you need to get your site back online and working until those problems are solved.

Reverting.

Here's how it's done:
open you filemanager or FTP client, and use it to rename your .htaccess back to htaccess.txt
Next, open your configuration.php file (wich is also located in your Joomla root folder) and change the
$mosConfig_sef = '1';
line to:
$mosConfig_sef = '0';

Save the configuration.php and you're back to non-sef, but working URLs.



Add this page to your favorite Social Bookmarking websites
Reddit! Del.icio.us! StumbleUpon! Yahoo! Swik!



Comments (9)
RSS comments
1. Good job27-09-2007 11:57

thanks. it really help

Good stuff.But, users should be aware that the default Joomla SEF can cause multiple URLS for ONE content item. This is considered spam in the search engines.To fix this, we created SerrBizSEF. 
 
Additionally, for good SEO, you should html titles and meta data, or at least dynamic versions. 
 
SerrBizSEF does this. Others do as well. So, do visit Joomla Extensions for more Joomla SEF upgrades. :) 
 
Note: Joomla 1.5 has better SEF. We are investigating for additional issues, if any.

3. system info18-10-2007 18:47

Hi, 
I have no section called Apache, Loaded Modules, 
 
Yes I am on an Apache server using 1.0.12 joomla. 
 
Does my provider have to turn this on ?? 
 
Cheers

4. The order of turning on the new URL is i18-12-2007 21:17

If your site pages are indexed in Google with an old non-sef url and then you add the SEF friendly URLs to your site, Google may regard the new URL as duplicate content and it won't put the pages in the primary index or index it atl. :(  
I think the best approach is to tell Google what to index via the Robots.txt file or Site map Google webmaster tools right away. Don't let google just go through the site and pick anything. 
I have found that Google can get confused by the Joomla url structure and index the PDF version and not the main html version. I don't understand that - if anyone else does - please tell me!!! 
Thanks 
Don't forget to visit AFewTips.com

5. @518-12-2007 21:36

You're right, but artio joomsef has the capability to 301 non-sef urls to sef urls, for consistency. This option is available in configuration, if you have the latest version.

6. SEF 500 Error28-12-2007 04:03

I did get the 500 (Internal server) 
after enabling SEO in the Admin tool. 
 
I followed your recommendations for 
restoring the site, but I still get 
the 500 error. 
 
Should I have done something else?

7. SEF 500 Error07-04-2008 03:36

Nice Article. If you are going to do this, make sure your web server users Apache. Server software such as Zeus does not work with .htaccess re-write, even though they say they have workarounds for it. I persisted with Zeus and re-writes for 2 months, only to give up and change hosting companies. :sigh

Many thanks for the article this is great as we have numerous clients who use Joomla and we want to standardise how they are all configured.

Have been using SEO plugin and find it is great

Write Comment
  • Please keep the topic of messages relevant to the subject of the article.
  • Please don't use comments to plug your web site. Links are rel='nofollow'-ed
  • Please refresh the page if you're having trouble with the security image code
Name:
E-mail
Homepage
Title:
Comment:

:) :grin ;) 8) :p
:roll :eek :upset :zzz :sigh
:? :cry :( :x
Code:* Code

Powered by AkoComment Tweaked Special Edition v.1.4.2

Last Updated ( Wednesday, 19 April 2006 )
 
468x60b

Newsletter

Subscribe to TeachMeJoomla's newsletter
Name:
Email:


Joomla books

Auto tags

joomla seo

seo joomla

joomla seo settings

joomla mod_rewrite

mod_rewrite joomla

joomla seo friendly

Use Apache mod_rewrite joomla

joomla sef htaccess

seo settings joomla

seo for joomla

seo friendly joomla

joomla SEO htaccess

seo in joomla

joomla Use Apache mod_rewrite

seo and joomla