Sitemap 和内链是两套独立的 URL 线索来源:前者是站点主动提交的清单,后者是页面之间自然形成的路径。两者一致时最省事;不一致时蜘蛛不会停下来问你,而是按自己的规则做取舍。
两套线索各自管什么
Sitemap 主要解决“发现”:它告诉蜘蛛哪些 URL 存在,尤其是那些内链难以到达、或者刚上线还没来得及被链接的地址。内链解决的是“路径和优先级”:一个 URL 被多少页面链接、链接出现在什么位置、锚文本写了什么,会影响蜘蛛的访问顺序和重访频率。
换句话说,Sitemap 更像一份清单,内链更像一张地图。清单可以不完整,地图也可以有空白,但两者对不上时,蜘蛛会优先相信自己顺着链接走出来的那条路线。
几种常见的“打架”情形
- 只出现在 Sitemap 里:页面能被发现,但没有任何内链指向它。蜘蛛可能抓一次就不再回来,长期缺少站内信号,收录和更新都会更慢。
- 只出现在内链里:只要链接可爬、没有被 robots 拦截,蜘蛛仍能顺着页面找到它。Sitemap 缺失不影响发现,只是少了一次明示。
- Sitemap 里是重定向或 404:蜘蛛跟过去落到别的地址,等于浪费一次抓取机会,也会让这份清单的可信度打折。
- Sitemap 里的页面带 noindex:发现和抓取都会发生,但页面不会进入索引,这类 URL 留在清单里意义不大。
- 内链指向被 robots 屏蔽的路径:链接能被读到,抓取被拦下,路径就此中断,后期想恢复需要重新建立线索。
冲突时蜘蛛的实际选择
多数搜索引擎的处理逻辑接近:Sitemap 用来补充发现,内链用来判断重要程度。所以当两者给出不同答案时,通常是这样的结果——
- Sitemap 有、内链无的页面,会被抓,但优先级靠后,重访间隔更长。
- 内链有、Sitemap 无的页面,照常被抓,抓取节奏取决于它在站内所处的位置。
- Sitemap 里已经失效的 URL,被访问一次后逐步降低频率,直到几乎不再出现。
- 内链和 Sitemap 都指向同一个 301 目标,蜘蛛最终收敛到终点地址,原 URL 的线索慢慢衰减。
把 Sitemap 当成“多加一条线索”,而不是“替代内链”。指望靠它让一堆没有内链的页面获得稳定抓取,通常不现实。
一个常见的误区
有人把 Sitemap 当成“提交了就一定抓”的开关,于是把大量没有内链的页面塞进去。结果是清单越来越长,实际被抓的比例却没有变化,反而让真正重要的地址淹没在里面。更稳妥的做法是控制体量,只放那些打算长期维护的 URL。
站点运营上的处理方式
- 新页面优先保证从已有页面给出至少一条内链,再考虑进 Sitemap。
- 定期比对清单与站内链接,把只存在于 Sitemap 的孤儿页面挑出来,补链接或做取舍。
- Sitemap 里避免出现重定向、404、noindex 地址,保持干净。
- 内链结构保持相对稳定,频繁改版会让蜘蛛正在走的路径突然断掉。
- 观察服务器日志里各 URL 的抓取频率,判断哪些页面实际被当作重点对待。
两套线索不必完全一致,但差异要能解释得通。如果一个页面既没有内链,也不在 Sitemap 里,那它基本只能等外部链接把它带出来,这个过程往往比预期慢得多。