web-dev-qa-db-ja.com

robots.txtまたは.htaccessのすべての「ユーザーエージェント」で「クロール遅延」を機能させる方法は?

私はこの行を持っています:

クロール遅延:50

私のウェブサイトのルートにあるrobots.txtファイル内。

しかし、それはまったく機能していないようです。 Yandexユーザーエージェントから数分で400回の訪問があります。

ユーザーエージェントを無効にするのではなく、遅延値(私の状況では50)を尊重するようにします。

robots.txt?のすべての「ユーザーエージェント」に対して「クロール遅延」を機能させる方法また、これは。htaccessで実行できることも読んでいますが、これは正しいですか?

3
chefnelone

以前にボットをブロックするように要求したことを知っていますが、今はそれらを遅くしたいだけです。

速度を落とす唯一の方法は、速度が速すぎる場合にコンテンツを提供しないことです。コンテンツを提供しないことの問題は、検索エンジンのランキングに必ず悪影響を与えることです。

重要性の低いボットの一部をブロックすることにした場合、次のようなApacheの構成を使用してボットのユーザーエージェントをブロックできます。

SetEnvIf User-Agent BadBot GoAway=1
Order allow,deny
Allow from all
Deny from env=GoAway

BadBotYandexに置き換えるか、ブロックしたいボットのユーザーエージェントは何でもかまいません。

Apacheがユーザーエージェントを見ると、利用可能なコンテンツがないように見せかけます。

User Agentヘッダーは非常に簡単に変更できるため、Yandexが他のヘッダーに変更した場合、このハックは機能しません。

3
user27849