【问题标题】:Why does my basic php hit counter count too many hits?为什么我的基本 php 命中计数器计数太多命中?
【发布时间】:2012-01-04 20:15:05
【问题描述】:

我在头文件中使用了一段简单的 PHP 代码,每次 PHP 会话将我的 SQL 数据库中的计数器增加 1 一次。我已经对此进行了测试,效果很好。

但是,当我将其放置一天后,计数器的上升幅度超出了我的预期,并且将其与我的 Google Analytics(分析)中的浏览量计数器进行比较,它太高了。

可能会发生什么,我该如何阻止这种情况?

【问题讨论】:

  • 当有人清除 cookie / session 然后返回您的站点时会发生什么?是否算作新访问?您的 Google Analytic 设置是否仅跟踪唯一身份访问者?
  • 是否所有的 404 都被路由到一个增加计数器的页面?这也可能导致它,例如在包含许多损坏图像的页面中。
  • 听起来像是爬虫可能会导致您的计数器上升。此页面可能感兴趣:wanderr.com/jay/detect-crawlers-with-php-faster/2009/04/08
  • GA 的浏览量计数器会计算所有浏览量,而不仅仅是唯一的浏览量。今天它只计数 1,但我的计数器超过 50。我认为爬虫是原因..

标签: php google-analytics hitcounter


【解决方案1】:

Google-analytics 计算访问次数的方式与基于会话的简单计数器截然不同。我无法确切告诉你它是如何计算的,因为它在这方面是非常封闭的源代码,但肯定会涉及到 cookie、会话和 javascript。

如果你想要我的意见。我曾经建立了自己的统计系统,所有那些机器人检测、趋势、错误访问都令人讨厌。我切换到 GA,情况更糟,因为客户随后开始抱怨两个站点的数字不一样。

海事组织?不要同时使用两者,自己制作或仅使用 GA,但不要同时使用两者,您可能永远不会达到相同的数字。

祝你好运

【讨论】:

  • Piwik 代替 GA,如果您想保留您的数据。
【解决方案2】:

“每个会话一次”是什么意思?

您需要执行start_session(),然后设置一个变量以确保您只计算唯一会话:

if(!isset($_SESSION['started'])) {
    doHitCounter();
    $_SESSION['started']=true;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-20
    • 1970-01-01
    相关资源
    最近更新 更多