Hexo 本機測試時如何關閉 Google Analytics

ShengYu 最近在使用 Hexo 進行 hexo s 本機測試的文章時,發現這些瀏覽行為也會被 Google Analytics 給紀錄回傳出去,
但是這時候的行為大多數都是點擊測試看看連結有沒有作用, 然後關閉,
不然就是瀏覽整個版面有沒有正常文章有無順暢, 然後關閉,
這些不太像是正常使用者的行為,我想看的數據是真實使用者的數據阿!!不想紀錄這愚蠢的數據XD

如果不想讓以上這些本機開發測試的這些行為被 Google Analytics 給紀錄進去,
最好的方式就是在本機測試 hexo s 時, 先把 Google Analytics 拿掉,

位置在 themes/landscape/_config.yml,把裡面的 google_analytics: UA-xxxxxxxx-x 拿掉即可,
但每次前都要去拿掉,發布前要加回來,這動作一直重複且容易忘記,
這時可以寫成一個 script,ShengYu 自己的習慣是寫成 Makefile,

Makefile 範例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
server: remove_google_analytics generate
@hexo s -p $(PORT) --drafts

server_without_drafts: remove_google_analytics generate
@hexo s -p $(PORT)

deploy: add_google_analytics generate
@echo "Start deploy ..." && \
hexo d

generate: clean
@echo "Generate ..." && \
hexo g
clean:
@echo "Clean ..." && \
hexo clean

# 把 google analytics 移除, 避免用本機測試時上傳不真實數據
remove_google_analytics:
sed -i 's/'google_analytics:\ UA-xxxxxxxx-x'/'google_analytics:'/g' themes/landscape/_config.yml

# 發布前把 google analytics 加回來
add_google_analytics:
sed -i 's/'google_analytics:'/'google_analytics:\ UA-xxxxxxxx-x'/g' themes/landscape/_config.yml

這腳本包含了7個規則 (rule),那這個腳本要怎麼使用呢?
make server - 啟動本機網頁伺服器
(會先執行它的依賴規則,remove_google_analytics 和 generate)
也就是說,輸入make srever,會幫我們先執行 remove_google_analytics 這個規則,
再執行 generate 這個規則,最後執行 server 本身這個規則。
輸入一個指令就幫我們執行了三個規則了,好膩害!

make server_without_drafts - 啟動本機網頁伺服器,無草稿模式
make deploy - 發布
會先去執行它的依賴規則,先執行 add_google_analytics 這個規則,
再執行 generate 這個規則,最後執行 deploy 本身的規則。

make clean - 清除
make generate - 產生靜態網頁資料
make remove_google_analytics - 移除 google analytics id
make add_google_analytics - 加入 google analytics id
如果對 Makefile 規則不熟悉的話可以 Google 一下。

以上就是 ShengYu 目前在使用的腳本,是不是方便多了呢!哈哈!

相關文章
Hexo 使用 Google Analytics 進行網站流量分析
Hexo codeblock 插入程式碼區塊與各種程式語言預覽
升級更新 Hexo upgrade
Hexo 熱門主題列表
Ubuntu 安裝 Hexo
Mac OS 安裝 Hexo