|
Perl/CGI研究室 'PERL-LABO' TOPへ |
戻る(History.Back) |
リファラーランキング、URLをそのまま画面に表示するのでは、ちょっと見にくいですよね。 サイト名を表示するように改良しましょう。
URLに対応するサイト名、これは自動でとってくるのはなかなか大変です。 自動でとってくるやり方も、いつかは挑戦することとして、今回は URLに対応するサイト名はデータファイルでCGIプログラムに渡してあげることにしましょう。
URLとサイト名は1対1の関係ですから、次のようなデータファイルを用意することにします。
連想配列の形式になっています。 これなら、URLに対応するサイト名を得るのは簡単ですね! %url2sitename に上記のデータが入っているとして、次のようにすればOKです。
$sitename = $url2sitename{$url};
URL対応するサイト名がデータファイル内に存在していない場合は、URLをそのまま表示することにしましょう。
今回の改良は簡単でした(^^
データファイルを読むところ
# 表示名データファイルを読む
my %dispnamemap;
if ($namefname ne "") {
%dispnamemap = plab::readhashfile($namefname);
}
URLからサイト名を得るところ
my $dispname = $dispnamemap{$name};
if ($dispname eq "") {
$dispname = $name;
}
これだけです(^^;
当サイトのリファラーランキングです。 検索エンジンについて、URLでなく検索エンジン名を表示するようにしてみました。 次のリンクをクリックしてみてください。
次のデータファイルを使っています。(◆は、分かりやすくするために付けました。)
http://www.google.co.jp/<>◆ Google http://search.yahoo.co.jp/<>◆ Yahoo!検索 http://search.msn.co.jp/<>◆ MSNサーチ
改良前はこちらです。よかったら比べてみてください。PERL-LABO リファラーランキング
無事、動きました。これで、検索エンジンの名前を表示するだけでなくて、 相互リンクしてくださっているサイトさんをサイト名で表示したりといったことができるようになります。
いわゆるリファラーランキングは、アクセスランキングともいって、 相互リンクしてくださっているサイトさんのうち、たくさんアクセスをくれるサイトさんを 特に目立つようにページの上部に表示して、アクセスを返す、といったことにも使われるものです。 目立つところで自分のサイトを紹介してくれて、 たくさんアクセスをくれるサイトさんには、たくさんアクセスを返したい。 そう考えるのはごく自然なことですよね。 それを自動的にしてくれるのが、アクセスランキングです。 今回の研究は、リファラーランキングを実用的なアクセスランキングへと改良する第一歩でもありました。
|
Perl/CGI研究室 'PERL-LABO' TOPへ |
戻る(History.Back) |
| Copyright (c) 'PERL-LABO' All Rights Reserved. リンクフリーです。 |