Welcome, Guest
Username Password: Remember me

Search Engine Friendly (SEF) URLs for Joomla
(1 viewing) (1) Guest
  • Page:
  • 1

TOPIC: Search Engine Friendly (SEF) URLs for Joomla

Search Engine Friendly (SEF) URLs for Joomla 14 years, 11 months ago #98

  • joomtorial
I get many questions about SEF. Joomla has it's own settings for SEF and there are a few good 3rd party SEF extensions available:

Artio JoomSEF: http://www.artio.net/en/joomla-extensio ... io-joomsef
sh404: http://extensions.siliana.com/

No matter whether you use the Joomla default SEF or a 3rd party SEF, a few things need to be taken care of.

1. in your global configuration you need to set it as the picture below shows:



2. As the yellow exclamation mark in the above picture will show, you will need to rename the file htaccess.txt to .htaccess (Be sure the dot in front of htaccess is there, this is a must!!!)

This should basically get things working for SEF.

Some websites might however give you a 500 error. This might be due to a certain setting in the .htaccess file.

Here is the default .htaccess as it comes in your Joomla installation:

##
# @version $Id: htaccess.txt 10492 2008-07-02 06:38:28Z ircmaxell $
# @package Joomla
# @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
# @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
# Joomla! is Free Software
##


#####################################################
#  READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE
#
# The line just below this section: 'Options +FollowSymLinks' may cause problems
# with some server configurations.  It is required for use of mod_rewrite, but may already
# be set by your server administrator in a way that dissallows changing it in
# your .htaccess file.  If using it causes your server to error out, comment it out (add # to
# beginning of line), reload your site in your browser and test your sef url's.  If they work,
# it has been set by your server administrator and you do not need it set here.
#
#####################################################

##  Can be commented out if causes errors, see notes above.
Options +FollowSymLinks

#
#  mod_rewrite in use

RewriteEngine On

########## Begin - Rewrite rules to block out some common exploits
## If you experience problems on your site block out the operations listed below
## This attempts to block the most common type of exploit `attempts` to Joomla!
#
# Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]
#
########## End - Rewrite rules to block out some common exploits

#  Uncomment following line if your webserver's URL
#  is not directly related to physical file paths.
#  Update Your Joomla! Directory (just / for root)

# RewriteBase /


########## Begin - Joomla! core SEF Section
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
#
########## End - Joomla! core SEF Section


On some webservers it is necessary to change the rewrite base, that is this part of the .htaccess:

#  Uncomment following line if your webserver's URL
#  is not directly related to physical file paths.
#  Update Your Joomla! Directory (just / for root)

# RewriteBase /


Uncommenting is done by removing the #

Should you encounter a 500 error, try to change this into:

#  Uncomment following line if your webserver's URL
#  is not directly related to physical file paths.
#  Update Your Joomla! Directory (just / for root)

RewriteBase /


Sometimes people do not install their Joomla into the root of the webserver, but into a subfolder. this is the case when for instance you have your url in the following way: http://www.yourdomain.com/joomla

In this case when you still encounter a 500 error, you may want to try setting your RewriteBase to:

#  Uncomment following line if your webserver's URL
#  is not directly related to physical file paths.
#  Update Your Joomla! Directory (just / for root)

RewriteBase /joomla


Of-course should your subfolder be named different than joomla, it will get that subfolder's name.

Then one tip for the 3rd party extension sh404. That has a certain setting for using Apache Rewrite or not. What I often see is that people using sh404 have SEF urls in the following way: http://www.yourdomain.com/index.php/blog

As you can see, that index.php is not really friendly. This is a pesky setting that at first is a bit hard to find in sh404. You can do the following in your sh404 component:



When you have "extended display" on, click on the sh404 SEF configuration icon. After that, click on the "Advanced" tab. Then set the Rewriting mode to "with .htaccess (mod_rewrite)" as shown on the picture below:



After you have done this, click on "Save" at the right top.

In some rare occasions, you could have a chance that no matter what your settings are, you can't get SEF running. It might be the case that your provider does not have Apache (= webserver) mod_rewrite on. This is a necessity for SEF urls to run. If you still encounter errors even after you have tried all that has been written here, inform at your provider if they have Apache and the mod_rewrite module running.

Let me know when you still encounter problems.
The topic has been locked.

Search Engine Friendly (SEF) URLs for Joomla 14 years, 10 months ago #115

  • bradh
  • OFFLINE
  • Junior Boarder
  • Posts: 38
  • Karma: 0
Piet, what is the preferred setting for URL suffixes? With or without?
Sincerely,

Rob McBryde
Web Developer
http://www.ivmwebsolutions.com
The topic has been locked.

Search Engine Friendly (SEF) URLs for Joomla 14 years, 10 months ago #116

  • joomtorial
Hi Rob,

I am not sure if Google has a preference for this. As for getting joomtorial.com up in the search engines, I must admit I haven't been doing a bad job. With the terms "joomla video tutorial" and "joomla video tutorials" I get pretty decent results for a website so young.

I am not using suffixes. But I must also admit I found out about the suffix setting a bit too late. Would I have known about the suffix setting I would have turned it on. I like it better when pages end on .html.

Again, looking at results of Google, I think they are more interested in content and url itself than solely the extension.

I am by far a SEO guru. I would even say I don't want to get too deep into that. I have learned a few golden rules.

1. Write your texts and pages for visitors, not for Google.
2. Content is King

After that, a good SEO tool only helps, it is not a goal by itself. It is a giant misunderstanding that SEO and SEF are a must. Google (and others) can index sites without SEF url's just as good. And don't forget that some Joomla tools and extensions are not all that well written and sometimes get hick-ups when they need to use SEF.

Personally for joomtorial.com I have chosen to use default Joomla SEF. It's the least invasive and is doing a proper job. Using 3rd party SEF tools like sh404 or Artio JoomSEF can work very well, I just choose to have as least as possible running as 3rd party. I like Joomla when it is as clean as possible.
The topic has been locked.
  • Page:
  • 1
Time to create page: 0.30 seconds

Joomla Video Tutorials by Joomtorial