我如何validation一个谷歌机器人

除了大search引擎之外,我会阻止所有的机器人。

我的阻止方法之一是检查“语言”: Accept-Language

如果没有接受语言,机器人的IP地址将被阻止,直到2037年。

Googlebot没有Accept-Language ,我想用DNS查找来validation

 <?php gethostbyaddr($_SERVER['REMOTE_ADDR']); ?> 

是否可以使用gethostbyaddr ,有人可以通过我的“ gethostbyaddr保护”?

这实际上是Stack Overflow的一个问题,而不是Server Fault(一个SEO网站实际上是最好的),但是你得到的是非常不可靠的。 googlebot可能来自任何数量的IP地址,从而反向DNS查找。 可能有成千上万种不同的select,如果有变化,那么bam已经阻止了一个合法的机器人近30年。

事实上,我只是在这里find了一个堆栈溢出问题,可以回答你的问题。 这是“ 如何识别谷歌机器人 ”的第一个谷歌命中。

您可以通过用户代理和IP地址来识别search引擎。 更多信息可以在如何识别search引擎蜘蛛和webbots中find。 这也是值得注意的。 但是,您不应该把用户代理(甚至是远程主机)视为必然的权威。 用户代理实际上只不过是另一端告诉你它是什么,它当然是免费告诉你什么。 编写代码来伪装成Googlebot是微不足道的。

(注意: 谷歌实际上build议你使用RDNS来validation他们的机器人 ,这对他们的情况可能是好的,但是这对于更广泛的应用来说肯定不是一个好主意,而且速度很慢)。