网站收录

sitemap 提交了却没有收录动静:从文件质量到页面入口的核对顺序

sitemap 能帮助搜索引擎发现 URL,但它不决定抓取,也不决定收录。本文把常见问题拆成三层来核对:文件本身是否规范、提交的地址是否值得被索引、页面在站内有没有可爬的入口。按顺序排查,比反复重新提交更有用。

网站收录

sitemap 提交了却没有收录动静:从文件质量到页面入口的核对顺序

先把 sitemap 的作用边界说清楚

不少站点把 sitemap 当成收录开关:提交之后每天看索引数量,几天没变化就开始焦虑,于是换个文件、重复提交、到处贴地址。更接近实际的理解是,sitemap 主要做一件事——把 URL 告诉搜索引擎,辅助发现。至于抓不抓、抓完是否编入索引,取决于页面本身的质量、站点整体情况以及抓取资源的分配。它是一条通道,不是一道指令。

所以当 sitemap 提交后没有动静时,与其反复提交,不如按下面的顺序往回找原因。

第一层:文件本身是否规范

  • 能正常打开:地址直接访问应返回正常内容,不是 404、不是跳转链、也不是被登录墙挡住。
  • 放的是规范地址:只写最终版 URL,不要混入重定向地址、带跟踪参数的地址、大小写不一致的写法。
  • 状态码对得上:sitemap 里的地址最好是 200 且允许被索引。把 404、301、noindex 的页面写进去,会削弱这份文件的可信度。
  • lastmod 别造假:每次发布都无差别刷新时间,会让这个字段失去参考意义。只在实际修改内容时更新。
  • 格式与分片:大站点按规则拆成多个文件并用索引文件汇总;单个文件有 URL 数量与体积上限,超出就分批。编码、命名空间按标准写,别自己发明字段。
  • 别被自己挡住:robots.txt 里若屏蔽了 sitemap 中的目录,或者屏蔽了 sitemap 文件本身,这份文件基本等于不存在。同时可以在 robots.txt 里声明它的位置,方便被发现。

第二层:提交进去的 URL 是否值得被索引

sitemap 更像一份推荐清单,写什么就代表你认为什么重要。如果里面有大量低价值地址,真正想被收录的页面反而会被淹没。

  • 筛选、排序、会话类参数生成的地址,通常不值得放进去。
  • 内部搜索结果页、空列表页、内容极少的聚合页,先掂量。
  • 同一正文对应多个地址时,先确定一个规范地址再提交,而不是全部提交。
  • 已经明确要下线的页面,从 sitemap 里移除,别留在里面等着被抓。

换句话说,sitemap 的长度不是成绩。一份短而准的清单,通常比一份长而杂的清单更容易被当作有效信号。

第三层:页面在站内有没有入口

这是最容易被忽略的一层。sitemap 只负责让搜索引擎知道有这么一个地址,但页面能不能被顺利抓到、后续会不会被持续回访,很大程度上取决于站内链接结构。

如果某个页面除了 sitemap 之外,没有任何内链指向它,那它就是一座孤岛。即使被抓过一次,也很难获得后续的抓取优先级,更新也容易被忽略。有价值的页面应当能从栏目页、相关推荐、上一篇下一篇等位置被链接到,且链接是普通的可点击链接,不是靠脚本临时拼出来的。

一个可执行的核对顺序

  1. 直接访问 sitemap 地址,确认能打开、格式正确、没有跳转。
  2. 抽查一批 URL 的状态码与可索引设置,剔除异常项。
  3. 检查 robots.txt,确认没有屏蔽 sitemap 本身,也没有屏蔽其中的目录。
  4. 把明显不该被索引的地址从 sitemap 中删掉,让清单变短变准。
  5. 在站内为重要页面补上真实的内链入口,从首页两层内可以点到。
  6. 确认页面本身有独立标题、有主体内容、不依赖脚本才能看到正文。
  7. 以上都完成后再观察一段时间,不要一天一改。

看到“已发现但尚未编入索引”时怎么理解

这个状态说明地址已经被知道,但还没有被抓取,或者抓了还没有进入索引。常见原因包括抓取配额被其他地址占用、页面被判断为价值不足、内容与站内其他页面高度相似。处理方式和前面三层一致:先把低价值地址清理掉,把抓取资源让给重要页面,再把内链和内容补上,而不是继续往 sitemap 里加地址。

sitemap 解决的是“有没有人知道这个地址”,收录解决的是“这个地址值不值得留下”。把两件事分开看,很多焦虑会自然消失。