如何注册并获取百度统计 ID

百度统计(Baidu Tongji)的统计 ID 就是其「网站地址统计代码」里 hm.baidu.com/hm.js? 后面那串 32 位十六进制字符串。本文记录从注册到接入网站(含 Next.js)的完整步骤。

一、注册百度账号

  1. 访问百度统计官网:https://tongji.baidu.com
  2. 点击右上角「注册」,或直接用百度账号登录(支持手机号 / 邮箱注册)。
  3. 首次使用需同意服务协议。

公司网站建议使用独立的百度账号,不要与个人账号混用。

二、添加网站(新增站点)

登录后进入控制台:

  1. 点击左侧「网站列表」→「新增网站」。
  2. 填写信息:
    • 网站域名:填正式域名(如 knowflow.smartwingtech.com),不带 http:// 和路径。
    • 网站名称:任意可读名称。
    • 网站首页:完整 URL,如 https://knowflow.smartwingtech.com。
    • 行业类别 / 网站简介:按实际情况选择。
  3. 提交后,系统弹出「代码安装」页面。

三、获取统计 ID

在「代码安装」页面(或「网站列表 → 对应站点 → 代码获取」)会看到一段 JS:

<script>
var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?1234567890abcdef1234567890abcdef";
  var s = document.getElementsByTagName("script")[0];
  s.parentNode.insertBefore(hm, s);
})();
</script>

其中 hm.js? 后面的那串 32 位十六进制字符串,就是你的百度统计 ID。

四、在网站中接入

方式一:直接加 <script> 标签

把整段脚本放到 <head> 内(建议放在 </head> 之前)。

方式二:Next.js / React 项目

在 app/layout.tsx 中用 next/script 的 afterInteractive 加载:

import Script from "next/script";

export default function RootLayout({ children }: { children: React.ReactNode }) {
  return (
    <html lang="zh-CN">
      <body>
        {children}
        <Script
          id="baidu-tongji"
          strategy="afterInteractive"
          dangerouslySetInnerHTML={{
            __html: `
              var _hmt = _hmt || [];
              (function() {
                var hm = document.createElement("script");
                hm.src = "https://hm.baidu.com/hm.js?你的统计ID";
                var s = document.getElementsByTagName("script")[0];
                s.parentNode.insertBefore(hm, s);
              })();
            `,
          }}
        />
      </body>
    </html>
  );
}

五、验证是否生效

  1. 在百度统计后台「代码安装检查」输入域名,检查代码是否安装成功。
  2. 打开网站,用浏览器开发者工具 Network 面板搜索 hm.js,看是否有请求发出。
  3. 安装后通常 20 分钟到 1 小时内,「今日统计」开始出现数据。

常见问题

  • 查不到旧站 ID:登录后在「网站列表」找到对应站点,点「代码获取」重新查看。
  • HTTPS 站点:直接使用 https://hm.baidu.com/hm.js?...,百度统计已全面支持 HTTPS。
  • 多子域名 / 跨域:在站点设置的「跨域统计」中做配置。

结论

  • 统计 ID = hm.js? 后 32 位十六进制串,注册 + 添加站点即可获取。
  • Next.js 项目用 next/script 的 afterInteractive 加载,避免阻塞首屏。
  • 建议把统计 ID 放进环境变量(如 BAIDU_TONGJI_ID),不要硬编码进源码。