検索エンジンのロボットのクローリングを拒否するために、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表示になります。
ページタイトルやスニペットのない、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は、今のところツールでは削除できななくて、直接依頼しないと消してもらえないようです。