站内链接是蜘蛛走过的一条条路,Sitemap 更像一份清单。清单上写了地址,不代表路上真的有人走。当某个 URL 只出现在 Sitemap 里,导航、列表页、正文推荐里都找不到入口,它就变成了一条孤岛。
内链孤岛是怎么形成的
孤岛通常不是故意造出来的,多半是流程上的时间差或者结构上的遗漏:
- 新页面先上线,Sitemap 已经推送,但栏目页和推荐位还没来得及挂链接。
- 列表页分页太深,靠后的页数几乎没有其他页面指向。
- 标签、归档这类自动生成的聚合页,只在后台存在,前台没有可达路径。
- 旧页面下线或改路径后,原本指向它的入口被删掉,旧地址还留在 Sitemap 中。
- 内容靠 JS 异步加载,链接在初始 HTML 里看不见。
蜘蛛拿到孤岛 URL 之后会怎样
抓取和索引是两件事。孤岛 URL 通常不会完全不被抓,但抓取的稳定性和复查频率,往往会明显弱于有内链支撑的页面。
- 发现渠道单一:Sitemap 是主要甚至唯一来源,这条通道一旦断掉,就没有替代路径。
- 缺少链接上下文:没有锚文本、没有来源页面,蜘蛛只能依赖 URL 本身和页面内容做判断。
- 抓取优先级偏低:在额度有限时,队列更倾向先处理被多个页面指向的 URL。
- 复查节奏变慢:页面更新后缺少站内信号,变化被重新看到的时间会更长。
- 站内关系传递不到:同类内容之间的链接关系无法流向它。
自查:从抓取日志里找孤岛
日志是最直接的证据,可以按下面几步做一次筛查:
- 看来源字段:如果某个 URL 的抓取记录里,来源几乎都是 Sitemap 或者为空,站内页面极少出现,就值得留意。
- 统计同一 URL 的抓取频次:把有内链支撑的页面和疑似孤岛页面分组对比,看复查间隔差了多少。
- 人工验证可达性:从首页出发,看能不能在两三次点击内走到这个 URL。
- 做一次站内爬取模拟:如果爬虫走遍全站都到不了它,实际抓取路径大概也差不多。
修复的顺序
优先接入有真实流量的入口,而不是随便找几个页面挂上链接。
- 先在同类内容之间加相关推荐,方向自然,上下文也清楚。
- 把页面挂进最近的栏目页或列表页,同时控制列表分页的深度。
- 补上面包屑,让层级路径可读。
- 标签和归档页按需保留,没有内容的就清理掉,别让它们制造新的孤岛。
- Sitemap 只放有实际入口的 URL,避免清单越来越长、真正可抓的却不多。
- 老页面改路径时,旧地址做重定向,同时把站内指向旧地址的链接改成新地址。
不要为了消灭孤岛而乱加链接
内链不是越多越好。同一个页面被几十个页脚链接反复指向,反而会让蜘蛛在同一批 URL 上打转,把额度消耗在重复路径上。判断标准很简单:这个链接对用户有没有用。如果有用,它通常对蜘蛛也有用。
站内链接解决的是“怎么走到”,Sitemap 解决的是“有哪些”。两者重合的部分越扎实,URL 发现的通道就越稳。
一个可以固定下来的检查清单
- 新页面上线时,同步确认至少一条站内入口。
- 定期比对 Sitemap 覆盖的 URL 与站内链接能到达的 URL,找出差集。
- 关注抓取日志中来源单一的那批 URL,作为重点观察对象。
- 定期清理既没有内容、也没有入口的聚合页。