2010-02-05 80 views
2

获取引荐来源详情的最佳方式是,例如google 20%,msn 10%,内部70%。它用于了解每个文章在网站上发布的过程是如何查看或访问或引用的。不在谷歌分析。但它的博客作者在发布技术文章后进行检查。该应用程序是在PHP中,也使用禅宗框架。获取引荐来源百分比

回答

1

结果必须如何实时?

方法1 - 修改您的应用程序,使其在提供帖子时存储引荐者信息。 (可用于您的PHP应用程序,请检查cgi库)。优势:可以提供实时统计信息,但会降低应用速度并增加额外的复杂性。

方法2 - 保存日志文件并离线分析它们。可能更好全能。请注意,Apache可以将其日志直接存储到数据库中(而不是记录文件)。这样可以更轻松地查询和分析报告给您的作者。

添加 - 在数据库中存储日志信息(无论是在飞行中或批次)的另一个优点是,“一个报告导致了另一个” - 今天笔者想知道的引荐信息。明天他们会想要通过浏览器类型和国家/地区进行交叉标签。

2

使表格与查阅者:

ID |引用| article_id | count

and:

id | article_id | TOTAL_COUNT

,每次有人访问你的文章,对文章increnment TOTAL_COUNT,和适当的计数。

而当你展示它时,只需将这两个计数器分开。

对不起,我的英语;)

+0

有没有办法处理刷新或回发?就像在页面上发表评论一样。 – zapping 2010-02-05 07:02:47

+0

嗯......如果(引用者== this_site)刷新! – radex 2010-02-05 07:09:38

+0

可能会开始一个会话可以做到吗?有什么方法可以知道吗?就像在asp.net中一样,你在global.ascx文件中有会话开始事件。 – zapping 2010-02-05 07:19:10

1

我不知道你的应用程序是如何设置的,但是让我们假设每个岗位被存储在数据库中有唯一的ID。你的脚本将是这个样子:

  1. 获取在数据库中使用原帖id作为外键和域的规范化版本使用$_SERVER['HTTP_REFERER]
  2. 商店引荐

然后,当您要显示统计信息时,请运行如下查询:

SELECT `domain`, COUNT(*) as `total` FROM post_referrers WHERE `post_id` = 5 GROUP BY `domain` 

然后,您可以计算返回总数的百分比。

post_referrers表是这样的:

id, domain, post_id, full_url 

而且,如果参照网址是http://google.com/?q=whatever你想存储:

domain: google.com 
post_id: 5 
full_url: http://google.com/?q=whatever