URL Inspection 显示 “URL is unknown to Google” 看起来吓人,但它的意思比想象的简单:这个 URL 存在于你站,但 Google 完全没遇到过它。不是拒绝、不是 noindex、不是 robots.txt 屏蔽——它根本没进过 Google 的发现管道。Google 官方文档对这个状态的定义很直白:“Google hasn’t seen this URL before.”
最快的修法: 在 Search Console 顶部检查框输入这个 URL,先点 Test live URL 确认页面返回 200、可被索引,再点 Request indexing。同时确认这个 URL 在 sitemap.xml 里、并且被站内至少 2-3 个其他页面链接到。然后就是等——发现是简单的一步,真正收录仍要几天。
这是新文章上线后最常见的状态,大多数情况下不需要慌:几天到两周内会变成 “Crawled” 或 “URL is on Google”。但有几种永远不会自然变好的原因,值得先排查一遍。
你属于哪一种?
| 你看到 / 已知的情况 | 最可能的原因 | 跳到 |
|---|---|---|
| 页面才几天,已在 sitemap,有内链 | 正常发现延迟 | Step 1,然后等 |
rg 搜不到任何指向该 URL 的内链 | 孤儿页面 | 原因 1 |
sitemap.xml 里没有这个 URL | 没进发现管道 | 原因 2 |
| Search Console 的 Sitemaps 面板空白 / “Couldn’t fetch” | sitemap 从没注册过 | 原因 3 |
| 域名本周才上线 | 全站爬取还没完成 | 原因 4 |
| 检查结果其实是 “Excluded by robots.txt” | 是被屏蔽,不是 unknown | 原因 5 |
| slug 含非 ASCII 字符 | sitemap 里编码不一致 | 原因 6 |
注意:URL Inspection 工具只会返回一组固定状态。“URL is on Google”、“URL is on Google, but has issues”、“URL is not on Google”、“URL is unknown to Google” 是针对线上索引的判定;而 Test live URL 的实时检查返回的是 “URL is available to Google” 或 “URL is not available to Google”。如果你看到的不是 “unknown”,那其实是另一个问题。
常见原因
1. 没有任何内链指向它
Google 发现 URL 的三个主要管道:sitemap、站内内链、外部链接。0 内链 + 不在 sitemap,就等于永远 unknown。Google 自己的发现文档说得很明确:光有 sitemap 不够——链接才是爬虫发现并排序页面的方式。
如何判断:
# 全站搜内链
rg 'href="/my-new-url/?"' src/
# 0 行 = 孤儿页面,没有任何东西链接到它
2. 不在 sitemap.xml 里
发布脚本忘了把新 URL 加进 sitemap,或者 sitemap 是手动维护的、有人忘了编辑。
如何判断:
curl -s https://yourdomain.com/sitemap.xml | grep -c "/my-new-url"
# 期望 >= 1
如果你的 sitemap 是分片的 sitemap index(sitemap-index.xml 指向多个子 sitemap),要 grep 这个 URL 实际所在的子文件,而不只是索引文件。
3. sitemap 本身没提交过
Search Console 的 Sitemaps 面板空白,或显示 “Couldn’t fetch”。Google 根本不知道你有 sitemap。
如何判断: Search Console 左侧栏 → Indexing(索引) → Sitemaps,看是否有提交记录、状态是不是 “Success”、“Discovered URLs(已发现 URL 数)“是否大致对得上你站文章数。
4. 新站,Google 还没爬过整站
域名才上线几天,Google 的全站爬取还没完成。即使 URL 已经在 sitemap 里,也可能要一两周才会脱离 “unknown”。这是正常现象,不是故障。
5. URL 被 robots.txt 屏蔽
如果 robots.txt 里有 Disallow: /article/,Google 看到 sitemap 里有这个 URL 也不会抓——并且 URL Inspection 会显示 “Excluded by robots.txt”,而不是 “unknown”。
如果你看到的确实是 “unknown”,robots.txt 就不是原因。用实时检查(live test)验证,它会直接报出 robots 判定。
6. URL 含特殊字符或编码错误
/文章/某某 这种 Unicode 路径,如果 sitemap 里没正确 percent-encode,Google 可能爬不到。
如何判断: sitemap 里的 URL 应该是 /%E6%96%87%E7%AB%A0/... 形式,不是直接的中文。<loc> 里的值还要做 XML 转义(& 写成 &)。
最短修复路径
Step 1:先 Test live,再 Request indexing
打开 Search Console → 在顶部检查框输入完整 URL → 等结果。先点 Test live URL:这会确认页面此刻返回 HTTP 200、没有 noindex、也没被 robots 屏蔽。如果实时检查显示 “URL is available to Google”,再点 Request indexing。
这是最快的”嘿 Google,这里有个 URL”信号,它会把页面放进优先爬取队列。两个现实预期:
- 它不会在 10 分钟内收录。状态通常会先停在 “unknown” 或 “Crawled - currently not indexed” 一阵子,之后才变成 “URL is on Google”。
- 每日配额大约每个资源 10-12 个 URL(截至 2026 年 6 月,Google 没公开确切数字)。配额用完后按钮会变灰,等约 24 小时。留给你的重要页面。
Step 2:把 URL 加进 sitemap.xml
如果你用 Astro / Next / Hugo 的自动 sitemap,新页面会在下次 build 并部署后自动入。手动维护的话:
<url>
<loc>https://yourdomain.com/articles/my-new-url/</loc>
<lastmod>2026-05-21</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
部署后到 Search Console → Indexing → Sitemaps 重新提交(或等下一次自动重新抓取)。
Step 3:从首页 / 索引页 / 相关文章三处加内链
# 编辑后验证
rg 'href="/articles/my-new-url/?"' src/
# 期望 >= 3 处
至少把新 URL 链接到:
- 首页”最新文章”区
/articles/索引页- 另外 2-3 篇相关文章末尾的”相关阅读”
这些给了 Googlebot 一条真正能走到页面的路径,也表明这个页面重要——光一条 sitemap 记录做不到这点。
Step 4:sitemap 没提交过就提交
Search Console → Indexing → Sitemaps → 输入 sitemap.xml(或 sitemap-index.xml)→ Submit。
提交后状态应该在一两分钟内变 “Success”,“Discovered URLs” 会显示出来。若显示 “Couldn’t fetch”,先跑 curl -I https://yourdomain.com/sitemap.xml——它必须返回 200、正确的 content type,且不在重定向链或登录墙后面。
Step 5:等 3-14 天
老站的话,Request indexing 过的 URL 常常一天左右就被爬到。新站 + 没外链,10-14 天是常态,有时拖到几周。期间:
- 每周回看一次 URL Inspection,状态会从 “unknown” → “Crawled - currently not indexed” → “URL is on Google”。
- 不要每天对同一个 URL Request indexing,既不加速也白白消耗配额。
如何确认已经修好
按这个顺序,全过就算搞定:
curl -I https://yourdomain.com/articles/my-new-url/返回200。curl -s https://yourdomain.com/sitemap.xml | grep -c "/my-new-url"返回>= 1。rg 'href="/articles/my-new-url/?"' src/返回>= 2-3条内链。- Search Console URL Inspection 不再显示 “unknown”——而是 “Crawled - currently not indexed”(已发现、待收录)或 “URL is on Google”(已收录)。
- 用
site:yourdomain.com/articles/my-new-url/搜索最终能搜到这个页面。这是最后才会变好的一步,可能比检查工具的状态晚几天。
容易误判的情况
- “unknown” 不等于”拒绝”。 Google 还没见过它,所以根本谈不上拒绝。别去拆你从没加过的 noindex。
- 以为提交后立刻收录。 从 unknown 到 indexed 通常 3-14 天,老站 1-3 天,新站可能 2-4 周。
- 以为 sitemap 重新提交能加速。 第一次提交是为了注册 sitemap;之后 Google 按自己的节奏重新抓取,重复手动提交基本是 no-op。
- 每天 Request indexing 浪费配额。 每个 URL 一次就够,剩下的留给其他页。
- 把 “unknown” 和 “Discovered - currently not indexed” 混为一谈。 后者表示 Google 已经发现了这个 URL、只是暂时没去爬——那是另一个问题,修法也不同。
预防建议
- 新文章发布脚本应原子地做三件事:写文件、把 URL 加进 sitemap、从首页和索引页加内链。
- 加一个 build 阶段的检查:每篇文章至少被 2-3 个其他文件引用(在部署前抓出孤儿页)。
- sitemap 永远自动生成,绝不手动维护。
- 重要 URL 上线后 24h 内手动 Request indexing 一次。
常见问题
“unknown” 自己消失要多久? 老站上、URL 已在 sitemap 且有几条内链,通常几天。全新域名、没外链的话,2-4 周很正常。Request indexing 能推一把,但不会让它瞬间收录。
我点了 Request indexing,一小时后还是 unknown,是坏了吗? 没坏。这个请求只是排进一次爬取队列,不会当场收录。过一两天再看。如果一周后还是 “unknown”,回头确认页面在 sitemap 里、返回 200、并且有内链。
Request indexing 每天的上限是多少? 截至 2026 年 6 月,大约每个资源每天 10-12 个 URL(Google 没公开确切数字)。用完后按钮变灰,约 24 小时后恢复。要批量收录的话,靠 sitemap 和内链,而不是这个按钮。
重新提交 sitemap 有用吗? 只有第一次提交有意义——它注册了 sitemap。之后 Google 会自己重新抓取。把同一个没改过的 sitemap 重复提交不起作用。
URL 已经在 sitemap 里却还是 unknown,为什么? sitemap 只是提示、不是命令,而且它比链接弱。从可被爬取的页面加真正的内链,确认 URL 返回 200、没被 robots 屏蔽,然后 Request indexing 一次。新站的话,也就再给点时间。
该用 Indexing API 吗?
Google 的 Indexing API 官方只支持 JobPosting 和 BroadcastEvent(直播)类页面。把它用在普通文章上违反其条款,也不会稳定见效。还是老老实实用 sitemap、内链和 URL Inspection 的请求。
相关阅读
外部参考:Google 的 URL Inspection 工具文档 和 Sitemaps 报告帮助 是当前状态字符串和菜单位置的权威来源。