你把 Halo 的 sitemap 提交到 Google Search Console,后台也显示“成功”,但文章页还是一大片未收录。这个时候最容易做错的一件事,是反复删除 sitemap、重新提交、再去点“请求编入索引”。

先停一下。sitemap 不是收录按钮,它只是在告诉 Google:“这些 URL 在这里。”Google 是否抓取、什么时候抓取、抓完是否收录,是另一套判断。小站排查收录问题,先不要把所有未收录都混成一个问题。你要先分清楚是哪一类。

先确认 sitemap 本身有没有被 Google 读到

第一步不是看文章有没有收录,而是看 Google 能不能正常读取 sitemap。

在 Search Console 里打开“站点地图”,先看这几个点:

检查项 正常状态 如果异常,先处理什么
sitemap 提交状态 成功 检查 URL 是否能公开访问
发现的网址数 大于 0 检查 sitemap 是否真的包含文章 URL
最后读取时间 有近期时间 检查服务器、CDN、防火墙是否挡住 Googlebot
sitemap URL 和真实站点一致 检查 http/https、www/non-www 是否提交错版本

Halo 站点常见的问题不是 sitemap 文件不存在,而是提交了错误版本。比如真实站点使用 www 版本,但你提交的是非 www 版本;或者站点已经强制 HTTPS,但 sitemap 里还混着 HTTP URL。Google 可能仍然能处理一部分跳转,但你是在给它增加无意义的判断成本。

还有一种情况是 sitemap 显示成功,但“发现的网址数”为 0 或明显少于真实文章数。这时不要急着改文章内容,先打开 sitemap 原始地址,看里面有没有文章详情页。如果 sitemap 只暴露了首页、分类页、标签页,而没有文章页,那问题还停留在站点输出层。

对于 Halo 博客,优先检查:

  • sitemap 地址是否公开可访问
  • sitemap 里是否包含文章页 URL
  • URL 是否是最终规范版本
  • 最近发布的文章是否进入 sitemap
  • CDN 或安全规则有没有拦截搜索引擎抓取

如果这一步没过,后面谈内容质量、内链、canonical 都太早。

再看 URL 是没发现,还是发现了没抓

Halo sitemap 未收录问题按四类状态分流排查的流程图
sitemap 被读取,不等于每篇文章都进入索引流程。下一步要用 URL 检查工具抽查具体文章页。

不要只抽一篇。至少抽三类页面:

  • 最新发布的文章
  • 已发布一段时间但未收录的文章
  • 已经收录的旧文章

这样你才能判断问题是全站性的,还是只影响新文章。

如果显示“Google 未知”

这说明 Google 还没有把这个 URL 纳入自己的系统。对新站和低权重小站来说,这并不罕见。你要检查的不是“为什么不收录”,而是“Google 为什么还没发现它”。

优先看三件事:

  1. sitemap 里有没有这篇文章
  2. 首页、分类页或相关文章里有没有内链指向它
  3. URL 是否只能通过站内搜索、分页深处或标签页才能找到

Halo 博客如果文章发布后只出现在很深的归档页,而首页列表更新很快把它挤下去,Google 发现速度会变慢。解决办法不是每天提交 sitemap,而是给重要文章安排更稳定的入口,比如专题页、分类页、相关文章链接,或者从已有收录文章里补一个自然内链。

如果显示“已发现 - 尚未编入索引”

这表示 Google 知道这个 URL,但还没抓取,或者暂时不急着抓。对小站来说,常见原因是站点整体抓取频率低、文章入口弱、页面之间连接松散。

这时先别大改标题,也别重写整篇文章。先做轻量动作:

  • 确认文章在 sitemap 中
  • 从一篇已收录相关文章加内链
  • 确认页面返回 200
  • 确认移动端能正常打开
  • 等几天再看状态变化

如果一批文章长期停在这里,说明 Google 对这个站点的抓取优先级不高。你要提升的是站内结构和重要页面入口,而不是单篇文章反复提交。

抓取过但不收录,重点查页面信号

如果 URL 检查显示 Google 已经抓取过,但仍然没有收录,问题就不再是 sitemap。Google 已经看过页面,只是暂时没把它放进索引。

这类问题要分两层看:技术信号和内容信号。

先排除技术信号

技术信号有明确的对错,先查它们,效率最高。

