web-dev-qa-db-ja.com

robots.txtに「NoIndex」が含まれるURLは、Googleによってインデックス化されています

私のrobots.txtファイル(http://www.tutorvista.com/robots.txt)では、Noindex: /content/...を使用してインデックス作成を禁止しています。

enter image description here

これは、http://www.tutorvista.com/content/およびこのURLの下にあるものにはインデックスを作成しないことを意味するはずです。しかし、以下の私の検索結果の画像では、このURLの下のページがインデックス付けされていることがわかります。

enter image description here

さらに、Disallow: /biology/を使用しています。つまり、http://www.tutorvista.com/biology/およびこれより下のものはクロールしないでください。しかし、私の検索結果の画像では、このURLの下のページがクロールされ、インデックスに登録されていることがわかります。

enter image description here

だから誰も私のrobots.txtディレクティブの何が問題なのか教えてもらえますか?

3

robots.txtファイルでは「noindex」ディレクティブを使用しないでください。代わりに、Googleでインデックスを作成したくないページにはnoindexメタタグを追加する必要があります。

NOINDEXタグは次のようになり、インデックスを作成したくないページのセクションに配置する必要があります。

<meta name="robots" content="noindex">

詳細 ここにあります

Robots.txtファイルに「Disallow:/ biology /」が含まれている2番目の例では、この数行上に「Allow:/ biology/animations /」も含まれているため、このページがインデックスに登録されています。

お役に立てれば!

7
Matthew Elshaw

Noindexは、元のrobots.txt仕様の 一部ではない であることに注意してください。 Googleはこれを実験的な機能としてサポートしました(参照: robots.txtの「Noindex:」はどのように動作しますか? )が、それがまだ当てはまるかは明らかではありませんと)。しかし、そうだと仮定しましょう。

Robots.txtには2つの問題があります。

空行

レコードに空の行を含めることはできません。空行は、レコードを区切るために使用されます。

適合ボット(Googlebot-Image/Adsbot-Google/Mediapartners-Googleとして識別されない)は、このレコードを使用します。

User-agent: *
Allow: /

したがって、以下のDisallow/Allow/Noindex行は適用されません。

もちろん、ボットはこれを「修正」し、次の行をこのレコードの一部と解釈する(つまり、空白行を無視する)ことを試みますが、robots.txt仕様 定義しない 、だから私はそれを期待しません。

...Noindex

NoindexDisallowのように機能する場合(Noindexが指定/文書化されていないため、確かにわかりませんが、異なる値を指定しても意味がないと思います)、値に追加した...は、その...は、インデックスを作成しないURLに表示する必要があります。

この線

Noindex: /content/biology/...

/content/biology/.../foobarなどのURLに適用されますが、/content/biology/foobar/content/biology/などのURLには適用されません。

したがって、パスが/content/biology/で始まるすべてのURLのインデックスを作成しない場合は、次を指定する必要があります。

Noindex: /content/biology/
6
unor