做站内优化时,很多人把 Sitemap 和内链当成同一件事:都是把地址交给搜索蜘蛛。实际用起来会发现,两者的分工并不一样。Sitemap 解决的是“我有哪些地址”,内链解决的是“这些地址在站内处于什么位置”。只做其中一件,URL 发现往往会出现明显的缺口。
Sitemap 解决的是告知,不是抓取
把 URL 写进 Sitemap,相当于给搜索蜘蛛递了一份地址清单,但清单本身不产生抓取。蜘蛛拿到地址之后,还要进入队列、判断优先级、评估服务器响应,才会真正过来。提交完成只是走完了投递这一步。
还有一点容易被忽略:Sitemap 里长期返回错误、或者内容长期不更新的地址,会让这份清单的可信度下降。后续蜘蛛对清单里其他地址的处理,也可能变得保守。
内链解决的是背书
一个 URL 被站内其他页面链接指向,传递的信息不只是“这里有个地址”,还包括它在站内的位置、上下文和相对重要程度。从导航点进去的链接,和从某个角落页偶然带出的链接,信号并不相同。
- 链接所在层级:离首页几步
- 所在模板:导航、正文、相关推荐还是页脚
- 周围的文字内容是否与该页主题相关
- 同一个地址被多少个页面指向
- 锚文本是否描述了目标页的内容
这些因素叠在一起,才构成一条内链的完整含义。Sitemap 提供不了这些信息,它只能告诉蜘蛛“存在”。
两条通道不一致时,通常会发生什么
只在 Sitemap 里,站内没有任何内链
典型的孤儿页。蜘蛛可能仍然会抓取,但重新发现和更新的动力偏弱,站内也没有一条路径能再次走到它。一旦爬取周期拉长,这个 URL 基本靠历史记录维持存在感。
只在站内有链接,没进 Sitemap
一般不影响被抓取,但大批量新页面靠内链逐个带路,速度取决于链接深度和整体抓取节奏。Sitemap 的价值在于把一批地址一次性递出去,省掉逐层爬行的时间。
两边都没有
那就只能依赖外部链接或用户分享,发现过程基本不受自己控制。
实操:让两条通道互相补位
- 新页面发布时,先确认它至少有一个从已收录页面出发的稳定内链,同时把地址写进 Sitemap。两件事尽量在同一时间窗口完成。
- Sitemap 按内容类型分片,方便单独观察某一类地址的抓取情况,出问题时也更容易定位。
- 重要页面放在较浅的层级,并且在 Sitemap 中不做隐藏或延迟提交。
- 内链指向的地址和 Sitemap 里的地址保持完全一致,避免出现带参数、大小写不同、末尾斜杠不一致的变体。
- 定期排查孤儿页:找出只存在于 Sitemap、没有任何内链入口的地址,补上链接或做合并处理。
用日志验证哪条通道在起作用
观察蜘蛛进入某个 URL 时的上一跳或 referer,大致能判断它是顺着内链走过来的,还是按 Sitemap 清单直接访问的。还可以对比两个时间差:新页面从提交到第一次被抓的间隔,以及内链上线前后该地址被抓频率的变化。
如果发现某个栏目下的新页面长期只被 Sitemap 单独访问,说明内链没有承担起推荐作用,值得检查该栏目的列表页、相关推荐模块是否正常输出了链接。
几个常见误区
- 以为 Sitemap 越大越好,把无实质内容的地址也塞进去
- 在站内重要链接上使用 nofollow,切断了本可以传递的背书信号
- Sitemap 里的最后修改时间和实际内容更新严重脱节
- 只维护一套链接(例如只有 PC 端模板输出了完整内链,移动端缺失)
Sitemap 和内链不是替代关系。一个负责把地址送到蜘蛛面前,一个负责在站内维持一条随时可以走通的路。两条通道都保持稳定,URL 发现环节才不容易漏掉地址。