Gossamer Forum
Home : Gossamer Threads Inc. : Discussion :

[Suggestion] Search Engine Friendly GT v3.0 apps & URL translations

Quote Reply
[Suggestion] Search Engine Friendly GT v3.0 apps & URL translations
New suggestion for the point 7.) posted in this thread:
http://www.gossamer-threads.com/...i?post=274811#274811

The GT v3.0 applications should be completely Search Engine Friendly, which means, that internally search engine friendly URLs are printed to the output page, like this:
http://www.gossamer-threads.com/forum/Category_C6/Forum_F17/Post_P277000/

Currently if I use a rewrite rule in Links SQL, then I can use it for incoming traffic (mainly for PR tasks), but NOT internally on the site. URLs on Links SQL website still looks like this:
http://gossamer-threads.com/perl/linkssql/page.cgi?g=Architecture%2FAssociations%2Findex.html;d=1
when links are displayed in dynamic mode.


GT v3.0 apps should have a "rewrite_rules_used" option.
Also there should be options for each used script & URL parameter, like param_g, param_d, script_page, script_add, etc...

We also set some other configuration variables, like:
rewrite_cgi-bin_dir => 'lsql'

For example a French Links SQL installation would use such (Search Engine Friendly) URL naming scheme:
Code:
$NAME = {
script_page => {
name => 'page',
param => {
g => 'category',
d => 'dynamique',
order => 'ordre',
sortby => 'sortepres',
page => 'page',
},
param_defaults => {
d => '1'
sortby => '1'
order => 'a'
},
param_order => [g,page,sortby,order]
},

script_add => {
name => 'ajoutez',
param => {
d => 'dynamique',
ID => 'identificator',
},
param_defaults => {
d => '1'
},
param_order => [d,ID]
},

script_search => {
name => 'recherche',
param => {
d => 'dynamique',
query => 'question',
bool => 'booleen',
substring => 'sous-chaine',
mh => 'maxpage',
},
param_defaults => {
d => '1'
},
param_order => [d,query,bool,substring,mh]
},
}

I listed just a few examples, and did not list all available options.
Note1: URL parameter orders are ordered based on 'param_order' arrayref.
Note2: Where parameter is not listed in 'param_order' or missing from the URL, then the 'param_defaults' value is assigned. This is useful for pages what we always use in Dynamic mode.
Note3: the page.cgi will not use the key=value format because the category paths, which are important to be search engine friendly

And the URLs would look like this:

  1. For search.cgi would look like:
    with rewrite_rules_used = OFF:
    http://mysite.fr/cgi-bin/search.cgi?dynamique=1&question=art&booleen=and&sous-chaine=0&maxpage=25
    with rewrite_rules_used = ON:
    http://mysite.fr/lsql/search/dynamique=1/question=art/booleen=and/sous-chaine=0/maxpage=25
  2. For add.cgi, similarly:
    with rewrite_rules_used = OFF:
    http://mysite.fr/cgi-bin/ajoutez.cgi?dynamique=1&identificator=12345
    with rewrite_rules_used = ON:
    http://mysite.fr/lsql/ajoutez/dynamique=1/identificator=12345
  3. For page.cgi, similarly:
    with rewrite_rules_used = OFF:
    http://mysite.fr/cgi-bin/page.cgi?dynamique=1&category=Architecture%2FAssociations%2Findex.html&
    page=2&sortepres=1&ordre=a
    with rewrite_rules_used = ON:
    http://mysite.fr/lsql/page/category/Architecture/Associations/page=2/sortepres=1/ordre=a/
    Note3: the page.cgi will not use the key=value format for category paths, which are important to be search engine friendly. The d=1 option can be left out, because d=1 is set as default value. The other options are placed at the end of category.


These URLs are displayed on the website like above, but the main job is done by the mod_rewrite, which is translating it to:
http://mysite.fr/cgi-bin/search.cgi?d=1&query=art&bool=and&substring=0&mh=25
and
http://mysite.fr/cgi-bin/add.cgi?d=1&ID=12345
So internally, in Links SQL, these URLs above are treated as usual.


This solution would solve 2 problems immediately:

  1. Full Search Engine Friendly website can be done, using Links SQL, and other GT applications.
  2. URLs can be fully translated for mother language of website owners. This will result more friendly international websites (in non-english countries).

It would be just a plus, if multiple languages would be supported in the URL parameters...


Please, GT staff, let me know if you accept/consider such features into v3.0 GT app developments.

Best regards,
Webmaster33


Paid Support
from Webmaster33. Expert in Perl programming & Gossamer Threads applications. (click here for prices)
Webmaster33's products (upd.2004.09.26) | Private message | Contact me | Was my post helpful? Donate my help...
Quote Reply
Re: [webmaster33] [Suggestion] Search Engine Friendly GT v3.0 apps & URL translations In reply to
This is very good idea. Can you imagine you would not have to build and rebuild the pages all the time and still have the SE friendly URLs; and how much hosting space you would save and the CPU will not get overloaded all the time. This would be grate for the classify plug-in (this plug-in is not released yet). Hope GT guys will look in to it.
Quote Reply
Re: [modifier] [Suggestion] Search Engine Friendly GT v3.0 apps & URL translations In reply to
Quote:
Can you imagine you would not have to build and rebuild the pages all the time and still have the SE friendly URLs; and how much hosting space you would save and the CPU will not get overloaded all the time.
Well, almost.
If you use dynamic mode, you still use the CPU.

The suggestion I did, is a combination of mod_rewrite rules and the dynamic mode, not much more.
The main change however is, that LSQL should internally help this URL-friendly rewrite rules.

