有些 URL 提交进了 Sitemap,服务器也能正常返回 200,但抓取日志里几乎看不到蜘蛛访问。排查一圈下来,问题往往不在服务器,而在于这个 URL 没有任何内链指向它——也就是常说的孤岛页面。
孤岛 URL 是怎么形成的
孤岛 URL 指的是站点里没有其他页面链接指向、只能靠 Sitemap 或外部链接被发现的地址。常见来源有这几类:
- 运营活动页、落地页做完投放后入口被撤掉,页面本身还留在线上;
- 商品或内容下架后又重新上架,新 URL 生成了,但列表页、分类页没有同步;
- 筛选、排序、组合参数生成的页面,被复制成独立地址单独使用;
- 多语言或多地域版本,只有其中一个版本接进了导航;
- 历史改版遗留页面,旧内链被删,页面又没有做 301。
为什么内链缺失会影响抓取
Sitemap 更多是“告知存在”,内链才是“路径”。蜘蛛顺着链接爬行时,内链传递的是层级、权重和上下文;孤岛页面拿不到这些信号。实际表现通常是:
- 被发现得晚,页面更新后长时间停留在旧版本;
- 抓取频次低,即使内容有改动也不一定及时回访;
- 页面之间的关系无法被理解,不容易被归入同类内容;
- 一旦 Sitemap 里删掉该地址,页面就彻底失去入口。
需要说明的是,内链缺失并不等于一定不被收录,只是让发现和更新变得更依赖外部因素,可控性变差。
怎么把孤岛 URL 找出来
- 日志对照:把一段时间内蜘蛛访问过的 URL 与站点全部 URL 做差集,从未被访问的地址优先排查。
- Sitemap 对照:Sitemap 里有、但在全站页面源码里搜不到该地址的,基本就是孤岛。
- 站内爬取:用自己的爬虫从首页出发爬一遍,能到达的 URL 集合与 Sitemap 集合比较,缺的那部分就是内链断点。
- 站内数据辅助:看访问量极低但仍在线的页面,很多是入口消失导致的。
修复的优先顺序
不是所有孤岛页面都值得加内链。先分类,再动手:
- 有价值的页面:加回相关列表页、专题页或正文中的上下文链接,锚文本要有实际含义。
- 内容重复或过期的页面:做 301 收敛到主版本,同时从 Sitemap 中移除旧地址。
- 只用于投放的落地页:如果不希望被自然搜索抓取,可以考虑加 noindex;如果希望被抓取,就给它一个稳定入口。
- 参数组合页:规范化为一个主 URL,其余用 canonical 指向或屏蔽抓取。
加内链时的几个注意点
- 不要为了数量在每个页面都堆同一个链接,相关性比数量重要。
- 列表页翻页、筛选条件里的链接要能被正常解析,避免只用 JS 绑定点击事件。
- Sitemap 更新与内链上线尽量同步,避免出现“内链已删、Sitemap 还在”的中间状态。
- 修复后观察该 URL 在日志中的首次抓取时间和后续回访频率,判断是否真的回到抓取路径里。
孤岛 URL 更像是路径问题,而不是提交问题。Sitemap 负责告知,内链负责带路,两者缺哪一个,发现效率都会打折。
定期做一次“全站 URL 集合 vs 蜘蛛已抓取集合”的对照,比事后猜测某个页面为什么迟迟没动静更有效。修复时按价值分层处理,把内链、Sitemap 和状态码三件事对齐,URL 发现的断点会少很多。