Joomla Search Engine Optimization (SEO)

About Joomla

Joomla is an extremely popular open source Content Management System. It is written in PHP and one if its nice features is Search Engine Optimisation. To achieve the SEO Joomla provides a set of rewrite rules that work with Apache, but these rules need some tweaking if you intend to run Joomla SEO with Zeus Web Server.

How SEO works

The SEO in Joomla works by taking a URL like http://www.abc.com/index.php?option=com_content&task=view&id=35&itemid=12 and rewriting it to http://www.abc.com/content/view/35/12. Doing this makes the search engine index every page rather than just index.php. The problem with this is the web server needs to rewrite the SEO URL back to the real URL when the client requests it. The rewrite URLs below will achieve this in ZWS.

Rewriting SEO URLs in ZWS

If you have real paths that match /content/ or /component/ then you need to check that the request isn't for a real file. Only use this code if you actually need it because it requires a lot more processing time than the alternative below. You will need to use this rewrite rule:

match URL into $ with (/content/|/component/)
if matched then
map path into SCRATCH:path from %{URL}
look for file at %{SCRATCH:path}
if not exists then look for dir at %{SCRATCH:path}
if not exists then set URL = /index.php
endif

If you don't have real paths like /content/ or /component/ then you only need this:

match URL into $ with (/content/|/component/)
if matched then set URL = /index.php

You need to ensure that in the ZWS rewrite request section, the option to rewrite URI "Overwriting the Request URI" is set to "Leave URI unchanged". Joomla splits the URI at "/" to find the options sent to it, so rewriting must leave the original URI alone.

Mark Boddington [Zeus Systems Engineering] 31 October 2006  Permalink 15 comments  

Comments:

This public messageboard is not a forum for technical support. To report technical support problems, please contact our dedicated Support team using the instructions at the bottom of this page.

Comment from: James [Visitor]
Where do I use this ?? Used to using apache and hence .htaccess, just wondering where to paste this text in order to get the joomla seo to work !!

Cheers
Permalink 09 November 2006 @ 19:14
Comment from: Mark Boddington [Zeus Systems Engineering]
These rules should be added to the "Request Rewriting" section of your virtual server.
Permalink 13 November 2006 @ 20:05
Comment from: Eric Kaps [Visitor] · http://www.ingenious-resourcing.com
Mark,

Do you have any more information on this, perhaps at a level Joomla newbies/not-very-advanced-web-developers could understand?

Specifically, how does one do this: "These rules should be added to the "Request Rewriting" section of your virtual server."

Thanks

"Wondering whether switching to an Apache host would be simpler?"
Permalink 14 February 2007 @ 17:19
Comment from: Mark Boddington [Zeus Systems Engineering]
Hi Eric,

From the ZWS admin interface you would select the virtual server you are using with Joomla and then click the configure button. Next, navigate to "URL Handling" -> "Request Rewriting". You will then need to enable the rewrite engine and cut/paste the code above into the "Rewrite Script" input box and click "Apply Changes".

Hope that helps.

Mark
Permalink 22 February 2007 @ 13:06
Comment from: Jude Novak [Visitor] · http://www.futuratraining.com.au
Hi Mark,

You're a life saver. This worked great with my site. I was just wondering if you could go one step further and let me know how I could use the ARTIO Joomsef 3rd party component with these rewrite rules.

Thanks

Jude
Permalink 03 April 2007 @ 07:00
Comment from: Mark Boddington [Zeus Systems Engineering]
Hi Jude,

I haven't tested this, but I read through the JoomSEF documentation quickly and I think all you need to do is remove the if match condition. So it looks like this:

map path into SCRATCH:path from %{URL}
look for file at %{SCRATCH:path}
if not exists then look for dir at %{SCRATCH:path}
if not exists then set URL = /index.php

Good Luck :-)
Permalink 05 April 2007 @ 16:08
Comment from: Donovan [Visitor] · http://www.themarketingcoach.com.au
G'Day,

- I was wondering if anyone had any ZEUS Dynamic Control files they created from the Joomla 1.0.12 or 1.5 Beta 2 htaccess.txt file that is shipped with Joomla that would be prepared to share?
- I am struggling to get this going as I am a newbie to ZEUS having been with Apache for a long time.

