有些页面在后台看是正常发布的,浏览器能打开,Sitemap 里也有一条记录,但从首页一路点下来,无论怎么走都到不了它。这类页面通常叫孤儿页面——不是坏链,也不是 404,而是站内没有任何链接指向它,只能靠 Sitemap、外链或者蜘蛛碰巧翻到才会被访问。
先弄清楚孤儿页面的几种形态
严格意义上的孤儿页面,是站内没有任何链接指向它。实际排查中常见的还有几类「半孤儿」:
- 只在 Sitemap 或 RSS 里出现过一次,站内导航和相关推荐都没有它;
- 只在某个已经下线的栏目页里被链接过,栏目删掉后入口一起消失;
- 只被另一个本身也是孤儿的页面链接,等于互相抱着,谁也进不来;
- 只在移动端或只在桌面端导航里出现,另一端看不到入口。
最后一种容易被忽略,尤其是导航做了响应式折叠之后,某些二级栏目只在宽屏菜单里保留,窄屏下就被收进了「更多」里。
为什么值得专门排一遍
孤儿页面本身不一定有毛病,问题出在它的处境:
- 蜘蛛发现它的路径变少,新发布或者刚更新过的内容不容易被及时看到;
- 抓取预算被反复用在已有入口的页面上,深层页面分不到;
- 内链传递的权重信号缺失,页面在站内结构里等于没有位置;
- 用户从搜索进来之后,想继续看同主题内容却找不到相关入口;
- 页面改版、下架时容易被忘掉,长期挂着一个没人维护的版本。
它们大多是怎么产生的
- 栏目调整。合并、改名、下线栏目时,原栏目页链接过的文章就断了入口。
- 导航改版。新导航只保留重点板块,原来的长尾栏目从菜单里消失。
- 批量导入。历史内容一次性导入,没有同步补内链和栏目归属。
- 专题页收尾。活动结束后专题页撤掉,页面上挂着的文章一起失去入口。
- 先发布后补链。草稿改成已发布,补内链这一步被别的事情挤掉了。
排查可以按这几步走
- 用站点爬虫工具从首页开始完整跑一遍,导出「已抓取 URL」列表。
- 把这份列表和 Sitemap、后台已发布内容列表做对比,差集就是重点怀疑对象。
- 对差集里的每个地址,查一下站内链接数。链接数为零,或者只有一个且来源可疑的,基本可以确认。
- 翻一遍服务器日志,看这些地址最近有没有被蜘蛛访问过、是从哪个入口进来的。如果一直只从 Sitemap 进来,说明站内确实没有路。
- 把确认的地址按栏目、内容类型归类,判断哪些是应该留的,哪些本来就该下线。
找到之后怎么处理
- 内容仍然有效:给它补一个自然的内链入口,比如归入对应栏目、加进相关阅读、在同类文章正文里提一句。
- 只是位置变了:做 301 指向新的对应页面,别让它以旧地址继续存在。
- 确实不再需要:410 或者 301 到栏目页就处理掉,长期挂着只会继续占着抓取资源。
- 成批的历史内容:先挑有流量、有更新价值的处理,剩下的一次性归档或下线,不必逐个补链。
补内链的时候注意别为了消灭孤儿页面去生成一堆自动聚合页。入口要有实际意义,用户点进去能看到相关内容,才算真正解决了问题。
把这件事变成例行动作
- 发布流程里加一条:新页面至少有一个来自栏目页或相关内容的入口。
- 栏目下线前先跑一次该栏目下的链接清单,逐个安排去向。
- 每隔一段时间跑一次爬虫对比,别等到改版才想起来查。
- 把结果记在一个固定表格里,写清地址、原因、处理方式,方便下次对照。
孤儿页面不一定会立刻带来问题,但它意味着你在站内结构上放弃了对这个页面的控制。早一点给它留一条进来的路,比事后回头补要省事。