搜索抓取

只进 Sitemap、不挂内链的页面,蜘蛛会怎么对待

有些页面只出现在 Sitemap 里,站内没有任何链接指向它。这类页面不是抓不到,而是抓取频率低、更新慢被发现。本文说明它的三种常见成因、用日志和链接差集自查的方法,以及先补内链还是先改 Sitemap 的处理顺序。

搜索抓取

只进 Sitemap、不挂内链的页面,蜘蛛会怎么对待

Sitemap 是入口,不是通道

Sitemap 的作用是告诉蜘蛛这些 URL 存在,它解决的是发现问题,不解决发现之后的路径问题。蜘蛛按 Sitemap 抓过一次之后,如果没有别的页面链向这个地址,下次想再来,基本只能等 Sitemap 被重新读取。相比之下,一个从首页经过两三次点击就能到达的页面,蜘蛛在例行爬行时会顺路经过。

结果就是这类页面不是抓不到,而是抓取频率明显偏低,更新后被发现的时间被拉长。如果站点规模不大、蜘蛛来访本身就有限,这种差距会更明显。

三种常见的形成原因

1. 上线流程只走 Sitemap

新页面由程序生成后直接写进 Sitemap,没有人去列表页、导航或相关推荐里放链接。短期看省事,长期看这些页面只能靠 Sitemap 维持存在感。

2. 改版时删掉了旧入口

栏目结构调整、导航精简、模板替换,都可能把原本指向某批页面的链接去掉。页面本身还在,Sitemap 也还在,但站内已经没有任何路径能走到它。这类问题通常在改版后一两个月才从抓取数据里看出来。

3. 链接由脚本生成

列表页用点击后再加载的方式填充内容,或者链接写在脚本里由前端渲染。蜘蛛能不能顺着走,取决于渲染方式是否被正确处理。如果默认返回的 HTML 里没有对应的 a 标签,这批页面在站内就等于孤立。

怎么把这类页面找出来

  • 把 Sitemap 里的 URL 列表和站内可点击链接指向的 URL 列表做差集,只出现在 Sitemap 一边的就是候选。
  • 在服务器日志里按 URL 统计来访次数,观察这批地址是不是集中在 Sitemap 更新后的那几天,之后长期没有访问。
  • 抽几个样本页面,用不执行脚本的方式看返回的 HTML,确认有没有一行 a 标签指向它们。

修复顺序:先补内链,再决定 Sitemap

如果页面确实需要被搜索流量看到,优先给它补一个真实的内链入口。位置不用多,一到两个相关位置就够:相关列表页、正文里的自然引用、面包屑或上一级栏目。Sitemap 可以继续保留,但不要再把它当作唯一入口。

补完入口后,还要确认这个页面自己有出口链接。孤岛页面即使被访问,如果页面里没有指向其他内容的链接,蜘蛛走到这里也只能原路返回,对整站抓取的贡献有限。

对于确实不需要内链的场景,比如纯工具页、临时活动页、只在特定渠道投放的落地页,可以继续只放在 Sitemap 里。但要接受它抓取频率低、更新被发现得慢这个前提,不必为此反复调整模板。

一个可以立刻做的检查

从 Sitemap 里随机抽二十条 URL,逐条确认它是否能从站内正常点击路径到达。找不出来的先记下来。这一步不需要额外工具,几分钟就能看出大概比例。

Sitemap 负责让蜘蛛知道页面在哪,内链负责让蜘蛛一次次回到页面。两者只留一个,页面就会长期处在半休眠状态。