最快的修法:Search Console 里”未编入索引”是 页面 报告(Indexing → Pages)下的一个总词。它下面的”为什么未编入索引”表会列出十几种具体状态,每种修法完全不同。打开那张表,看哪种状态占的 URL 最多,直接跳到下面对应的小节。最值得管的通常是两种:Crawled - currently not indexed(内容质量问题)和 Discovered - currently not indexed(抓取预算 / 内链问题)。其余很多是信息提示,不用动。
本文是 9 种高频状态的对照表,每种给你”怎么判断 + 修法 + 通常多久见效”。
提醒(截至 2026 年 6 月):Google 改了两个标签的措辞。旧的 “Excluded by ‘noindex’ tag” 现在显示为 URL marked ‘noindex’,“Blocked by robots.txt” 现在显示为 URL blocked by robots.txt。修法完全一样,只是文字变了。
你属于哪一类?
| 状态(当前标签) | 根因 | 要不要动 | 清零耗时 |
|---|---|---|---|
| Crawled - currently not indexed | 质量 / 薄 / 重复 | 要(ROI 最高) | 8-12 周 |
| Discovered - currently not indexed | 抓取预算 / 内链弱 | 要 | 4-8 周 |
| Duplicate without user-selected canonical | 没声明 canonical | 要 | 2-4 周 |
| Duplicate, Google chose different canonical than user | canonical 信号弱 | 看情况 | 4-8 周 |
| Alternate page with proper canonical tag | hreflang / 参数变体 | 不用(信息提示) | 不适用 |
| URL marked ‘noindex’ | 有 noindex 指令 | 仅误设时 | 1-2 周 |
| URL blocked by robots.txt | Disallow 屏蔽了抓取 | 仅误设时 | 1-2 周 |
| Page with redirect | URL 301/302 跳走了 | 一般不用 | 不适用 |
| Soft 404 | 薄页 / 空页返回了 200 | 要 | 2-4 周 |
常见原因(9 种状态)
1. Discovered - currently not indexed(已发现但未编入索引)
意思:Google 知道这个 URL 存在(从 sitemap 或某个链接发现的),但还没派爬虫去抓。几乎都是抓取预算或内链信号问题,不是惩罚。
修法:
- 从 已被收录、有流量 的页面给目标 URL 加 3-5 处内链,用描述性锚文本。
- 腾抓取预算:把垃圾 URL(参数、
?tag=、站内搜索结果页)在robots.txt里屏蔽,或做 canonical 收敛。 - 提升整站权威(外链 + 真实流量)。
- 确认该 URL 已进提交的 sitemap,且返回
200 OK。
见效:4-8 周
详细:见 Discovered - currently not indexed
2. Crawled - currently not indexed(已抓取但未编入索引)
意思:Google 抓过这页,但判定”不值得收录”。这是质量裁决。注意:这一桶里很大一部分 URL 之前是被收录过的,后来又被撤了下来,所以要当成”重新挣回来”,而不是”再等等就好”。
修法:
- 给内容加料,加排在前十的对手页面没有的东西:原创数据、截图、可复现的实操示例、对比。
- 重写第一段,开头就密集回答用户的问题,砍掉铺垫。
- 把高度相似的兄弟页删掉或
301合并,用一个强 URL 取代几个弱 URL。 - 确认页面渲染快且完整——LCP 慢或渲染超时会导致抓取不全和低质量裁决。用 PageSpeed Insights 和 Core Web Vitals 报告检查。
- 拉几条相关外链。
见效:8-12 周
详细:见 Crawled - currently not indexed
3. Duplicate without user-selected canonical(重复,无用户指定的规范网址)
意思:Google 发现这页与其他页近乎相同,但你没声明 canonical,于是 Google 自己替你选了一个。
修法:
- 在每个页面的
<head>里明确写<link rel="canonical" href="..." />。 - 默认 self-canonical(每页指向自己),除非它确实是重复页。
- 如果两个 URL 真是同一页,就把一个
301到另一个。
见效:2-4 周
4. Duplicate, Google chose different canonical than user(重复,Google 选择的规范网址与用户不同)
意思:你设了 canonical,但 Google 不认,收录了另一个 URL。
修法:
- 让你想要的 URL 信号最强:给它更多内链、更多外链、内容更长更扎实,并确保 sitemap 里列的是 那个 URL。
- 把所有信号对齐到一个主版本:sitemap 条目、内链指向、
canonical标签必须全指同一个 URL。 - 或者投降:如果 Google 选的那个也行,就把你的版本
301过去。
见效:4-8 周
详细:见 Duplicate, Google chose different canonical
5. Alternate page with proper canonical tag(信息提示)
意思:这是分页、参数变体或 hreflang 备用页,Google 按你的 canonical 指示 没收录这个重复页。这是预期内的健康状态。
修法:通常 不用动。确认 canonical 指向是你想要的:
curl -sL https://yourdomain.com/that-url | grep -oE '<link rel="canonical" href="[^"]+"'
如果它指向你确实想被收录的主版本,标”OK”忽略即可。
详细:见 Alternate page with proper canonical tag
6. URL marked ‘noindex’(旧称 “Excluded by ‘noindex’ tag”)
意思:页面 <head> 里有 <meta name="robots" content="noindex">(或响应头里有 X-Robots-Tag: noindex)。Google 在尊重你的指示。
判断是不是故意的:
# 查 HTML meta 标签
curl -sL https://yourdomain.com/page | grep -i noindex
# 也查响应头(经常被漏掉)
curl -sI https://yourdomain.com/page | grep -i x-robots-tag
# 任意一处命中,说明确实有 noindex 指令
修法:
- 故意的(admin / preview / draft / 致谢页等):保留
noindex,但确认这些 URL 不在 sitemap 里——否则这个状态会永远报警。 - 误设的:删掉 meta 标签或响应头,重新部署,然后对一个样本 URL 用 URL Inspection → Request indexing,其余的用 Validate Fix 批量验证。
见效:删掉 noindex 后 1-2 周
7. URL blocked by robots.txt(旧称 “Blocked by robots.txt”)
意思:robots.txt 里的 Disallow 规则挡住了爬虫,Google 进不去,谈不上收录。(被屏蔽的页面如果有外链,仍可能以”仅 URL”形式出现在结果里——robots.txt 管的是抓取,不是收录。要把东西挡在索引外,用 noindex。)
诊断:
curl -s https://yourdomain.com/robots.txt
# 找出与被屏蔽路径匹配的 Disallow 规则
修法:
- 该屏蔽:保留,但把这些 URL 从 sitemap 里删掉。
- 误屏蔽:删掉对应
Disallow,重新部署,然后在 Search Console 里打开 Settings → robots.txt(这个报告已取代旧的独立测试器),确认该 URL 现在已放行,再 Request indexing。
见效:取消屏蔽后 1-2 周
8. Page with redirect(带重定向的页面)
意思:这个 URL 301/302 跳到了另一个 URL,所以做跳转的这个 URL 本身不被收录(被收录的是目标 URL)。通常是预期内的。
修法:一般 不用动。只有在跳转错了(比如本该上线的页面在跳走),或某个被跳转的 URL 还留在 sitemap 里时才处理——把它从 sitemap 删掉,就不会再被报出来。
9. Soft 404(软 404)
意思:页面返回了 200 OK,但在 Google 看来是空的、坏的或”找不到”的(比如缺货商品页、空的搜索结果页,或一个脚本没渲染成功的 JS 页面)。
修法:
- 页面确实没了:返回真正的
404或410状态码,而不是200。 - 页面应该存在:补上真实、有分量的内容让它不再像空页,并确认它不依赖 Google 跑不动的脚本就能渲染出来。
见效:2-4 周
最短修复路径
Step 1:按状态分组,先看影响最大的
打开 Search Console → Indexing → Pages → “为什么未编入索引”,把每行状态对应的 URL 数记下来:
Crawled - currently not indexed: 320 <- 质量问题,ROI 最高
Discovered - currently not indexed: 180 <- 抓取预算 / 权威问题
Alternate page with proper canonical: 95 <- 信息提示,跳过
Duplicate, Google chose different canonical: 12 <- canonical 信号弱
URL marked 'noindex': 4 <- 检查是不是故意的
URL blocked by robots.txt: 2 <- 同上
按 (URL 数) 乘 (你有多在乎这批 URL) 排优先级,先打最值钱的那一桶,信息提示类直接忽略。
Step 2:每次只解决一种状态,分批验证
不要在同一周里同时改 canonical、内容和 robots.txt——出了结果你归因不了。建议顺序:
- 第 1 周:清掉 误设 的
noindex和robots.txt屏蔽(快、确定性高)。 - 第 2-3 周:处理 Duplicate 类(统一 canonical +
301)。 - 第 4-8 周:内容加厚(解决 Crawled - not indexed)。
- 第 4 周之后:拉外链 + 修内链(解决 Discovered - not indexed)。
每改一批,等 2-4 周再下判断。
Step 3:用 “Validate Fix”,别手动提交 50 次
把某个状态的所有实例都修好之后,进入该状态的详情页,点 Validate Fix。Google 会立刻复查一个样本;样本过了,它会重抓其余 URL,问题计数归零。验证通常需要 最多约两周(有时更久)。
这是可规模化的机制。URL Inspection → Request indexing 是手动那条,有速率限制,大约 每个资源每天 10-12 个 URL(点满后按钮会灰掉 24 小时)。手动请求留给少数高价值页面,其余全用 Validate Fix。
提速技巧:提交一个只含优先 URL 的 sitemap,然后在 Pages 报告里按这个 sitemap 过滤,再点 Validate Fix——针对较小集合验证完成得更快。
这里 不要 动 Indexing API。它只对 JobPosting 和 BroadcastEvent 类页面开放,用在普通内容上既没用也不受支持。
Step 4:用一张表盯趋势
| 周次 | Discovered | Crawled | Duplicate | noindex | Total not indexed |
|------|------------|---------|-----------|---------|-------------------|
| W1 | 180 | 320 | 12 | 4 | 516 |
| W3 | 175 | 318 | 8 | 0 | 501 |
| W5 | 165 | 290 | 5 | 0 | 460 |
| W8 | 140 | 240 | 2 | 0 | 382 |
总数下降 = 修对了;不降 = 重新诊断。(注意:截至 2026 年 6 月,Pages 报告里 2025 年 12 月 15 日之前仍有一段历史数据缺口——这是 2025 年底一次报告延迟事件的遗留,不是抓取或排名问题。只比对最近几周即可。)
怎么确认修好了
对任一具体 URL,把它粘进 Search Console 顶部的 URL Inspection,看裁决:“URL is on Google” 就是已收录。如果还显示未收录,点 Test Live URL 确认页面当前可抓取、没有 noindex/robots 屏蔽、canonical 也是你预期的那个——实时测试反映的是页面 此刻 的状态,而索引状态会延迟 2-3 天且只抽样,所以别让一份过时报告盖过实时测试。
预防建议
- 别发薄页 / 重复内容(避免 Crawled - not indexed)。
- 上线前用爬虫跑一遍每个模板,每页都查三处:
canonical、noindex、robots.txt。 - 给
robots.txt里每条Disallow写注释说明 原因,免得后续部署不小心改坏。 - 故意
noindex的页面不要进 sitemap,否则”URL marked ‘noindex‘“会一直报警。 - 每月扫一次”未编入索引”状态——问题越早发现,修起来越便宜。
常见问题(FAQ)
“Crawled - currently not indexed” 是惩罚吗? 不是。它是质量判断,不是人工处罚。Google 抓过这页,觉得它相比已收录的内容没多出多少价值。修法是把页面做得真正更有用,而不是去提交重新审核。
点了 “Validate Fix” 之后多久能收录? 通常最多约两周,大站可能更久。状态从 “Started” 走向 “Passed” 时你会收到邮件更新。别反复点——重复点会把计时重置。
“Alternate page with proper canonical tag” 数量很大,是坏事吗? 不是,是健康的。那些是正确指向 Google 正在 收录的 canonical 的重复变体(hreflang 备用、分页或参数 URL)。这里数大很正常,不用动。
noindex 和 robots.txt 有什么区别?
robots.txt 挡的是 抓取,noindex 挡的是 收录。要把一个页面挡在 Google 之外,用 noindex 并让 Google 能抓到它——如果你在 robots.txt 里屏蔽它,Google 就看不到 noindex,这个 URL 反而可能还出现在结果里。见 noindex 和 robots.txt 的区别。
我 2025 年 12 月 15 日之前的索引数据没了,是被取消收录了吗? 不是。截至 2026 年 6 月,Pages 报告在那个日期之前仍有一段历史缺口,源于 2025 年底一次报告延迟事件。抓取、收录、排名都没受影响,只是面板的历史变短了。比对最近几周即可。
我直接用 Indexing API 强推页面行不行?
不行。Indexing API 只针对 JobPosting 和 BroadcastEvent 类页面。普通内容请用内链、干净的 sitemap、Validate Fix,再配几次手动 Request indexing。