Googleの検索結果にrobots.txtで許可されていないページが含まれているのはなぜですか?


18

私のサイトには検索エンジンを遠ざけたいページがいくつかあるので、次のようにrobots.txtファイルでそれらを禁止しました。

User-Agent: *
Disallow: /email

しかし最近、Googleが検索結果でこれらのページへのリンクを時々返すことがあることに気付きました。なぜこれが起こるのですか、どうすれば停止できますか?

バックグラウンド:

数年前、私は私の親relativeが関係しているクラブの簡単なウェブサイトを作りました。彼らは自分のページにメールリンクを入れたいと思っていました。スパムリストは、直接mailto:リンクを使用する代わりに、自分のサイトで実行されている単純なリダイレクタ/ アドレスハーベスタトラップスクリプトを指すようにしました。このスクリプトは、実際のmailto:URL への301リダイレクト、または疑わしいアクセスパターンを検出した場合、ランダムな偽の電子メールアドレスを多く含むページと、そのようなページへのリンクを返します。正当な検索ボットをトラップから遠ざけるために、robots.txt上記のルールを設定し、正当なリダイレクタリンクとトラップページの両方のスペース全体を許可しません。

しかし、つい最近、クラブのメンバーの1人がGoogleで自分の名前を検索しました。最初のページの結果の1つがリダイレクタースクリプトへのリンクであり、電子メールアドレスで構成されるタイトル私の名前。もちろん、彼らはすぐに私に電子メールを送り、Googleのインデックスからアドレスを取得する方法を知りたいと思っていました。GoogleがそのようなURLをインデックスに登録するという考えがまったくなかったので、私も非常に驚きましたrobots.txt

私はどうにかしてGoogleに削除リクエストを送信しましたが、うまくいったようですが、Googleがrobots.txtそのようなことを回避している理由と方法と、許可されていないページが表示されないようにする方法を知りたいですの検索結果。

追伸 この質問の準備中に、実際に可能な説明と解決策を見つけました。これを以下に投稿しますが、他の誰かが同じ問題を抱えている可能性がある場合は、とにかく質問したいと思いました。あなた自身の答えを投稿してください。また、他の検索エンジンもこれを行うかどうか、そして同じソリューションがそれらにも機能するかどうかを知ることに興味があります。


1
「そして Googleが私のrobots.txt をどのように回避しているの」あなたはすでにこれを知っていると思います(または、そもそもサイトをどのようにセットアップできたでしょうか)robots.txtファイルには、誰かの私道の横にある小さな「立ち入り禁止」看板のようなものです。それは魔法ではなく、(訪問者が明示的に探しているのでない限り)彼らは存在にわずかに影響されることなくあなたの財産をさまようことができます。フラッドライトやカミソリのフェンスに相当するインターネットがありますが、それらがあなたが望むものなら、そうでrobots.txtはありません。
パルティアショット14

回答:


25

Google robots.txtは、クロールした他のページからそれらのURLへのリンクがある場合、意図的にインデックスに許可されていないURLを含めているようです。ウェブマスターツールのヘルプページを引用するには:

「Googleはrobots.txtによってブロックされたページのコンテンツをクロールまたはインデックス登録しませんが、ウェブ上の他のページでURLが見つかった場合、URLのインデックスを作成できます。その結果、ページのURL、サイトへのリンクのアンカーテキストやOpen Directory Project(www.dmoz.org)のタイトルなどの公開情報は、Googleの検索結果に表示されます。」

どうやら、GoogleはDisallowディレクティブを、インデックスを作成するのではなく、ページのクロールをrobots.txt禁止するものとして解釈します。たとえそれが私に弁護士を務める規則を軽視しているとしても、それは技術的には有効な解釈だと思います。

、このインタビュー記事は、Googleからのマットカッツは、もう少し背景を与え、彼らはこれを行う理由のための合理的な響きの説明を提供します:

「初期には、非常に人気のある多くのウェブサイトはクロールされたくありませんでした。たとえば、eBayとNew York Timesは、検索エンジンを許可していませんでした。米国議会図書館には、検索エンジンでクロールすることは許可されていないというさまざまなセクションがありました。だから、私たちが思いついた妥協案は、robots.txtからクロールしないことでしたが、見たURL参照を返すことができました。」

両方のページで推奨される解決策は、インデックスに登録したくないページにnoindexメタタグを追加することです。(X-Robots-TagHTTPヘッダーはHTML以外のページでも機能するはずです。ただし、リダイレクトで機能するかどうかはわかりません。)逆説的に、これはGooglebotがそれらのページをクロールできるようにする必要があります(robots.txt完全に削除するか、 Googlebotに別のより寛容なルールセットを追加することにより)、そうでない場合はそもそもメタタグを表示できないためです。

リダイレクト/スパイダートラップスクリプトを編集して、メタタグとX-Robots-Tagヘッダーの両方に値を送信し、noindex,nofollowGooglebotがでスクリプトのURLをクロールできるようにしましたrobots.txt。Googleがサイトのインデックスを再作成すると、機能するかどうかがわかります。


5

これにより、Google(および優れたボット)がこれらのページをクロールしてコンテンツを読み取ることを防ぐことができますが、リンクされている場合、SERPにURLのみのリンクを表示できます:

Google SERPのURLのみのリンク

ご覧のとおり、タイトルや説明はなく、文字通りURLのみです。当然、これらのタイプの結果は、明示的に検索しない限り、通常SERPから省略されます。

そして答えで述べたように、SERPにURLをまったく表示したくない場合は、ロボットを許可する必要がありますが、noindexメタタグを含めます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.