- 文档
- 教程
- 知识库
【免费下载链接】til
:memo: Today I Learned
本文介绍如何通过在你的域名 DNS 中新增一条TXT记录来向 Google Search Console 证明站点所有权,从而解锁详细的搜索分析报告。读完本文你将掌握 DNS 方式验证的整体流程、Cloudflare 下的自动化授权方式,以及使用dig命令从命令行核验 TXT 记录是否已正确生效的完整技能。
为什么要用 DNS 验证而非传统方式
要把网站接入 Google Search Console 并获取详尽的搜索报告,第一步是验证你确实是该站点的所有者。Google 提供了多种手动验证途径,常见的有:
- 在网站根目录放置一个内容为验证令牌的 HTML 文件;
- 在首页
<head>中插入一段包含验证令牌的<meta name="google-site-verification">标签; - 通过 Google Analytics 或 Tag Manager 关联验证。
这些方式有一个共同特点:令牌与具体的 URL 或页面绑定。每验证一个路径或子域,往往都要重复操作,维护成本较高。
而 verify-site-ownership-with-dns-record.md 记录的思路完全不同:把验证令牌放进域名 DNS 的TXT记录中,一次验证即可证明对整个域名的所有权。
TXT 记录验证的原理与覆盖范围
TXT记录是 DNS 中用来存储任意文本信息的记录类型,常用于 SPF 邮件发送授权、域名验证等场景。Google 的域名级验证方案正是利用了这一点:
- 在域名 DNS 中新增一条
TXT记录,值形如google-site-verification=<令牌>; - 该令牌是 Google 针对你的域名生成的唯一标识;
- 由于只有域名的 DNS 管理者才能添加这条记录,Google 便能据此确认你对域名的实际控制权。
这种方式的一个关键优势是验证覆盖整个域名:所有路径和所有子域都自动继承该验证结果,无需为每个子域分别操作。之后你可以在 Search Console 中为该域名下的任意 URL 前缀创建资源,而无需重新验证。
Cloudflare 下的自动化验证
不少 DNS 托管商对这类验证做了深度支持。文档中提到,像 Cloudflare 这样的服务商提供了近乎全自动的流程:
- 在 Google Search Console 的"域名"验证入口选择"通过 DNS 提供商验证";
- 授权 Google 通过 OAuth 访问你的 Cloudflare 账户;
- 授权后,Google 可以直接调用 Cloudflare 的 API 自动创建所需的 TXT 记录,无需你在 Cloudflare 控制台手动操作。
需要说明的是,这一自动化能力依赖你授予的 OAuth 权限;如果你不想授权,也可以随时在 Cloudflare 的 DNS 管理页面手动添加同样的 TXT 记录。相关背景可参考仓库中关于 Cloudflare DNS 管理的记录 cloudflare-allows-cname-for-apex-domain.md,了解该平台在域名记录上的特殊能力。
手动创建 TXT 记录
无论使用哪家 DNS 托管商,手动创建的过程都大同小异:
- 登录域名注册商或 DNS 托管商的控制台;
- 进入该域名的 DNS 管理(DNS Records / Zone 管理)页面;
- 点击"添加记录",类型选择
TXT; - 名称(Name/Host)填
@或留空,表示记录归属根域名; - 值(Value/Content)填入 Search Console 提供的验证令牌,完整格式为
google-site-verification=MBZ2S2fhnh2gHRxFniRrYW-O6mdyimJDRFj-fvblwtk; - 保存并等待 DNS 生效(通常需要几分钟到数小时,取决于记录的 TTL)。
用 dig 验证 TXT 记录是否生效
添加记录后,最可靠的验证方式是在命令行用dig查询域名的 TXT 记录。文档给出了如下示例:
$ dig -t TXT visualmode.dev ;; ANSWER SECTION: visualmode.dev. 377 IN TXT "google-site-verification=MBZ2S2fhnh2gHRxFniRrYW-O6mdyimJDRFj-f vblwtk"其中-t TXT参数指定只查询TXT类型的记录。输出中可以看到 TTL(377 秒)、记录类型以及记录值——只要出现google-site-verification=...且令牌与 Search Console 给出的一致,就说明验证记录已经生效。
这条查询命令的完整输出细节,可参考仓库中的姊妹篇 list-txt-dns-records-for-a-domain.md。该文档展示了同一域名的完整dig输出,可以看出visualmode.dev名下同时存在 SPF 与站点验证两类 TXT 记录:
$ dig -t TXT visualmode.dev ;; ANSWER SECTION: visualmode.dev. 377 IN TXT "v=spf1 include:_spf.mx.cloudflare.net ~all" visualmode.dev. 377 IN TXT "google-site-verification=MBZ2S2fhnh2gHRxFniRrYW-O6mdyimJDRFj-f vblwtk"使用 +short 精简输出
dig的默认输出比较冗长,包含 HEADER、QUESTION、ANSWER 等区块。如果你想快速只看到 TXT 记录的值,可以加上+short选项:
$ dig -t TXT visualmode.dev +short "v=spf1 include:_spf.mx.cloudflare.net ~all" "google-site-verification=MBZ2S2fhnh2gHRxFniRrYW-O6mdyimJDRFj-fvblwtk"此时输出被精简为每条 TXT 记录的值本身,方便脚本化处理或人工快速比对令牌。这也是排查"验证记录是否已传播"时最常用的命令形态。
验证后能做什么
验证成功后,你就可以在 Google Search Console 中查看该域名下的搜索表现数据了,包括:
- 展示次数、点击量与平均排名;
- 搜索查询关键词;
- 页面级表现报告与索引覆盖状况。
这些报告正是文档开头提到的"详细报告"的用途所在。DNS 验证完成后,同一个域名下的不同子域(如www、api)和任意路径都可以直接纳入统计,不再需要重复验证。
小结
- 在域名 DNS 中添加
google-site-verification=<令牌>的 TXT 记录,即可一次性完成整个域名(含所有子域和路径)在 Google Search Console 的所有权验证; - Cloudflare 等托管商可通过 OAuth 让 Google 自动创建记录,也可以手动添加;
- 用
dig -t TXT <域名>可查询全部 TXT 记录,加上+short可只输出记录值,方便确认验证令牌已生效。
相关阅读:完整的digTXT 查询输出示例见 list-txt-dns-records-for-a-domain.md,Cloudflare 域名记录管理背景见 cloudflare-allows-cname-for-apex-domain.md。
- 文档
- 教程
- 知识库
【免费下载链接】til
:memo: Today I Learned
相关推荐
ExternalDNS 导入既有 DNS 记录实战指南:通过 TXT 所有权标记接管手工创建的记录
ExternalDNS 导入既有 DNS 记录实战指南:通过 TXT 所有权标记接管手工创建的记录 导读:在生产环境中,不少 DNS 记录(如 Route53、
云原生US.KG 实战指南:域名所有权验证记录(TXT/CNAME)与 SRV 服务记录的配置与清理
US.KG 实战指南:域名所有权验证记录(TXT/CNAME)与 SRV 服务记录的配置与清理 本篇基于 US.KG 教程文档 Verification and
文档教程ExternalDNS DynamoDB Registry 实战:用 AWS DynamoDB 存储 DNS 记录所有权元数据
ExternalDNS DynamoDB Registry 实战:用 AWS DynamoDB 存储 DNS 记录所有权元数据 导读 ExternalDNS 默
云原生
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考