2008年12月7日

google のボットは javascript 生成コンテキストを追跡できないのだろうか??

fjの教祖様 の蔵書/既読書@GeoCities というページを持っている。

ここのインデックス部分を、全てのページで static に保持すると物凄くディスク容量を喰う(全体の 3/4 がインデックスだった事が判明している)上に、同じデータを何度も何度もクライアントに転送するのは重たい。さらに言うと、インデックスに何か追加されるたびに全体が再構成、サーバへも再uploadするため耐え難い…というので、ここをどうにかして client side include (CSI)できないかと考え… javascript で生成する事にした。Javascriptならば <script src="xxxx"> と記載すれば別途読み込める。

読み込んだ関数はすごく馬鹿みたいで、document.write() を使って本来そこにあるべきインデックスを現す html 命令をひたすら書き出しているだけだ。すごく簡単だが、結構強力。なによりビルドの相互依存性や再構築範囲の大幅な減少はありがたかった。

ありがたかったのだが、しばらく運用して判った事として、Google のエンジンがこの javascript による URL 展開結果を追跡できないらしい。この変更以降に作られたページが全くでてこないし、それ以前からあるページも古いイメージ分しか検索されない。新しく登録した本とかが出てこないのだ。

うーむ。検索性が下がるのは、それはそれで困るなぁ。だからといって、転送量が増えるのはオリジナル→サーバも、サーバ→クライアントも、困る。

何かいい手を考えなくてはいけないなぁ。