アーカイブ
Yahoo!検索のキャッシュをチェックしていると、既に存在しないページが目立つ。
存在しないページであっても、.htaccessによってrNoteに引数を渡しているため、
本来はサーバーが404の応答をすべきところで、rNoteが200を返しているのだ。
rNoteは仕様上、記事のカテゴリを変更するとURLも変わってしまうので、
その際ただ404にするのではなく、似たエントリを発見したとかいって誘導してくれる。
コレはとても賢い機能で、ユーザーフレンドリーだと思うが、
Yahoo!のロボットに対しては、やはりキッパリと404で応答しないといけないようだ。
rNote導入以前に存在していたURLが未だにキャッシュされているわけだが、
Yahoo!が余計な所にアクセスしたら404で応答し、
人間がアクセスしたらカテゴリの移動がないか検索してrNoteのエラーを返すように、
何とか対応できないかと考えてみた。
で、この方法で良いかどうかはわからないが、
header( "HTTP/1.1 404 Not Found" );
コレをrnote.phpのswitch/caseで404判定してる部分に追加。
ブラウザからのアクセスでは今まで通り、rNoteのエラーページが表示され、
HttpWebReqHeadでHEAD送信すると404エラーを出すようになった。
これで求める動作を実現できたのだが、Yahoo!が期待通りに動くかどうかはわからない。
そもそも、Yahoo!がGETの前にHEADを送信しているかどうかも不明。
さらに、似たエントリがない場合は404で良いが、ある場合は301で転送したい。
header("HTTP/1.1 301 Moved Permanently");
header("Location: ".MakeLinkUrl($fn0));
exit;
コレをERR_MSG_404_REFIND処理と置き換えればいい。
これで、似たエントリーがあるなどと回りくどい説明無しに、そのページに飛ぶ。
さて、このサイトにはもう一つ仕掛けがしてあって、
rNoteで補足することになってない拡張子のファイルだと、サーバーが404の判断をするが、
たとえ404が発生しても302でサイトトップに転送するように.htaccessに書いてある。
これは、既にないファイルがリンクをもらった場合に、加点をトップに転送するためだが、
その目的は301でなければ達成できないと知っているにもかかわらず、
やり方がわからないのでとりあえず302で書いている。
こっちについては別に何の問題も発生していないようだが、
似た問題が発生する可能性はあるわけなので、その対処もやらなきゃな。
Yahoo!が現在使っているロボット検索に切り替わる以前は、
まずカテゴリ登録サイトを優先してダイジェスト表示し、
見あたらない場合はロボット型の検索結果を表示するという仕組みだった。
その時点でロボット型の検索結果は、タイムラグの差はあれどMSNと同一だった。
それは現在のYahoo!検索の元になる1世代前のinktomi系システムで、
Yahoo!もMSNも別のロボット検索に移行してしまったが、
今はフレッシュアイがそのシステムを使っているので、完全になくなったわけではない。
サイトに訪問しているinktomi系ロボットはいろいろ種類があるらしいのだが、
どのロボットがフレッシュアイでどのロボットがYahoo!だという区別はなさそう。
本命とその周辺のサイトが一気に順位を上げる現象が両システムで同時に起こったのは、
両システムがシンクロ状態にあるからではないかと考えている。
最近つくづく感じるのは、Googleは検索する側にとってより良いサイトを目指していて、
Yahoo!は検索される側にとってよりよいサイトを目指しているという点だ。
現在のYahoo!検索は、フレッシュアイの結果に登録サイトの優遇を施しただけに見える。
すなわち、以前のカテゴリ優先表示をやめた場合、顧客であるサイト運営者を裏切るので、
その分ロボット検索の結果に手を加えて上位に表示しますよ、
という大人の事情をひしひしと感じる、疑惑に満ちた検索結果があらわになっている。
少なくとも、ロボット検索で上位に来ることはあり得ないようなサイトが、
カテゴリーに登録されていると言う理由で上位に出ていることは疑いようがない。
登録は人力で行われているわけで、Yahoo!のロボット検索は人力検索である。
しかし、これを否定したいとは思わない。
検索する側にはGoogleという味方がついているので、Yahoo!なんて必要ないし、
サイト運営者としてもYahoo!という味方がついているのでGoogleを必要としていない。
そんなYahoo!には、どこまでもサイト運営者の味方であって欲しいわけで、
順位を金で買えるサイトであるという姿勢はこれからも貫くべきだ。
しかも、現在はロボット検索の結果にさりげなく登録サイトを織り交ぜている形なので、
以前のように区別して表示するよりもよりいっそう運営者側に来たように思う。
現Yahoo!検索は以前と同じ人力検索であり、人力表示をより強化したと言うことだ。
これからどう変化するかはわからないが、現在のようなスタイルを続けるなら、
つまり、ロボット検索に見せかけて人力検索を上位に表示するスタイルを続けるなら、
ユーザーからも文句は出ないし、運営者も満足だし、金は入ってくるしでベストだろう。