it-swarm.com.de

Verhinderung einer hohen Bandbreitennutzung durch Yandex

Obwohl ich eine Zeile für Yandex in meine robots.txt-Datei eingefügt habe, indiziert Yandex meine Website manchmal aggressiv. Also habe ich einen Teil hart codiert und nach User Agent gesucht und die zwischengespeicherte Datei bereitgestellt, wenn der User Agent folgendermaßen aussieht: "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"

Bei der Überprüfung der Statcounter-Protokolle habe ich kürzlich festgestellt, dass andere Yandex-bezogene Bots häufig meine Website crawlen. Sie ähneln den folgenden. Ich habe diese Informationen aus meinem cPanel-Protokoll entnommen:

Beeline (128.69.243.12)
Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.2)
Referer: http://yandex.ru/yandsearch?text=example.com&lr=213

Beeline (89.178.108.247)
Referer: http://yandex.ru/yandsearch?text=example.com&lr=213
Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.2)

Wie kann ich diese Bots blockieren oder zwischengespeicherte Seiten bereitstellen?

Wenn ich nach $_SERVER['HTTP_USER_AGENT'] suche, wird "yandex.ru" im Referrer nicht angezeigt. Der Referrer ist leer. Ist es möglich, den Referrer im cPanel-Protokoll herauszufinden, kann er aber nicht aus HTTP_USER_AGENT übernommen werden?

Außerdem möchte ich keine IPs sperren, da zu viele IPs im Zusammenhang mit diesem Problem existieren und diese regelmäßig geändert werden. Wie kann ich diesen Bot herausfinden?

Hat jemand ein ähnliches Problem? Danke

3
trante

Verwenden Sie eine Durchforstungsverzögerung für robots.txt wie in http://help.yandex.com/search/?id=1112639 beschrieben

Beispiel:

User-agent: Yandex
Crawl-delay: 2 # specifies a 2 second timeout

Bevor Sie mit dem Bannen dieses Bots beginnen, sollten Sie zunächst überprüfen, ob Ihre Protokolle tatsächlich Yandex sind und nicht jemand anderes, der den Benutzeragenten fälscht, um so auszusehen, als wären sie Yandex. Eine Taktik, die von Konkurrenten angewendet wird, um Sie dazu zu bringen, einen Bot zu blocken oder zu verzögern, damit er Sie ausrangieren kann. Führen Sie eine DNS-Suche durch: http://help.yandex.com/search/?id=1112029

Sie können eine Cache-Kopie abhängig vom Benutzeragenten auf verschiedene Arten bereitstellen. Wenn Sie Apache verwenden, können Sie dies mit mod_rewrite-Regeln tun. Wenn Sie PHP verwenden, können Sie dies tun, indem Sie die Variable $ _SERVER ['HTTP_USER_AGENT'] abfangen oder sogar die Funktion get_browser () verwenden. Die Art und Weise, wie Sie einen Cache erstellen, ist ebenfalls vielfältig und kann auf 101 Arten erfolgen. Um die bestmögliche Leistung zu erzielen, sollten Sie jedoch immer Caching verwenden.

2