A recurring question on lists and forums is the generation of so called "search engine safe" or SES URLs. But URLs ought to be human readable and friendly too if you can help it.
Spike's FriendlyURL servlet goes a long way to answering all the important questions. Its easy to implment, works across different platforms and web servers and is used to good effect by a host of CFMX websites.
Does using SES make web stats work better?
- Yes, absolutely. Your logs are populated with entries that for all
intensive purposes are identical to those generated by users accessing flat pages. - Pretty much any standard log analysing tool will work without modification. (Many stats package fall down badly with dynamic params).
Does your Google ranking improve?
- Yes, without doubt. Although dynamic urls are indexed to a degree by
Google it is picky about the type of URL params it uses to distinguish
pages -- there are no details so don't ask. The most significant improvement is that google puts emphasis on the keywords it finds in the URL. With this method you get keywords in the URL that bump up your ranking nicely. - We've integrated FriendlyURL servlet directly into the FarCry CMS Opensource -- it works like a charm, is cross platform and cross webserver. We continue to rank high with the "FarCry" keyword despite the profileration of the extremely popular FarCry computer game.
How does it work?
- The servlet is a mini java app that processes the URL before handing it to your CFMX template. Your ColdFusion application believes its still received a fully parameterised URL even though the browser has used something quite different
- It works effectively the same as Apache mod_rewrite (but will run on IIS and Apache and the CFMX built-in server for that matter). You can resolve the URL to any other URL including dynamic parameters etc.
- There is a CFC to help manage the URL cache.
If you set FirendlyURL servlet up right you can even get URL clipping to work. For example, in FarCry we can do the following...
These URLs are equivalent:
http://farcry.daemon.com.au/index.cfm?objectid=007E73A5-D0B7-4CD6-F99F852D4199F0DF
http://farcry.daemon.com.au/go/downloads/farcry-plugins/friendly-urls
http://farcry.daemon.com.au/go/downloads/farcry-plugins/friendly-urls/
http://farcry.daemon.com.au/go/downloads/farcry-plugins/friendly-urls/index.cfm
The URL can be clipped to go higher in the site hierarchy:
http://farcry.daemon.com.au/go/downloads/farcry-plugins/
http://farcry.daemon.com.au/go/downloads/
Now if that ain't nanna-goat sweet, what is? That address again: FriendlyURL servlet
Posted by modius at 12:37 PM | Permalink
Trackback: http://blog.daemon.com.au/cgi-bin/dmblog/mt-tb.cgi/243


Thanks a lot. I was wondering why it is so difficult to find a viable solution to address this problem with CFMX and will give it a try.
http://www.liftpool.co.uk
Posted by: Thorsten on September 13, 2004 06:17 PM
I'd like to hear more about how you guys implemented it in FarCry. I've downloaded it and am having a hard time figuring out what to do with it :)
Where do you store the URL mappings? Are these dynamically generated?
Posted by: Jim on September 14, 2004 03:25 AM