Perl/CGI研究室 'PERL-LABO'

Perl/CGI研究室 'PERL-LABO' TOPへ
戻る(History.Back)

サイト名を表示する

研究内容

リファラーランキング、URLをそのまま画面に表示するのでは、ちょっと見にくいですよね。 サイト名を表示するように改良しましょう。

詳細

サイト名を表示するには

URLに対応するサイト名、これは自動でとってくるのはなかなか大変です。 自動でとってくるやり方も、いつかは挑戦することとして、今回は URLに対応するサイト名はデータファイルでCGIプログラムに渡してあげることにしましょう。

URLとサイト名は1対1の関係ですから、次のようなデータファイルを用意することにします。

 http://www.google.co.jp/<>検索エンジンGoogle
 http://search.yahoo.co.jp/<>Yahoo!検索

連想配列の形式になっています。 これなら、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でなく検索エンジン名を表示するようにしてみました。 次のリンクをクリックしてみてください。

PERL-LABO リファラーランキング (2004/12/24〜2006/11/02のデータになります。)

次のデータファイルを使っています。(◆は、分かりやすくするために付けました。)

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.  リンクフリーです。