我怎么知道谷歌蜘蛛或其他蜘蛛是否访问我的网页?
<?php
if ("this is a spider") {
header('Location: index.php');
exit;
}
?>
答案 0 :(得分:5)
您可以使用USER_AGENT
标题识别大多数搜索引擎抓取工具,如this question中所述。
然而,请注意,您似乎要尝试做的事情 - 向抓取者展示与人类访问者不同的内容 - 是一种技术also known as "cloaking",并且搜索引擎根本不会接受。
据我所知,对谷歌来说,这会导致严重的处罚,直到你的网站完全从索引中消失。
我会这样做,而是采用合法的SEO优化。
答案 1 :(得分:1)
您必须检查用户代理。您可以查看这些页面以获取更多信息:
http://fr.wikipedia.org/wiki/User-Agent#Robots
http://www.user-agents.org/
然后,您只需要解析变量$ _SERVER ['HTTP_USER_AGENT']。
答案 2 :(得分:1)
您可以查找全局变量的值:$ _SERVER ['HTTP_USER_AGENT']。对于谷歌蜘蛛,该值看起来像“Googlebot *”
PHP的get_browser函数也很有用(检查返回的浏览器类型是否已知 - 如果不是,那么很可能是蜘蛛或爬虫)。
答案 3 :(得分:0)
虽然用户代理是一个体面的标志,它是googlebot,但更好的过程是使用概述here(在检查用户代理之后),因为伪造用户代理非常容易。函数gethostbyaddr和gethostbyname对此有好处。