本文约 4,971 字,预计阅读 13 分钟。文中命令与配置均经过实测,可直接参考执行。
引言:看一次数据要开三个标签页,是时候把它们合并了
运营 WordPress 站点时最割裂的体验莫过于此:想看看昨天哪篇文章带来了流量,要先登录 Google Analytics 看实时;想知道某个关键词的排名波动,要切到 Google Search Console;想知道为什么最近跳出变高,要打开 PageSpeed Insights 手动贴 URL。三个平台三套账号权限,来回切换的时间成本比看数据本身还高。
Google Site Kit 是 Google 官方出的 WordPress 插件(免费),它把 Search Console、Analytics 4、PageSpeed Insights、AdSense、Tag Manager 这几项服务的数据,以内嵌仪表盘的形态直接放进 wp-admin。更关键的是它对权限做了代管:站点管理员不需要拥有 Google 账号的所有权,只要被授权就能在自己的后台看到对应数据。
但它不是完美方案。Site Kit 会在 wp_head 里自动注入 GA 代码片段,这意味着它绕过了 Cookie 同意插件(上一批 214 篇讲过),在有 GDPR 要求的站点上需要额外处理。本文把安装配置、故障排查与边界讲透。
原理分析:Site Kit 做了三件事,以及它的代价
| 能力 | 实现方式 | 注意点 |
|---|---|---|
| 站点验证 | 自动添加 Meta 标签或将 HTML 文件写入根目录 | 同一域名可被多个 Google 账号”拥有” |
| snipp 注入 | wp_head 输出 gtag.js / GTM snippet |
不受同意插件控制,存在合规风险 |
| 数据拉取 | 服务账号 OAuth token + REST API | 数据有 12~48 小时延迟,非实时 |
三条必须理解的技术细节:
第一,Site Kit 用的是 OAuth 授权,而不是简单地把 Measurement ID 写死。 它的 token 存在 wp_options 里(关键项:googlesitekit_access_token),插件通过 Authentication 模块定时 refresh。这也是为什么更换域名、重置 WordPress 密钥<|hy_place▁holder▁no▁813|>后可能出现”凭据失效”——wp-config.php 里的 AUTH_KEY 变了,token 的加密结果就读不出来了。
第二,Search Console 的”验证”和”权限”是两回事。 验证(ownership verification)证明这个域名归你;数据源权限(能看到哪些数据)则需要 Resource-level delegation。Site Kit 的 Wizard 会一次性做完这两件事,所以中间任何一步掉线(比如被广告拦截器拦了 Google OAuth 弹窗)都会导致半途而废。
第三,GA4 属性创建必须在 Google 侧完成一次。 Site Kit 可以在授权过程中引导创建,但更稳妥的做法是先在 analytics.google.com 建好 GA4 属性和数据流,然后在 Site Kit 里”选择已有”。原因是 Site Kit 创建的默认属性命名、时区、货币设置常常与你的业务不符,且事后不易调整。
数据来源设定:GA4 事件追踪与配置
保姆级实操
步骤 1:安装前的环境检查
# 1) 确认已开启 HTTPS(OAuth 回调要求)
wp option get home
# 2) 检查 Site Kit 依赖:PHP 版本、curl、json
wp eval "echo PHP_VERSION, PHP_EOL;"
wp eval "var_dump( function_exists('curl_init'), extension_loaded('json') );"
# 3) 如果站点装了缓存插件,先清一次,避免拿到缓存的 OAuth 回调页
wp transient delete --all
另外:本地 localhost / 内网穿透地址无法完成 Search Console 验证,必须在公网可访问的域名上做。
步骤 2:激活并走完 Wizard
WordPress 后台「插件 → 安装插件」搜索 Google Site Kit(作者 Google),激活后点「Start Setup」。四步:
- Sign in with Google:选一个对目标域名拥有 Search Console 权限的 Google 账号(建议用品牌专用账号,不要用个人 Gmail)。
- Search Console property:插件会自动列出你有权限的 property,选择当前域名。这里最容易错的是选成了
sc-domain:example.com而不是https://example.com/,两者数据不互通。 - Analytics:在「Setup Analytics」处可以选择创建新的 GA4 属性,或者连接已有。建议先在GA后台创建好,再回来刷新列表选择。
- PageSpeed Insights:默认开启,无需额外授权。
步骤 3:手工验证(当 Wizard 报错时)
先断开重连,然后检查 token 是否还有效:
# 查看 Site Kit 存储的关键 option(只读,非敏感:不输出完整 token)
wp option get googlesitekit_access_token --format=json | head -c 200
# 检查 Search Console 验证是否写入成功
wp option get googlesitekit_site_verification --format=json
如果 token 存在但报错 “invalid_grant”,多半是换域或重置 salt 导致,删除凭据重新授权:
wp option delete googlesitekit_access_token
wp option delete googlesitekit_refresh_token
wp cache flush
步骤 4:接入什么都不显示的场合——手动补 Search Console
Site Kit 失败时,手动验证反而更快。方法如下:
<!-- 方案 A:在主题 header.php 的 </head> 之前加入 verification meta -->
<meta name="google-site-verification" content="从 GSC 后台拿到的 verification 值" />
或者在 wp-admin 里通过 Site Kit 的 Settings → Search Console 查看它写入的值。
步骤 5:欧盟合规场景的处理(重点)
Site Kit 注入的 GA 代码片段不受 Cookie 同意插件管控,合规站点必须处理。两条路:
// 方案一:对欧盟访客停用 Site Kit 的 snippet 注入,改由 GTM + 同意钩子控制
add_filter( 'googlesitekit_apifetch_preload_paths', '__return_empty_array' );
// 仍需搭配 Agent decision:彻底做法是不用 Site Kit 注入统计代码
更彻底的做法:在 Site Kit 后台关闭 Analytics snippet 的自动插入(Site Kit → Settings → Analytics → “Let Site Kit place code on your site” 取消勾选),然后改用 GTM4WP + 同意钩子注入 GA4。这样数据照样进 Site Kit 的仪表盘(因为它是读 API,而不是读本地 snippet),合规也过关。
步骤 6:把数据放到合适的人面前
Site Kit → Settings → 可以细化各角色的可见范围:
管理员 : 全部(Search Console + Analytics + PageSpeed + AdSense)
编辑 : 仅 Analytics 概览
作者 : 仅本站点 PSI 得分
订阅者 : 无
注意这里的权限与 WordPress 角色绑定,不要给权限较低的角色开放对全部数据的访问。
常见踩坑
- 同一域名被前任服务商的账号占了 GSC 所有权:Site Kit 会提示 “you don’t have sufficient permissions”。解决方式:在原账号里把新账号加为「完全用户」;拿不回来时只能用 URL-prefix property 曲线救国。
- policy MIME 类型错误导致 HTML 验证文件下载失败:部分 Nginx 配置把
.html强制作为application/octet-stream,验证文件google4xxxx.html加载即下载,验证失败。修正 Nginx:
nginx
location ~* \.html$ {
default_type text/html;
add_header Content-Type "text/html; charset=UTF-8";
}
- 案例:某企业站为了省事,把 Site Kit 用 CEO 的个人 Gmail 授权。一年后该员工离职,账号被公司 IT 回收,站点上所有 Site Kit 数据一夜之间全部消失,且 Analytics 只剩 oxide 管理员。更严重的是 GSC 的所有权在该账号下,站点后续无法添加新 property。最后花了三周才通过 Google 的 ownership dispute 流程转移回来。教训:所有 Google 服务绑定公司/品牌的专用账号,并至少加一个管理员备份,绝不用个人账号做授权主体。
- 数据延迟让人误判:Site Kit 仪表盘里的 Search Console 数据最长有 2–3 天延迟,GA4 通常在 24–48 小时内补齐。不要用它做实时决策。
- PageSpeed Insights 分数波动极大:Site Kit 拿的是 API 返回的实验室数据(Lighthouse),受机器位置和网络抖动影响,同一 URL 两次跑分能差 15 分以上。以趋势为主,不要盯单次。
- AdSense 站点 Micro 报错 “Your site is not ready”:AdSense 要求站点有足够内容并通过政策审核,新站接不上属于正常。
- 与其他统计插件同时注入:Site Kit 装了之后又装 MonsterInsights,两份 GA snippet 会导致数据重复统计。必须只留一处注入。
- WordPress 多站点(Multisite)场景:Site Kit 对子站的支持有限,子站需要各自授权,并且用 Network Activate 的方式会导致验证串站。
总结
Site Kit 的价值不在”它能注入代码”(这块有合规隐患),而在把 Search Console / GA4 / PageSpeed 三套后台的数据合进 wp-admin,对运营和编辑非常友好。落地建议:①授权账号用品牌专用 mail 且加备份管理员;②属性的 Selector 类型要选对(https:// vs sc-domain:);③欧盟/英国站点务必关闭它的自动 snippet 注入,改走 GTM + 同意钩子;④别用它做实时判断,接受 24 小时以上的数据延迟。做到这四点,它就是一个非常好用的”运营驾驶舱”。
配套内容:Google Tag Manager 容器接入 WordPress
