【问题标题】:How can I know if google spiders or another spiders visit my page?我如何知道谷歌蜘蛛或其他蜘蛛是否访问了我的页面?
【发布时间】:2010-11-12 22:22:16
【问题描述】:

我如何知道谷歌蜘蛛或其他蜘蛛是否访问了我的页面?

<?php

if ("this is a spider") {
header('Location: index.php');
exit;
}

?>

【问题讨论】:

  • 如果您不希望搜索机器人访问您的某些页面,请将它们标记为 robots.txt

标签: php web-crawler user-agent


【解决方案1】:

您可以使用USER_AGENT 标头来识别大多数搜索引擎爬虫,如this question 中所述。

但是,请注意,您似乎试图做的事情 - 向爬虫提供与人类访问者不同的内容 - 是一种技术 also known as "cloaking",并且根本不被搜索引擎接受。

据我所知,对于 Google,这可能会导致重罚,直至您的网站完全从索引中消失。

我会顺其自然,而是采用合法的 SEO 优化。

【讨论】:

    【解决方案2】:

    您可以查找全局变量的值: $_SERVER['HTTP_USER_AGENT'] 。对于 google spider,该值将类似于“Googlebot*”

    PHP 的get_browser 函数也很有用(检查返回的浏览器类型是否已知——如果不是,则很可能是蜘蛛或爬虫)。

    【讨论】:

    • this 就是为什么我们不喜欢只提供链接的答案...链接已关闭。
    【解决方案3】:

    您必须检查用户代理。您可以查看这些页面以获取更多信息: http://fr.wikipedia.org/wiki/User-Agent#Robots
    http://www.user-agents.org/

    然后,您只需解析变量 $_SERVER['HTTP_USER_AGENT']。

    【讨论】:

      【解决方案4】:

      虽然用户代理是 googlebot 的良好标志,但更好的方法是使用here 概述的内容(在检查用户代理之后),因为伪造用户代理非常容易。函数gethostbyaddrgethostbyname 会很好地解决这个问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-02-23
        • 2017-09-11
        • 2017-12-25
        • 1970-01-01
        • 2012-01-23
        • 1970-01-01
        相关资源
        最近更新 更多