I know, there are many FAQs on Joomla SEO. 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:
The Joomla SEF version of the previous URL:
3rd party SEF extensions may display "friendlier" URLs, such as
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. Meantime, you need to get your site back online and working until those problems are solved.
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.
Here's how it's done:
open your 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';
$mosConfig_sef = '0';
Save the configuration.php and you're back to non-sef, but working URLs.
- Alledia's Joomla SEO book offers an extensive insight on SEO and SEM(Search engine marketing) for JOOMLA CMS