Next.js 接入百度统计

百度统计的使用很方便,统计数据维度多,也支持单页应用。在此记录博客 (Next.js) 接入百度统计的方式。

配置百度统计

https://tongji.baidu.com/

添加网站,填写域名。只要埋点的域名和设置的域名匹配,即可成功埋点。

配置单页应用自动埋点

对于 Next.js 的 SSG 模式,首次启动后,后续的页面和数据加载会类似于单页应用的模式。

所以需要到百度统计的设置里开启“单页应用数据统计”,这样会基于 History API 或者 hashchange 自动记录页面 PV 日志。

路径:使用设置 - 规则设置 - 单页设置。

另外,如果需要自行控制埋点时机,也可以通过 JS API 处理。可参考文档: https://tongji.baidu.com/web/help/article?id=324

接入代码

通过 https://nextjs.org/docs/pages/api-reference/components/script 接入统计代码。

strategy 选择 afterInteractive ,在页面 hydration 后尽早加载。

通过 dangerouslySetInnerHTML 的 __html 填写百度统计提供的代码。

<Script
  id="baidu-tongji"
  strategy="afterInteractive"
  dangerouslySetInnerHTML={{
    __html: ``,
  }}
/>

因为这个代码会转义,百度统计无法识别已安装代码。等待一段时间后判断是否有埋点数据即可。

本文收录于专栏
使用 Next.js 搭建 SSR 全栈 demo ,以及构建 SSG 纯静态博客,记录学习和使用笔记