从 PHP 的视图计数器中排除机器人和蜘蛛

2023-11-27

我用 PHP 为一个网站构建了一个非常基本的广告管理器。

我说基本是因为它并不像 Google 或 Facebook 广告甚至大多数高端广告服务器那样复杂。不处理付款或任何事情,甚至不针对用户。

它的目的是为了我的低流量网站,只是简单地显示随机横幅广告,计算展示次数和点击次数。

特征:

  • 页面上的广告位/位置
  • 横幅图片
  • Name
  • 浏览量/展示次数计数器
  • 点击计数器
  • 开始和结束日期,或永不结束
  • 禁用/启用广告

不过,我想逐渐向系统添加更多功能。

我注意到的一件事是印象数/浏览量计数器经常显得夸大。

我相信造成这种情况的原因是社交网络的蜘蛛和机器人以及搜索引擎蜘蛛。

例如,如果有人将我网站上的页面上的 URL 输入到 Facebook、Google+、Twitter、LinkedIn、Pinterest 和其他网络,这些网站通常会抓取我的网站以收集网页标题、图像和描述。

我真的希望能够在真人未查看页面时禁用此功能,使其不再计为广告展示次数/查看次数。

我意识到这将很难检测到所有这些,但如果有办法获得其中的大多数,至少会让我的统计数据更加准确。

所以我正在寻求有关如何实现我的目标的任何帮助或想法?请不要说使用其他广告系统,那是不可能的,谢谢

enter image description here


您需要使用 JavaScript 来提供 AD 服务。这是避免大多数爬虫的唯一方法。只有浏览器才会加载图像、JS 和 CSS 等依赖项。 99%的机器人都会避开它们。

您还可以这样做:

// basic crawler detection and block script (no legit browser should match this)
if(!empty($_SERVER['HTTP_USER_AGENT']) and preg_match('~(bot|crawl)~i', $_SERVER['HTTP_USER_AGENT'])){
    // this is a crawler and you should not show ads here
}

这样你就会得到更好的统计数据。使用JS做广告。

PS: 您也可以尝试在 JS 中设置 cookie,然后检查它。爬虫可能会收到通过 HTTP 在 PHP 中发送的 cookie,但在 JS 中设置的 cookie,99.9% 的机会他们会错过。因为他们需要加载一个JS文件并解释它。这只能由浏览器完成。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 PHP 的视图计数器中排除机器人和蜘蛛 的相关文章

随机推荐