Googlebotはフォーム送信してまで新しいページを発見する

リンクがまったく張られていないページをどうやってGooglbotはクロール・インデックスするんだい? 自分のサイトでどこからもリンクしていないのに毎日2、3ページがインデックスされるんだ。しかもそのページは検索結果として作られたページなんだ。

こんな疑問にGoogleのMatt Cutts(マット・カッツ)氏が回答しました。

Matt Cutts氏はGooglebotが新しいページを発見する仕組みを2つ解説しています。

まず1つ目は、ページ発見の基本となる「リンクを介しての発見」です。

自分ではリンクしていなくても、気付かないうちにリンクされていることが往々にして見られます。
サイト管理者が認識していなくても、Googleが認識しているリンクがあるかもしれません。
前にも説明したように、Googleのlink:は一部のバックリンクしか表示しませんでしたね。
本人が気づいてないとしても、Googleが気づいているリンクが存在することがあります。

リンクをたどってGooglebotは新しいページを見つけます。

ところが、質問者のケースではこの1つ目のパターンには当てはまらないようなのです。

ポイントは「検索結果ページ」インデックスされているという点です。
※原文に忠実にいうと「検索フィールドから生成されたページ」

検索結果ページがどこか別のページからリンクされているということは、通常考えられませんよね。
誰かが検索結果のURLを貼る可能性はありますが、質問者のように毎日毎日数ページがインデックスされる状況では当てはまらなそうです。

原因はGooglebotが検索を実行したからです。

今Googlebotは簡単なフォームなら送信を実行して先のページを見ることができるようになっているのです。
アメリカの50州を選択するドロップダウンリストだけだったりとか、入力するフィールドが2,3個くらいしかなければ、フォーム送信を試みるそうです。

ただ複雑なフォームの入力はできないし、たとえばクレジットカードの入力もできません。

でも単純なフォームであれば、その先を見ることが可能なときもあるそうです。

質問者のケースでは、Googlebotが検索を実行してその結果ページをインデックスしていると考えられます。

たまにGoogleのSERPで別のサイトの検索結果ページを見かけることがあります。
誰かが検索結果のURLをどこかに張り付けたか、そのサイトが検索結果をキャッシュとして保存してサイト内のどこかにリンクを表示させているからだろうと推測していたのですが、ひょっとしたらGooglebotが検索してその結果をインデックスしていたのかもしれません。

サイト内検索の結果ページが検索エンジンのSERPに出ないようにするには、robots.txtで検索結果ページをブロックしておけばいいですね。

「おけばいい」というよりい、「おくべき」です。

検索結果ページをインデックスさせても意味がないことが多いでしょう。
検索エンジンの検索結果にサイト内検索の結果ページが表示されてもユーザーも困ります。

話がちょっとそれましたが、Googlebotはリンク以外にもフォーム送信でその先に存在するページを発見することがあるということがこのエントリで伝えたかったことです。

【P.S.】
このエントリは1日前に予約投稿されたものです。