analytics error in fluid

不知道各位在用 Hexo 配合 Fluid 的主題時有沒有遇到 google analytics 沒有反應的狀況。我目前是壞掉了,但我看 Fluid 的 github issues 好像也沒有人提到這件事,但我還是把我的方法寫下來,如果你也遇到跟我一樣的狀況,可以參考我的解決辦法。

遇到的狀況

之前我把 analytics 給我的 ID 填寫在下圖的 google: 那一行。

_config.fluid.yml的檔案裡

但在某次更新後突然 Analytics 收不到資料了,查了下發現我的網頁產生的程式碼有點問題。我的 ID 消失了?!原本應該在 gtag('config', ''); 這行的第二個參數出現 Analytics 的 ID 但不知什麼原因消失了。

錯誤程式碼截圖

如果你也遇到 Analytics 沒有收到資料的問題,可以去檢查一下這個部分的 ID 是不是也跟我一樣消失了,如果是那請繼續往下看,因為我找到方法自己寫上去了!

解法

這篇文章是在講如何加上 google ads 的程式碼到網站上,我們就是要用它插入程式碼的方法去把 Analytics 需要的程式碼加進網站裡。

在你的程式碼中找到 scripts 的資料夾(如果沒有就創一個),創一個 inject.js 的文件,貼上下面的程式碼:

1
2
3
hexo.extend.filter.register('theme_inject', function(injects) {
injects.head.raw('analytics', '<!-- Google tag (gtag.js) --><script async src="https://www.googletagmanager.com/gtag/js?id=你的帳號"></script><script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag(\'js\', new Date());gtag(\'config\', \'你的帳號\');</script>');
});

這是我複製 Analytics 提供給我的程式碼做的一些修改,記得把裡面的中文改掉,把 你的帳號 都改成你自己 Analytics 的 ID(G-什麼的),有兩個地方要改。

這樣應該就順利解決啦~

參考


analytics error in fluid
https://blog.catoverload.dev/2025/04/09/analytics-error-in-fluid/
作者
Evan Chang
發布於
2025年4月9日
許可協議