站点里常有一类页面:能通过搜索框、站内推荐或者外部链接打开,但顺着栏目页一层层点下去永远到不了。这类页面常被叫做孤岛页面。它们不一定是坏页面,却常常因为缺少内链而长时间不被搜索蜘蛛发现,或者被发现之后隔很久才回来一次。
孤岛页面是怎么形成的
大多数孤岛页并不是有意做出来的,而是运营过程中的副产品。
- 活动页、专题页上线时只在首页挂了两周,入口撤掉后页面本身还在。
- 详情页被移出列表页,比如商品下架、文章取消置顶,但 URL 仍可访问。
- 只有站内搜索才能命中的组合结果页,例如带多个筛选条件的列表。
- 分页很深的归档页,第 30 页之后再没有任何入口指向它。
- 只在 App 或小程序里出现的页面,网页端没有对应链接。
这些情况的共同点是:URL 存在、服务器返回 200,但从站点的链接图上找不到一条通向它的路径。
蜘蛛发现 URL 的几条常规路径
理解孤岛问题,先要分清蜘蛛可能从哪里拿到一个 URL。常见来源大致有这么几类:
- 站内链接:首页、栏目页、列表页、详情页里的 a 标签,这是最主要也最稳定的入口。
- XML Sitemap:站点主动提交的候选清单,蜘蛛会把它当作待抓队列的补充来源。
- 外链:其他站点指向你的链接,尤其是本身被抓取较频繁的页面上的链接。
- 历史抓取记录:之前抓过的页面上再次出现链接,蜘蛛会顺着重访。
孤岛页通常只能依赖第二条和第三条。问题是,Sitemap 提供的更像一份备选名单,而不是抓取的保证;外链又完全不受你控制。只靠这两条路径,URL 被发现的时间、被回访的频率都会明显低于有正常内链的页面。
Sitemap 里放着孤岛页,为什么不等于被正常抓取
不少人把孤岛页塞进 Sitemap 就算处理完了,实际效果往往打折。原因有几层:
- Sitemap 里的 URL 缺少页面之间的上下文,蜘蛛较难判断它的重要程度,抓取安排上通常靠后。
- 如果同一份 Sitemap 里混了大量低价值 URL,真正需要抓的页面会被稀释。
- 孤岛页没有内链,蜘蛛抓到之后也难以继续向外扩散,这条路径基本到此为止。
- 页面内容更新时,缺少内链带来的再次发现,回访主要靠 Sitemap 的 lastmod 提醒,节奏会慢一拍。
内链解决的是这条路走不走得通,Sitemap 解决的是要不要把这条候选记下来。两者不能互相替代。
把孤岛页重新接回站点
如果页面确实有保留价值,比较稳妥的做法是给它补一条站内路径,而不是长期依赖 Sitemap 兜底。
1. 找到合适的上游页面
它属于哪个栏目、哪类内容,就回到那个栏目里。栏目页、标签页、归档页都是天然的入口,前提是这些页面本身能被蜘蛛正常抓到。
2. 用相关推荐和正文内链补充
在同类内容里加一两条指向它的链接,比在页脚堆一排链接更自然。链接锚文本能说明页面主题,对蜘蛛理解页面也有帮助。
3. 检查列表页的分页入口
翻页如果只靠按钮触发 JS 而缺少可抓取的 a 标签,深层的旧内容就会逐渐失去入口。可以在归档页或按时间排序的列表里保留一条静态入口。
4. 单独整理一份 Sitemap
把确实需要被发现、但暂时没有内链的页面集中放在一个分片里,别和全站 URL 混在一起,方便在日志里观察它们的抓取情况。
日常检查时可以先看这几项
- 随机抽一批详情页,从首页出发能不能点到它,大概需要几步。
- 抓取日志里,页面的来源是站内链接,还是只有 Sitemap 与外链。
- 站内搜索结果页、日历页、无限滚动列表,有没有生成大量无入口的 URL。
- 下架、合并的页面有没有做收尾处理,避免留下既无内链也无内容的 URL。
孤岛页不是必须清零的问题,但值得定期清点。判断标准很朴素:这个 URL 如果对用户有价值,就应该有一条站内路径能走到它;如果没有价值,与其让它挂着,不如干净地下线或做合并。