アーカイブ

2006年 9月 16日 のアーカイブ

なんか、もっと書きたくなったので続きを書いてみる。
引数付きのURLでは、そうでないURLとどう違うのかをもう少し詳しく。

ttp://example.com/hoge.php?a=1&b=2
ttp://example.com/hoge.php?b=2&a=1

上記二つのURLは、引数の値が同じで順番が違うという例だが、
この場合、スクリプト側は引数の値しか取得しないので、順番が違っても同じページを見せる。

ttp://example.com/hoge.php?a=
ttp://example.com/hoge.php

上記二つのURLも、スクリプト側から見たら同じ物なので同じページを見せる。
aに何も値を入れないという引数は、あろうがなかろうが、aに何も入れないので同じだ。

一つの全く同じ内容のページに対して、二つ以上のURLが存在した場合、
その両方を検索結果に出すというのは無駄であり、全然よろしくない。
よって、複数あっても代表してどれか一つしかインデックスしないのがスマートなやり方だが、
サイト運営者から見たら、全てのページがインデックスされないという点で、
引数付きのURLだと不利になるという発想に到達するはずだ。
実際は、同じページが複数インデックスされない方が平等であり、全く不利ではない。
同じ内容のページが複数検索結果に出るべきではないという発想は、
引数ばかりではなく、ミラーサイトやキャッシュサイトの一本化にもつながるだろうな。
だけど、完全なミラーサイトではなく、同一データベースの共有だけとかだと、
ミラーか類似かまでの判断が出来ないようで、いくらでも検索結果に出てくるけどな。

そういうわけで、同一ページの排除が行われているんだから、
引数付きのURLだけを選別してわざと検索結果に出さない等の処理をする必要はない。

以上、あくまで、「自分で検索エンジンを作るなら」サイトを引数なしにする必要がない理由だ。
そして逆に、引数付きじゃないページの方がよくインデックスされているという事実もある。
もちろん事実といったって、うちでやってるサイトだけの問題に過ぎないが。

やる必要がないかもしれないし、やっても損はないかも知れない程度の問題だし。
くだらないと言えばくだらないことで、やり方がある部分はやっておこうという程度の話。

rNoteは初めから引数なしのURLを意識して作られているので、
各記事はまるでそういうファイルがあるかのように静的なURLで表示する。
さらに独自で、日付や月ごとのページを引数なしに改造したことでノウハウはある。
物件検索の方も、同じように改造して引数なしにしようと目論んでみる。

各物件の詳細ページは、rNoteと同じように、簡単に静的表示にできた。
しかしこのスクリプトには、各社の物件しか表示しないモードがあるため、
一つの物件につき、静的URLは二つ存在することになる。
それはそれで仕方がない。

次に、詳細ページ以外を引数なしにしようと考えてみたのだが、
検索フォームから送る情報が多すぎて、これは不可能だろう。
そもそも、検索フォームから検索ボタンを押さなきゃ辿り着けないページは、
検索エンジンのクロールすら来ないはずだから、全部やる必要はそもそもない。
で、検索エンジンが一切入ってこないサイトにするのは非常にマズいので、
わざとやってる「全物件一覧表示」っていうリンクがあるわけだ。
検索条件を一切指定しないで、全物件の詳細ページにクロールが行くように作ってある。
そのページだけでも引数なしにしてクロールしやすくしておこうかなと。

いや、引数なしにすればクロールしやすいなどという発想は個人的な妄想だ。
なんの根拠もないし、やっても意味のないことかも知れない。
自分が検索エンジンのクローラーを作るとしても、引数がどうのという考え方はしない。
引数がつくってことは、引数の順番を変えると同じページが表示されるということだから、
違うURLで同じ内容が出るという動作だけをケアすればなんの問題もない。
だから、引数のないURLがクローラー対策になるという発想自体があやしい。
しかし、汁ムゴ魚の場合、URLを引数なしにしていないページはインデックスされにくい。
そのページが、引数があるせいでインデックスされないのだとは全く言えないが、
たまたま、引数があるページはあまりインデックスされていない現状なので、
もしもの事を考えて、有り余る自由時間をチョッピリ割いて、対策しても損はないかなと。

出来上がりって言ってからまだまだ結構いじってるよね。