2010-02-05 110 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