GoatCounter web analytics

GoatCounter

Write.as 加裝 GoatCounter筆記

部落格文章放在Write.as,本身是有簡單的統計功能的,可以查看30天內的訪客資訊,看得到過去30天的訪客數、總訂閱數、Referrers (字面上的意思是推薦人,不懂要怎麼翻譯比較好,感覺是指從哪裡連進來的?),還有Top 25閱讀數的文章。

Write.as Stats: pass 30 days guests Write.as Stats: Subscribers & Referrers Write.as Stats: Visits & Top 25 posts

其實以上這些資訊對我的部落格來說已經夠了,但如果想要知道更多訪客資訊,例如讀者來自哪裡?應該就需要別的工具了,最近剛好看到有嘟友轉了這篇文章:Solidot | Google Analytics 的轻量级开源替代。不想用Google Analytis,以及費用等問題,好奇之下就選了GoatCounter這個有提供個人、非商業使用免費的方案。

GoatCounter Pricing

申請帳號之後,發現安裝方法很簡單,只要在網頁中插入下面這一行,應該就是在Write.as的Javascript設定那邊插進去就好。

<script data-goatcounter="https://[AccountName].goatcounter.com/count" async src="//gc.zgo.at/count.js"></script>

但是!馬上發現了一個問題:Write.as好像只能插入Javascript的程式碼內容,不能引入外部的.js檔?

Write.as can not insert GoatCount site code

喔喔喔!我的天,這出乎我的意料之外,也超出我僅有的芝麻綠豆大小媲美金魚腦的技術知識能力了!怎摸辦?只好再查查GoatCount的官方說明了,發現似乎有救了?

GoatCounter manual

還是可以直接把count.js的內容直接貼進來,然後測試了一下。

    window.goatcounter = {endpoint: 'https://[AccountName].goatcounter.com/count'};

    // [.. contents of count.js ..]

耶!成功了,統計數據有出現了!不過,我還是不死心,想說未來count.js內容有更新,我是完全不會得到Updates的,因為我是直接複製貼上的啊!有沒有方法可以用Javascript來引入外部的.js檔並執行呢?

然後我就找到了這篇文章:動態載入JavaScript檔案的兩種方法,裡面詳細教了如何動態地載入一個.js檔,雖然我完全看不懂內容,但把GoatCounter的count.js位置放進去,插入到Write.as的Javascript設定區域中,測試一下,就發現成功啦!感謝網站的教學資源,讓我完全不懂Javascript也能插入外部.js檔成功安裝了GoatCounter!💃🏻

// Add GoatCounter Code
window.goatcounter = {endpoint: ‘https://[AccountName].goatcounter.com/count’};
// Dynamically load count.js
var head= document.getElementsByTagName(‘head’)[0]; 
var script= document.createElement(‘script’); 
script.type= ‘text/javascript’; 
script.onload = script.onreadystatechange = function() { 
	if (!this.readyState || this.readyState === “loaded” || this.readyState === “complete” ) { 
	// Handle memory leak in IE 
	script.onload = script.onreadystatechange = null; 
	} }; 
script.src= ‘https://gc.zgo.at/count.js’; 
head.appendChild(script);

#blog #Writeas