うちもそろそろGoogle Sitemapsに対応しようと思い立ち、やってみました。私の場合は、それ用のスクリプトとかプラグインとか書いたりできないので、フレーバーだけで実装。
まず、*.txtというフレーバーを用意して、story.txtに1行1URLになるように記述(story.txt以外は空フレーバー)。そのフレーバーを全部、鯖にアップ。次に、blosxomはtxtファイルをエントリのファイルとして扱われてしまうので、interpolate_fancyを使って*.txtフレーバーのファイルがエントリとして表示されないようにする。
<?$fn unlike="(head|date|foot|story)"><a href="$url$path/$fn.htm" title="$url$path/$fn.htm">$url$path/$fn.htm</a><br></?>
こんな感じで、*txtフレーバーと、*.htmlフレーバーに設定。*htmlフレーバーの場合は、story.htmlの中身すべてを囲む感じで。
そして、全ページのサイトマップとなるように、override_num_entriesで全エントリ数より大きな数字(適当に)を*.txtフレーバーを設定
うちはdynamic_cacheを使っているので、*txtフレーバーもキャッシュを取るように設定。自分のサイトのindex.txtにアクセスしてキャッシュさせる。Google Sitemapsにログインして、http://ck2-blogger.jp/ndex.txt をサイトマップとして登録。
これで完了。たぶんこれで平気なんじゃなかなーと思います。もしかしたらindex.*のキャッシュがクリアされると、問題が起こりそうな気がしないでもないですが、とりあえず今は大丈夫みたいです。
追記:
とかやってたけど、ちょっとおかしな事になったので、試しに*.googleというフレーバーを作って、index.googleを登録してみたら、エラーもなく登録できちゃいました。と、なると、別にtxtじゃなくても(おそらくどんな名前のフレーバーでも)大丈夫なのかもです。
追記:
アホな事に今更気が付きました。どんな拡張子でも登録できてしまうならば、最初からxmlフレーバーを作って全エントリを読み込ませればいいんだ。どこまでバカなんだ私は.....。orz





