网站收录

sitemap 该放哪、能放多少条:索引文件与拆分的常见误解

站点地图常被当成收录开关,其实它主要解决的是 URL 被发现的问题。本文说明文件该放在哪、单个文件的数量与体积上限、超出后如何用索引文件拆分,以及哪些 URL 不该放进去,并给出定期维护与自查的顺序。

网站收录

sitemap 该放哪、能放多少条:索引文件与拆分的常见误解

站点地图(sitemap)常被当成“提交了就等着收录”的工具,实际上它只解决一件事:把 URL 主动告诉搜索引擎,减少纯靠链接爬行带来的遗漏。至于是否抓取、是否收录,仍由搜索引擎根据页面质量和站点整体情况判断。所以更值得花时间的,是放对文件、写对内容、保持更新。

文件放在哪,怎么被找到

最省事的做法是把 sitemap.xml 放在站点根目录,然后在 robots.txt 里用 Sitemap 行声明它的完整地址。这样即使没人手动提交,爬虫也能顺着 robots.txt 找到它。

如果站点有多个子域或目录,可以分别生成,再汇总到一个索引文件里。需要注意:一份 sitemap 里通常只能放同一站点(同协议、同主机)下的 URL,把别的域名塞进来一般会被忽略。子域、独立域名各自提交,读起来也更清楚。

单文件的上限与拆分方式

单个 sitemap 文件有两条硬上限:URL 数量(通常 50,000 条)和文件体积(未压缩约 50MB)。任意一条超了就要拆。

拆分有两种思路:按内容类型分(文章、商品、栏目),或按时间分(按月归档)。前者便于单独观察某一类页面的抓取表现,后者便于控制单文件大小。拆完之后用 sitemap index 文件把子文件列出来,只提交这一个索引地址即可。

子文件建议放在同一目录下,路径别写错——一个 404 的子文件会让那一整块 URL 白提交。文件较大时可以 gzip 压缩,但要确保声明的地址指向压缩后的文件,且文件名后缀与内容一致。

哪些 URL 该放进去

  • 返回 200、允许被抓取、且希望出现在索引里的规范 URL。
  • 新上线、站内链接较少、靠爬行不容易被发现的页面。
  • 正文更新过、希望尽快被重新抓取的重要页面。

反过来,下面这些不建议放:

  • 设置了 noindex 的页面,两者诉求互相矛盾。
  • 会 301、302 跳转的旧地址,直接写跳转后的目标更有效。
  • 404、410 或根本不存在的地址。
  • 带大量参数的筛选、排序 URL,除非这些页面确实需要被索引。
  • 分页、标签、站内搜索结果页等低价值或重复度高的地址,是否放入要看站点策略。

容易踩的几个误解

提交等于收录

不是。sitemap 只影响“发现”,页面能否进索引取决于内容质量、重复程度、站点整体可信度等。提交后长期不收录,应该回头查页面本身,而不是反复提交。

URL 塞得越多越好

把无价值页面一起塞进去,既稀释了有效信号,也占用抓取资源。宁少而准。

lastmod 随便填

时间戳与页面实际修改情况不符时,会被判断为不可靠,之后即使真的更新也难获得优先抓取。模板批量改动导致全站时间一起变化的情况尤其要注意。

索引文件里混入错误地址

索引文件本身也是 XML,里面的子文件地址必须可访问、可解析。一个子文件返回错误,可能连累对整份提交有效性的判断。

维护节奏与自查顺序

  1. 确认 robots.txt 中声明的地址能正常打开,返回 200 且内容是 XML。
  2. 检查是否有 noindex、重定向、404 地址混入,先清理掉。
  3. 核对 URL 数量与文件体积是否接近上限,接近就拆分。
  4. 子文件地址逐一验证,再用索引文件统一提交。
  5. 新增页面按天或按小时更新,下线页面及时移除,别只增不减。
  6. 隔一段时间对比“已提交”与“已收录”的数量差,差异大的那部分才是要重点分析的对象。
sitemap 能保证的是“你告诉过它”,不是“它会收录”。把它当成一份干净、及时、可维护的 URL 清单,比当成收录开关更接近它的实际作用。