Best regards,
Webmaster33


Paid Support
from Webmaster33. Expert in Perl programming & Gossamer Threads applications. (click here for prices)
Webmaster33's products (upd.2004.09.26) | Private message | Contact me | Was my post helpful? Donate my help...
Quote Reply
Re: [webmaster33] [Suggestion] Search Engine Friendly GT v3.0 apps & URL translations In reply to
I'd love rewrite rules to be made an integral option for dynamic sites.
Look at all the posts asking how to do this.

Don't forget to add review.cgi

Cheers,
Piers
Quote Reply
Re: [webmaster33] [Suggestion] Search Engine Friendly GT v3.0 apps & URL translations In reply to
In Reply To:
Currently if I use a rewrite rule in Links SQL, then I can use it for incoming traffic (mainly for PR tasks), but NOT internally on the site. URLs on Links SQL website still looks like this:
http://gossamer-threads.com/perl/linkssql/page.cgi?g=Architecture%2FAssociations%2Findex.html;d=1
when links are displayed in dynamic mode. 0
I'm not quite sure whether I've understood you properly. But - if you use rewrite rules, why don't you use static pages? Then your whole site can look static but be rewritten to dynamic pages. I agree this is more complicated in GForum (I've just about managed it I think but it took quite a lot of mods to the templates since there is no static version of the templates) but it is quite straightforward in Links.
Quote Reply
Re: [afinlr] [Suggestion] Search Engine Friendly GT v3.0 apps & URL translations In reply to
Static pages are not able to display dynamic info, like user related things (except if you use SSI or JS technologies, but this has other drawbacks).

Imagine the situation, that you are providing your service not just for the search engines,
but for the users, too. Wink And you want to provide friendly URLs for the users, too. Even after they log into the system.

This is not possible with static pages. I tried to solve this problem with SSI-style developments, but I faced, that this technology has limits and drawbacks. So dynamic page display is needed. But dynamic pages doesn't have support for Rewrite-Rule Friendly URLs.

So the bottom line is, that GT apps, like Links SQL, should provide internal support for Rewrite-Rule Friendly URLs in dynamic mode.

Best regards,
Webmaster33


Paid Support
from Webmaster33. Expert in Perl programming & Gossamer Threads applications. (click here for prices)
Webmaster33's products (upd.2004.09.26) | Private message | Contact me | Was my post helpful? Donate my help...
Quote Reply
Re: [webmaster33] [Suggestion] Search Engine Friendly GT v3.0 apps & URL translations In reply to
Hi,

I'm not sure what you mean? If you setup the following rewrite rule:

RewriteRule /pages(.*) /cgi-bin/links/page.cgi?g=$1 [L]

Then you'll get static looking url's (for home, category and detailed pages), while running everything through page.cgi so you get the full power of dynamic url's.

Cheers,

Alex
--
Gossamer Threads Inc.
Quote Reply
Re: [Alex] [Suggestion] Search Engine Friendly GT v3.0 apps & URL translations In reply to
I think, the whole thing what we need is, to get LSQL (optionally) pre-set for friendly URLs without the need to edit all templates, create .htaccess files.
That would make LSQL "Friendly URL" installation of a lot users easier.


The whole "Friendly URL" change process would be simplified like this:
  1. ask mod_rewrite support from the host,
  2. set the option to "use Friendly URLs"
  3. translate & change the URL parameter names and cgi script names to the mother language of the site owner & visitors (all within the admin interface). That would help easier creation of native language link directories.
    That's all. The .htaccess files would be created automatically.
    Also would be fine to automatically add into .htaccess such redirections, when category names are changed:
    RedirectPermanent /pages/Computers/ http://site/pages/Hardware/
    for changed category names (which was changed from "Category" to "Hardware" in example above).


The "use Friendly URLs" is difficult change, but I think it definitely worth to be implemented, as this would make LSQL product unique (I think) on the market. Also other GT products would benefit from this feature.
Personally I would like to hide all kind of cgi-bin URLs, and replace them with friendly ones.


Also I really don't understand, why the script names are STILL hardcoded in the templates, when it could be easily possible to move them into the Config, and could be possible to change them all in just 1 minute, instead editing the templates.
That's something I changed immediately in my customized Links version.
Not a big change, but it also helps customization.

Best regards,
Webmaster33


Paid Support
from Webmaster33. Expert in Perl programming & Gossamer Threads applications. (click here for prices)
Webmaster33's products (upd.2004.09.26) | Private message | Contact me | Was my post helpful? Donate my help...
Quote Reply
Re: [webmaster33] [Suggestion] Search Engine Friendly GT v3.0 apps & URL translations In reply to
My whole website is dynamic using rewrite rules but appears static to the user - so they are not just for search engines.

I agree that what you've suggested about setting the rewrite rules up automatically would be nice - but most people who have a large database will be putting the rewrite rules in httpd.conf rather than a .htaccess file.
Quote Reply
Re: [afinlr] [Suggestion] Search Engine Friendly GT v3.0 apps & URL translations In reply to
Quote:
most people who have a large database will be putting the rewrite rules in httpd.conf rather than a .htaccess file
You are then lucky. But not everybody owns a sever.

I believe, most LSQL users have no money to get a separate server, so they pay a shared virtual hosting account, only. So we have no access to httpd.conf.

Best regards,
Webmaster33


Paid Support
from Webmaster33. Expert in Perl programming & Gossamer Threads applications. (click here for prices)
Webmaster33's products (upd.2004.09.26) | Private message | Contact me | Was my post helpful? Donate my help...