TIA
Permalink 23 May 2007 @ 12:58
Comment from: James Vadas [Visitor] · http://seopro.com.au/
Hello there,

Will this conversion also work with Joomla 1.5?

I am needing to choose between 1 and 1.5, but if i can't put it on Zeus, then i'll need to go v1.

Thanks in advance,

James.
Permalink 13 August 2007 @ 19:21
Comment from: Brendan [Visitor] · http://directsalesinstitute.com.au/
Joomla 1.5 actually has a module to avoid the need for .htaccess. Activate it in Global Configuration.
Permalink 04 December 2007 @ 10:09
Comment from: Jim [Visitor] · http://www.beyond.com.au/
This is all good info. I have got my url's to look like this 'http://www.abc.com/content/view/35/12' using the code above. Thankyou.

My problem is getting the url's to look like this 'http://www.abc.com/content/news.html', as is achieved using 3rd party components such as ARTIO Joomsef and sh404SEF running on apache servers.

I think this is important as it has a url that makes sense and ranks higher that the standard re-write.

Mark, for Joomsef, you mentioned to try removing the if match condition. So the Request Rewriting looks like this:

map path into SCRATCH:path from %{URL}
look for file at %{SCRATCH:path}
if not exists then look for dir at %{SCRATCH:path}
if not exists then set URL = /index.php

I can't get it to work.
Both ARTIO Joomsef and sh404SEF ask for a .htaccess file, do you know how I should configure it?

I can't find any support or anyone that knows how to achieved this. It would be worth while having this in you documentation.

I really don't want to go back to apache.

Thanks in advance

Jim


Permalink 16 January 2008 @ 12:35
Comment from: Rob [Visitor] · http://www.lbws.com.au
Hi, I have tried the same. I recently received had an email from JoomSEF that said - "There is no such documentation. We have never tested JoomSEF with Zeus, only Apache and IIS are officially supported. Sp as regards Zeus server, you are on your own. Sorry." Unless there is documentation I would host your Joomla site on Apache.
Permalink 17 January 2008 @ 10:36
Comment from: Justin [Visitor] · http://www.allmediasolutions.com.au
I reluctantly set up one of my client websites on a zues server with netregistry. The re-write script you just mentioned is the only one i can get to work. I also use ARTIO Joomsef.

map path into SCRATCH:path from %{URL}
look for file at %{SCRATCH:path}
if not exists then look for dir at %{SCRATCH:path}
if not exists then set URL = /index.php

Firstly - enable the script last.

1. enable ARTIO Joomsef
2. switch SEO on in config
3. enable re-write script in zeus admin

I only noticed one problem with this though.. can't login to administrator when script is enabled. so disable, then log back into administrator and turn seo off in config to do any changes, then switch on again and ENAbLE re-write script.
Permalink 18 February 2008 @ 16:00
Comment from: Justin [Visitor] · http://www.allmediasolutions.com.au
Sorry forgot to mention it does create relevant urls.

content/news.php
Permalink 18 February 2008 @ 16:03
Comment from: Fitzxp [Visitor] · http://www.datasteps.com
Is there by any chance someone out there whom would know if this can be achieved when using caucho Resin 3.x Services? I am trying to pull off SEO friendly urls but have not been successful with this process yet. Any help would be very much welcomed.
Permalink 25 April 2008 @ 15:24
Comment from: Cameron [Visitor] · http://www.advantagebi.com
I have Joomla 1.0.10 running on Netregistry's Zeus web server, with ArtioSEF component installed. I followed Justin's comment above, and found the same problem with the admin console. I fixed it by adding a couple of lines to the top and bottom of his code:

match URL into $ with (/administrator/)
if not matched then
map path into SCRATCH:path from %{URL}
look for file at %{SCRATCH:path}
if not exists then look for dir at %{SCRATCH:path}
if not exists then set URL = /index.php
endif

Permalink 08 June 2008 @ 03:32
Leave a comment ...
Your email address will not be displayed.
Your URL will be displayed.
This public messageboard is not a forum for technical support. To report technical support problems, please contact our dedicated Support team using the instructions at the bottom of this page.
Options:
 
(Line breaks become <br />)
(Set cookies for name, email & url)
Download Free Trial

Recent Articles

Other Resources



www.zeus.com