如何阻止假冒的 Googlebots?

How to block fake Googlebots?

我猜假冒的 Googlebot 访问了我的网站。这是入口日志:

Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
66.249.73.72

我是这么认为的,因为它抓取了一些不存在的地址!实际上,它们完全是我创造的

假机器人有一些结构,它在我的第一个 URL 中添加了一个有趣的词 例如 此页面存在

https://whosebug.com/user

但机器人已抓取 :

https://whosebug.com/some-word-user
https://whosebug.com/some-word-jobs

这是我的 robots.txt。

User-agent: *
Disallow: /search?q=*
Disallow: *?replytocom
Disallow: /*add-to-cart=*
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: -----
  1. 首先您应该知道,googlebot 也不会抓取现有地址, 即尝试发现新内容。
  2. 其次,我个人更愿意接受假冒的谷歌机器人,至于 根据其 IP 排除 googlebot 的风险。 Google 将新 IP 添加到 谷歌机器人。再次声明:不要冒险。

根据我的经验,Googlebot 搜索总是来自 Googlebot IP 地址,如 crawl-xx-xxx-xxx-xxx.googlebot.com 因此,一种可能的方法是检查代理是否包含 Googlebot/2.1 并且远程包含 googlebot.com 那么它是否有效。如果不是那就是假的。

这是代码-

$agent = $_SERVER['HTTP_USER_AGENT'];
$remote = isset($_SERVER['REMOTE_HOST']) ? $_SERVER['REMOTE_HOST'] : gethostbyaddr($_SERVER['REMOTE_ADDR']);

$value = "googlebot";
$pos1 = strpos(strtolower($remote),$value);
$pos2 = strpos(strtolower($agent),$value);
if ($pos1===false && $pos2>0) {
  require_once($_SERVER['DOCUMENT_ROOT'].'errorpage.php');
  exit();
}