【问题标题】:How to track page views如何跟踪页面浏览量
【发布时间】:2010-10-19 04:07:10
【问题描述】:

跟踪页面浏览量的最佳方法是什么?例如:SO 有多少个问题的查看次数,但点击刷新不会增加查看次数。

我已经读到使用 cookie 是一种非常好的方法,但我不知道这如何不会失控。

我已经搜索了所有内容,但找不到一个好的答案。

编辑:

我还看到另一种选择(我可能又一次大错特错了)是使用 Google Analytics API 来获取页面浏览量。这甚至是一个可行的选择吗? Stackoverflow、youtube 等如何跟踪他们的浏览量?

【问题讨论】:

  • 什么编程语言?服务器端?客户端?第三者?自己动手?
  • GA 是一个不错的选择。或者您可以在您的服务器日志上运行报告,例如 grep 以了解 index.html 的 GET 数量。
  • 我正在使用 yii 框架(我没有太多经验)开发一个新项目。
  • 我知道这是旧的,但尽管我会提到最好的方法之一是将数据存储在会话变量中的 cookie(如果可用)中作为最终解决方案(因为使用服务器资源)。在您的 cookie/会话变量中不要存储 IP 地址(因为可以共享此 IP 地址),而是为它们分配一个会话 ID (sid)。如果您不在 .net 中,则可以在 .net 中使用 GUID 或 UUID。

标签: pageviews


【解决方案1】:

如果您自己滚动,您可以在数据库中跟踪它们。每次页面加载时,您都会调用一个方法来决定是否增加页面浏览量。您可以添加任何您喜欢的标准。

如果 IP 是唯一的
或基于会话变量,IP 在 20 分钟内未访问

THEN 添加页面浏览记录

| ID | IPAddress | ViewDateTime |
| 1  | 1.2.3.4   | Oct 18 ...   |

但是,在访问者与 SO 一样多的网站上,会话变量可能会变得非常负载密集。您可能需要更有创意。

现在,如果您不想对其进行编码,我建议您查看SmarterStats,因为它会读取您的服务器日志并且比分析更强大。

注意:我不确定是否有类似的 Apache 软件

【讨论】:

    【解决方案2】:

    我用我正在检查的地址设置了一个会话变量,然后如果它被该浏览器点击,则切换它。然后在我的页面模板中检查该页面的 var 并根据需要进行处理。

    【讨论】:

      【解决方案3】:

      一个简单的hacky方法:

      创建本地 MySQL 表进行跟踪:

      CREATE TABLE pageviews ( pageview_count int(9) default NULL )

      然后,在 index.php 页面上,或者用户将要登陆的任何地方,您可以在该字段上运行更新查询。

      <php
      $link = mysql_connect('localhost','root',''); 
      if (!$link) {
          die('could not connect ' .mysql_error());
      }
      $mysql = mysql_select_db($database_name,$link);
      $query = mysql_query('UPDATE pageviews set pageview_count = pageview_count + 1;');
      mysql_close();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-07-18
        • 1970-01-01
        • 1970-01-01
        • 2017-03-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多