今月もめでたくヤフカテ期限切れドメインが取得できたので、Wayback Machineを使いながらこっそりサイトを復活させているわけですが、昔はヤフーカテゴリからリンクを貼られる際に直リンクだったりリダイレクトだったりディレクトリ毎に差があった気がするのですが、今は(多分)一律直リンクになっているようです。
ヤフカテのソースを見るとonmousedown内でファンクションが使われています。
気になってこの「catrd」を見てみました。
ソース上は1行になっていますが、区切っていくとこうなります。
function catrd(o,r,f,t){
var pat=/:/;
var href=o.href;
var rbase='http://srd.yahoo.co.jp/CAT';
var cbase='http://dir.yahoo.co.jp/proc/?m=redir';
var tourl=href.replace(pat,'%3A');
if(f!=""){
f='?frc='+f
}
if(t!="site")
{
url=rbase+r+"*-"+tourl+f
}
else
{
var enc=encodeURIComponent?encodeURIComponent:escape;
url=cbase+r+enc(href)
}
o.href=url;
o.onmousedown="";
return true
}
各サイトへ貼られているリンクを見ると
onmousedown="return catrd(
this,
'&l=SIT&sid=2075367051&ssid=2077437020&loc=1&
sig=bfa7ba944af6c482d28d88aac7c726bb&rd=',
'',
'site'
);"
となっていますから、[this]=o、['&l=SIT&~~rd=']がr、['']がf、['site']がtとしてcatrdに渡されているわけです。
catrdの中身は、ザックリ言えば「tがsiteでなかったら(おそらく内部リンクだったら)[http://srd.yahoo.co.jp/CAT~~]というURLに変換して飛ばしますよ、tがsiteだったら(一般の外部サイトだったら)[http://dir.yahoo.co.jp/proc/?m=redir~~]というURLに変換しますよ」という機能になります。
つまり、実際リンクをクリックしたときにブラウザに伝えられるURLは、実際のそのサイトではなくヤフーのリダイレクトページなわけですね。
こんな機能を入れている理由は、引数として渡される数字達で飛ばすページを制御し、サイトを人気順に並べたりアクセス解析などのためだと思います。
ただ、ソース上のhrefは登録サイトのURLになっていますから、検索エンジン上は直リンクと変わらないのでしょう。
ヤフカテサイトを持っていれば、このfunctionを上手く使ってヤフカテ内での人気順を上げるのも可能かもしれませんね。そこに意味があるかはわかりませんが。