web-dev-qa-db-ja.com

robots.txtでパラメーター付きのGoogleインデックスページが許可されていません

Robots.txtには次のものがあります。

User-agent: *
Disallow: /refer.php

User-agent: NinjaBot
Allow: /

Sitemap: http://www.mysite.com/sitemap.xml

refer.phpファイルは、渡されるGETパラメーターに応じてさまざまな処理を行います。

Google検索を行うと、次のようなページの大量の結果が表示されます。

http://www.mysite.com/refer.php?o=23945
http://www.mysite.com/refer.php?o=39858
http://www.mysite.com/refer.php?o=9683
http://www.mysite.com/refer.php?o=10569
http://www.mysite.com/refer.php?o=58304
http://www.mysite.com/refer.php?o=69604

*refer.phpの後にアスタリスクrobots.txtがないため、Googleがこれらのインデックスを作成しているのはなぜですか? Disallow: /refer.php*に変更して問題を修正する必要がありますか?

5
Jake Wilson

Robots.txtは問題ありません。ただし、インデックス作成を完全に防止するだけでは不十分な場合があります。robots.txtのDisallowコマンドはクロールをブロックしますが、場合によってはリンクまたはその他の要因によりURL自体がインデックス作成されることもあります。

Robots.txtは、URLのインデックス作成を防止するものではなく、その目的はクロールを防止することです

GoogleがURLのインデックスを作成しないようにする最善の方法は、ドキュメントヘッドでこれを使用することです。

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

Googleヘルプ

Googleはrobots.txtによってブロックされたページのコンテンツをクロールまたはインデックス登録しませんが、Web上の他のページでURLが見つかった場合でもURLをインデックス登録する場合があります。その結果、ページのURL、およびサイトへのリンク内のアンカーテキストなどの一般に公開されている情報、またはOpen Directory Project(www.dmoz.org)のタイトルがGoogle検索結果に表示される可能性があります。

3
Arttu Raittila

パスをドル記号なしで開いたままにしておくと、その後に一致するため、後にアスタリスクを付ける必要はありません。 PHPで終わるために問題が発生している可能性があります。この場合、私は試すかもしれません:

Disallow: /*refer.php?

また、おそらく明らかですが、robots.txtはどのくらいの期間にわたって配置されましたか? robots.txtの変更を反映するようにSERPSを更新する前に、Googleが数週間以上かかります。

0
Max

追加:

Disallow: /refer.php?*

Robots.txtに。 Googlebotはワイルドカードを理解し、必要なURLのインデックスを作成しないように指示する最も明示的な方法です。

すべてのロボットで作業するには、末尾の*を付けずに試してください。ただし、Googleウェブマスターツールのロボットテスターを使用してテストを行い、Googlebotがブロックされることを確認してください。

0
Itai