昨日、同僚に「グーグルページランク(PR)」の説明をした。
各ページのPRを確認するためには「グーグルツールバー」をインストールする必要があるため、さっそくやってもらったのだが「できません~」と返事された。
代わりにグーグルページランクを調べてくれるサイトの利用を勧めたいのだが、いちいちURLを入力するというのは明らかに手間が掛かりそう。
個人のサイトなら「グーグルページランク」を表示してくれるブログパーツを利用するのが手っ取り早いのだが…
まてよ、「グーグルページランクを表示してくれるブログパーツ」って自分で作れるのでは?
ということで作ってみることにした。
といってもこういうものは既に作っている人がいるハズ…
ネット検索してみた。
ベーシックな日記 :
CGI ライブラリ(多分、最初で最後) – Google PageRank –
このページに掲載されているサンプルをベースに「ブログパーツ」を作成。
まずはページランク0から10までのgifファイルを用意する。
例. pr0.gif~pr10.gif
次にスクリプト(perl)を修正。
(不正使用防止策組み込み版)
↓ここから
#!/usr/bin/perl
use PageRank;
# 使用を許可するドメイン
@jurl = (‘http://www.aozorasyaraku.com/’,
‘http://iyasinohanatachi.blog106.fc2.com/’,
‘http://missmodel.blog107.fc2.com/’);
# PR表示用の画像ファイルを定義
@primg = (‘pr0.gif’, ‘pr1.gif’, ‘pr2.gif’, ‘pr3.gif’, ‘pr4.gif’, ‘pr5.gif’, ‘pr6.gif’, ‘pr7.gif’, ‘pr8.gif’, ‘pr9.gif’, ‘pr10.gif’);
$referer = $ENV{‘HTTP_REFERER’};
$referer =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(“C”, hex($1))/eg;
$gpr=””;
foreach (@jurl){
if ($referer =~ /$_/){
my $URL = $referer;
my $pr = WWW::Google::PageRank->new;
$gpr = $pr->get($URL);
}
}
if($gpr==””){$gpr=”0″;}
open(IMG, “./$primg[$gpr]”) or die;
binmode IMG;
binmode STDOUT;
print “Content-type: image/gif\n\n”;
print while (<IMG>);
close(IMG);
exit;
↑ここまで
そして、各ブログのテンプレートに組み込む。
<img src=”http://www.aozorasyaraku.com/cgi/gpr/gpr.cgi” width=”100″ height=”10″ alt=”ページランク” />
以上で自分のブログのPRが分かるようになる。
SEO的には関連性が薄いアウトリンクは極力しない方がいいため、「ブログパーツ」もできるだけ自前で用意した方がいいかも。
追記.
画像を表示する処理を一部変更
print “Content-type: image/gif\n”;
print “Content-disposition: filename=noname\n”;
print “Pragma: no-cache\n”;
print “Expires: 0\n”;
print “Cache-control: no-cache,must-revalidate,no-store\n\n”;
print while (<IMG>);