robots.txtでブロックしたページが検索結果に出るのはなぜ?

検索エンジンのロボットのクローリングを拒否するために、robots.txtでブロックしたはずのページが、検索結果に出現することがあります。

robots.txtの指示を無視している、あるいは理解できていないのでしょうか?

GoogleのMatt Cutts(マット・カッツ)氏が回答しています。

Uncrawled URLs in search results

要点をまとめます。

Googleは、決してrobots.txtを無視したり、理解できていなかったりするわけでありません。

ある条件のもとでは、robots.txtでブロックされたページをSERPに表示することがあります。

たいていの場合は、ブロックページに多くのリンクが張られている場合です。

リンクが張られているということは、参照する(検索する)ユーザーが多いと考えられます。

Googleとしては、ユーザーが求めている情報を返すことが最重要です。
robots.txtでブロックされているとはいえ、そのページがもっとも関連性が高いとリンクによって判断できるのなら、結果として提示したいのです。

そこで、妥協案としてページはクロールしない代わりに、URLだけを見せるようにしました。
URLは、ページの中身を見なくてもリンクによって分かりますよね。

ページを見ないので、titleタグやmeta descriptionタグは読めません。

結果として、次のようなSERP表示になります。

robots.txtでブロックされたページのSERP

ページタイトルやスニペットのない、URLだけの質素な結果です。

Matt Cutus氏は、www.dmv.ca.gov(California Department of Motor Vehicles)を例に出しています。

DMVは、運転免許の取得や車両の登録を取り扱う、州の機関です。
公のサイトですから、あちこちからリンクが張られているだろうし、検索する人も多いでしょう。

しかし、カリフォルニア州のDMVは、robots.txtでロボットのアクセスを拒否していたそうです(今は一部だけ)。

たとえば”California DMV”で検索して、www.dmv.ca.govが出てこないのは、ユーザーにとっては不満が出るはずだし、Googleも望むところではありません。

したがって、robots.txtでブロックされているページは、クロールはしないけれども、リンクなどによって分かっている情報を頼りに、URLだけを検索結果に表示するのです。

eBayもその昔は、robots.txtでアクセスをブロックしていました。

しかし、Googleは、”ebay”で検索された時は検索結果にeBayのホームページを表示させていました。
知っている人もいるかもしれませんね。

また、DMOZに登録されているサイトの場合は、DMOZの掲載情報を利用することもあるそうです。

Googleは、決してrobots.txtを無視してはいません。

しかし、ユーザーにとって提示したほうがよいページであるならば、中身を見ることなく存在だけは見せるようにしているのです。

Yahoo!やBingも程度の差はあれ、同じような仕組みをとっているようです(完全に無視しているとしか思えないケースもありますが)。

なお、SERPに表示させたくない時は、「meta robots noindexタグ」を使います。

Googleの場合は、robots.txtの「Noindexディレクティブ」で命令することもできます。

すでにインデックスされたページをSERPから消すには、robots.txtでブロックし、GoogleウェブマスターツールのURL削除ツールで削除依頼します。

Yahoo!の場合は、サイトエクスプローラーで非表示にできると思います。

Bingは、今のところツールでは削除できななくて、直接依頼しないと消してもらえないようです。