蜘蛛发现一个新地址,绝大多数时候不是靠你提交,而是靠顺着页面里的链接爬过去。这意味着一个很现实的问题:如果一篇文章在全站范围内没有任何链接指向它,它就只能孤零零地躺在站点地图里等人来捞。我们把这类页面叫做孤儿页面。
什么样的页面算孤儿页面
判断标准其实很简单:从首页出发,靠点击链接能不能走到它。走不到,基本就是孤儿。常见的几种形态包括:
- 正文只存在于数据库和站点地图里,没有任何列表页、相关推荐或导航引用它;
- 曾经有入口,但栏目改版、专题下线后入口被删,页面本身还在;
- 只在站内搜索结果里能出现,而搜索结果页本身并不适合被大量抓取;
- 标签页、聚合页被清理后,挂在下面的内容页失去了唯一的入口。
孤儿页面通常是怎么产生的
大部分孤儿页面不是故意造成的,而是运营动作的副产品:
- 栏目合并或拆分:旧栏目的列表入口被替换,但没有把旧文章重新挂到新栏目下;
- 批量导入内容:数据直接写进数据库,没有同步生成入口和分类归属;
- 草稿误发布:编辑把预览链接放出去,页面可访问但没有进入任何列表;
- 改 URL 忘改链接:地址换了,指向它的内链却没有跟着更新;
- 过度依赖站点地图:以为提交了 sitemap 就等于有了入口,于是不再关心页面之间的连接。
为什么值得定期查一次
孤儿页面带来的损失是双向的。对搜索引擎来说,这些页面很难被稳定发现,即使被抓到一次,后续也缺少回访的理由,更新了内容也不会被及时看到;对用户来说,它们同样很难通过站内浏览找到,内容做出来却没人读。更麻烦的是,这类页面往往数量会随时间累积,等你想清理时已经很难判断哪些该留、哪些该删。
站点地图是清单,内链才是路。清单能告诉蜘蛛“这里有个地址”,但不能替它把路铺好。
怎么把孤儿页面找出来
- 对比站点地图与抓取日志:把 sitemap 里的 URL 和日志里出现过的 URL 做差集,长期零抓取的地址优先看。
- 用站内爬虫跑一遍:从首页开始爬,记录所有被链接到的地址,再和 CMS 里已发布的文章列表对比,差集就是候选孤儿。
- 检查后台发布状态:筛出“已发布但分类为空、标签为空、无任何关联内容”的条目,这类很容易成为孤儿。
- 抽查典型页面:随机打开几篇老文章,用面包屑和栏目页往回找,看路径是否还通。
修的时候,优先补真实入口
找到之后不要一股脑塞进站点地图就完事,应该按内容价值分级处理:
- 仍然有阅读价值的,补进对应栏目的列表页,或加入同主题文章的相关推荐;
- 有长期价值的,考虑在导航、专题页或聚合页里给一个稳定位置;
- 已经过时、没有保留必要的,干脆下线并做好跳转说明,不要留着一个没有入口的空壳;
- 确实只需要被索引、不适合放在列表里的页面,再考虑只通过站点地图暴露,但要清楚这类页面不会获得太多回访。
把入口检查写进发布流程
与其每隔半年做一次大扫除,不如把成本摊到每次发布:新内容上线时确认它至少属于一个栏目或标签;栏目调整时列出受影响的文章清单,逐条确认新入口;删除聚合页前先看它引用过哪些内容。这几步不复杂,但能挡住大部分孤儿页面的产生。
最后提醒一点,孤儿页面自查的目不是把所有页面都硬塞进导航,而是让每一篇还打算长期维护的内容,都有一条从首页出发走得通的路。走不通的内容,要么补路,要么承认它已经不需要了。