辛辛苦苦写了几十篇技术深度文章,发上去之后就像往宇宙深空发射无线电波:到底有没有人在看?还是只有自己每天在按 F5 贡献唯一的 PV?读者是从搜索引擎摸过来的,还是同行手滑点进来的?
没有数据观测,写独立博客就很容易陷入「闭门造车」的迷茫。
Google Analytics 4(GA4) 是目前最权威、功能丰富且完全免费的网站数据分析系统之一。RustPress 内建了对 GA4 的原生支持:不需要你去改模板、粘 JS 代码,只要在 config.toml 里填上你的 GID,编译时就会自动给全站所有页面完成无侵入埋点。
一、获取 Google Analytics ID
- 登录 Google Analytics 官方控制台;
- 点击左下角的 管理 (Admin) 图标;
- 在 媒体资源 (Property) 列中,点击 创建媒体资源,填入你的博客名称、所在时区和结算币种;
- 收集数据的平台选择 网站 (Web);
- 填入你的独立域名(如
https://yishulun.com)和数据流名称(如艺述论博客); - 创建成功后,控制台会展示该数据流的详细面板,复制右上角的 GID,格式通常为:
G-8N64Q25EK9
二、在 RustPress 中配置两行参数
打开博客的 config.toml,找到或添加以下小节:
# 1. 开启全局分析开关
[features]
analytics = true
# 2. 填入你的 Google Analytics ID
[analytics]
google_id = "G-8N64Q25EK9"
只要这两行,统计功能就配置好了。
三、底层注入机制与性能保障
当你开启 features.analytics = true 并填好 google_id 时,RustPress 在静态编译每个 HTML 页面时,会自动在 <head> 里注入标准的异步统计代码:
<!-- Google Analytics (GA4) -->
{% if features.analytics and analytics.google_id %}
<script async src="https://www.googletagmanager.com/gtag/js?id={{ analytics.google_id }}"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '{{ analytics.google_id }}');
</script>
{% endif %}
- 异步加载 (
async):脚本完全在后台并行拉取,绝对不会阻塞正文渲染和关键性能指标(Core Web Vitals); - 模板完全解耦:以后无论你换主题还是自写模板,只要继承
base.html,统计代码自动生效,不用每次手动复制粘贴。base.html 是一个主题的基础框架,所有模板都应该继承它。
四、验证埋点是否生效
1. 浏览器 Network 面板排查
在浏览器打开部署好的线上博客,按 F12 打开开发者工具:
- 切换到 Network (网络) 标签页,过滤搜索
gtag或collect; - 刷新页面,看到向
google-analytics.com发送了状态码为200或204的数据收集请求,说明数据已经正常上报。
2. 查看 GA4 实时报告
打开 Google Analytics 控制台,进入 报告 -> 实时 (Realtime) 视图。你在博客上点开任意一篇文章,GA 控制台在 5 秒内就会实时跳出当前活跃访客数、所在城市以及正在浏览的具体文章 URL。
有了这套数据看板,哪篇内容真正打动了读者,一目了然。
GA4 数据看板能清晰反映读者来源与内容传播路径,为博客优化提供客观依据;但若过度沉迷于 PV/UV 等虚荣指标,创作者极易陷入流量焦虑,让内容沦为迎合算法的附庸。作为个人创作者,我们还是要坚持价值创作的本心,将统计数据作为验证可访问性与分发效果的「后视镜」,而非决定写什么的「方向盘」。
下一篇,我们来看如何配置 Google AdSense 广告联盟,让优质内容产生持续的睡后收入。