人気ページランキングのタイトル自動設定がうまく機能していなかったわけ

このブログにはACR WEBさんのページランキングのCGIを貼り付けてあって、人気のページがわかるようにしてあるのですが、このCGIを導入する前は、この手のCGIの存在は知っていましたがURL毎にタイトルを指定してあげないといけないんじゃないかと思って導入を躊躇していました。結局はそれでも導入したのですが、実際には自動でタイトルを設定してくれる機能がありましたw。古い記事は手動で設定する必要があるかと思いますが、最近の記事であればページランキングの[タイトル自動設定]機能のところにブログのRSSのURLを登録しておけばRSSから自動的にタイトルを取得してURLと結びつけてくれます。結果、自動でタイトルを設定してくれるので自分で設定する必要が無いわけです。チョー便利です。僕はRSSに対しては流行り始めた頃は懐疑的であまり便利さというか存在意義が判らなかったのですが(よく見るページはwwwcでチェックすればいいじゃんとかRSSとか一杯参照されたらトラフィックは大丈夫なのかね?とか思ってましたw)ACR WEBさんはいち早くCGIからRSSを利用するなどしておられたように思います。今はRSS(といいますかXMLというかREST)無しではいろいろ考えられませんけどねw。

ACR WEB – CGIレンタル ブログパーツ
http://www.ziyu.net/

で、本題ですが、ここ最近ページランキングがURLのままでタイトルに変換されていないことに気が付きました。実際には随分前からそうだった見たいですが、手動でタイトルをつけたページがランキングの上位にあったために気付きませんでした。でも、最近書いた記事がURLのままなのが気になって調べて見ました、最初はわからなかったのですが、ページランキングの[タイトル自動設定]の画面を良く見てみるとおかしいことに気が付きました。

ページランキング
上の画像はうまくいっている状態

人気ページランキング2
ダメな状態:タイトルの部分がURLのまま

本来下の様になっているべきところが

 

海ほたるにいってきた http://blog.kumacchi.com/2008/05/post_311.html
東京タワーとか行ってきた http://blog.kumacchi.com/2008/05/post_312.html
浅草神者にこち亀の記念碑を見に行ってきた http://blog.kumacchi.com/2008/05/post_313.html

 

下の様になってしまっていました。

 

海ほたるにいってきた http://feeds.feedburner.com/~r/KumaType/~3/2120040/post_311.html
東京タワーとか行ってきた http://feeds.feedburner.com/~r/KumaType/~3/2120835/post_312.html
浅草神者にこち亀の記念碑を見に行ってきた http://feeds.feedburner.com/~r/KumaType/~3/2121467/post_313.html

 

これでは、URLがマッチしないのでタイトルの自動設定がうまく動作するわけがないですね。原因は直ぐにわかりました。あるじきからrssの配信にFeedBurnerを利用するようになったからです。FreedBurnerはGoogle関連のサービスでRSSのアクセス解析みたいなものでRSSのクリック数やどんな記事が読まれているかとかブラウザーの種類などといった情報を得ることが出来たり、RSSのアイテムの間にGoogle AdSenseを挿入したりもできるようです。

FeedBurner
http://www.feedburner.com/

それで、FreedBurnerの機能を利用してRSSを配信している関係で
http://blog.kumacchi.com/atom.xmlにアクセスしているように見えて実際にはhttp://feeds.feedburner.com/KumaType2にアクセスしています。そして、RSSから記事にアクセスする時に実際には

http://blog.kumacchi.com/2008/05/post_311.html

ではなく

http://feeds.feedburner.com/~r/KumaType/~3/2120040/post_311.html

にアクセスしてるわけですが、これが[ページランキング]のRSSでも読み込まれているわけで、実際のURLと一致しないのでタイトルの自動設定がうまくいっていなかったわけです。

それで、ページランキングからこのブログにアクセスしてくる時のリモートアドレスがわかればそのIPアドレスからRSSにアクセスしてきた時は生のRSSを見に行くように.htaccessのmod_rewriteの設定を変更しました。

ページランキングからこのブログへアクセスしてくる時にIPアドレスはページランキングの設定画面のドメイン名を正引きして確認しました。ついでに逆引きもしてみました。実際には[www27.ziyu.net]っていうサブドメインのサーバーなんですね。サーバー一杯有りますねw。

>nslookup pranking.ziyu.net
Name:    pranking.ziyu.net
Address:  210.188.206.224

>nslookup 210.188.206.224
Name:    www27.ziyu.net
Address:  210.188.206.224

実際にはページランキングのタイトル自動設定の画面で[RSSファイルのURL]のところにアクセス解析のURLを突っ込んで確認もしましたが間違いないようです。

IPアドレスが[210.188.206.224]と判明したので、.htaccessのmod_rewriteの設定を下記の様に書き換えました。

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !FeedBurner
RewriteCond %{REMOTE_ADDR} !^210\.188\.206\.224$
RewriteRule ^atom?\.xml$ http://feeds.feedburner.com/KumaType2 [L,R=301]

追加したのは

RewriteCond %{REMOTE_ADDR} !^210\.188\.206\.224$

の部分です。

mod_rewriteの設定についてはググるといっぱい出てくるので詳しい説明は割愛しますが簡単に説明しておくと

1行目:mod_rewriteエンジンの起動
2行目:ユーザーエージェントがFeedBurner以外だったら
3行目:リモートアドレスが210.188.206.224以外だったら
4行目:atom.xmlへのアクセスをhttp://feeds.feedburner.com/KumaType2にコード301でリダイレクトしますよー

という意味になります。

2行目と3行目は特に指定しなければAND条件になります。

そういうわけで、正常にタイトル自動設定されるようになりました。

めちゃカワっ!ブログパーツbook

 

タグ :