信号 应该怎么看 常见误判
noindex 页面源码或响应头里有没有 noindex 只看 Halo 后台开关,没看主题输出
canonical 是否指向当前文章自己或正确规范页 主题模板把多篇文章指向同一个 URL
robots.txt 是否阻止了文章路径或资源 以为 robots 禁止收录,其实只是禁止抓取
状态码 是否稳定返回 200 CDN、登录墙、反爬规则对 Googlebot 返回异常
渲染内容 Google 能否看到正文 主题或脚本让正文延迟加载失败

Halo 站点尤其要注意主题模板。后台文章是公开的,不代表主题最终输出一定干净。你要看页面源码,而不是只看编辑器里的内容。重点找 noindexcanonical、异常跳转和重复 title。

如果 robots.txt 挡住了页面,Google 可能连 noindex 都看不到。很多人以为“我用 robots 禁止它,所以它不会收录”,但实际排查时会变复杂。要禁止收录,用 noindex;要让 Google 看到 noindex,就不能同时把页面抓取挡死。

再判断内容是否值得收

技术信号没问题,页面仍然是“已抓取 - 尚未编入索引”,就要看内容本身。

不要用“原创”两个字安慰自己。Google 不知道你写作时是不是原创,它看到的是这个页面和网上已有内容相比,有没有足够明确的价值。对 Halo 小站来说,容易出问题的页面通常有这几类:

  • 标题像教程,正文只是概念解释
  • 多篇文章围绕同一个问题换说法
  • 分类页、标签页、归档页大量薄内容
  • 文章没有真实步骤、截图逻辑或判断标准
  • 页面没有内链,也没有被站内其他内容引用

如果一篇文章只是把“什么是 sitemap、为什么重要、如何提交”写了一遍,它很难从已有内容里跳出来。更好的写法是解决一个具体场景:Halo sitemap 成功但文章未收录,应该先看哪个状态,看到不同状态后怎么处理。

这也是为什么你要把问题拆成状态,而不是写一篇泛泛的“网站不收录怎么办”。状态越具体,修复动作越具体,文章越不容易变成空话。

收了错误版本,比没收录更容易被忽略

有时你以为文章没收录,其实 Google 收了另一个版本。

例如:

  • 收了非 www 版本,没有收 www 版本
  • 收了 HTTP 版本,没有收 HTTPS 版本
  • 收了带参数的 URL,没有收干净 URL
  • 收了分类页或标签页,没有收文章页
  • canonical 指向了错误页面

这类问题在 Search Console 里不一定一眼能看出来。你需要用 URL 检查工具看“用户声明的规范网页”和“Google 选择的规范网页”。如果两者不一致,说明 Google 认为另一个 URL 更适合作为代表版本。

Halo 博客要特别注意分类、标签和归档页。它们对用户导航有用,但如果这些页面标题重复、摘要太短、分页很多,又没有处理好 canonical,Google 可能把一部分精力花在这些列表页上,而不是文章页。

处理顺序可以这样定:

  1. 文章页保留清晰、唯一的 title 和 description
  2. 文章页 canonical 指向自己
  3. 分类和标签页不要生成大量近似标题
  4. 重要文章从正文内链获得入口
  5. sitemap 只放真正希望被发现的规范 URL

如果你已经读过本站的 GSC 收录异常排查,可以把这一步理解成更窄的 Halo 博客版本:先确认 Google 选的是不是你想要的 URL,再谈页面质量。

小站不要盯着每一个未收录 URL

Search Console 的索引报告会列出很多状态,但小站不需要把每一个 URL 都修成绿色。

你真正要盯的是这几类:

URL 类型 是否值得优先处理 原因
核心教程文章 承担搜索流量和内链入口
产品或服务页 影响转化和品牌搜索
分类页 看情况 有搜索价值才重点处理
标签页 通常不用优先 容易薄、重复、入口价值有限
归档分页 通常不用优先 多数不是搜索落地页

Halo 博客经常会生成分类、标签、归档等列表页。它们出现在索引报告里并不奇怪,也不一定都值得收录。你要先确定哪些页面真的应该进入 Google,而不是把所有“未编入索引”都当成故障。

一个简单标准是:如果这个页面被用户从 Google 打开后,能不能独立解决一个问题?如果不能,它不收录未必是坏事。

结论

Halo sitemap 提交后文章不收录,先不要反复提交 sitemap。正确顺序是:先看 sitemap 是否被读取,再看 URL 是否被发现,再看是否抓取过,最后判断 Google 是不是选择了错误版本或认为页面价值不够。

sitemap 只能帮 Google 找到路,不能替页面证明它值得被收录。对小站来说,真正有效的修复通常不是多点几次提交按钮,而是让重要文章有稳定入口、干净规范 URL、明确主题和足够具体的内容价值。