蜘蛛发现新 URL 的主要途径还是链接。站点地图和主动推送能提供一份清单,但决定蜘蛛会不会持续来、愿意走多深的,通常是页面之间的链接关系。所以当一批页面迟迟不进索引时,先把内链结构过一遍,往往比反复提交更有效。
蜘蛛靠链接走路
从首页出发,沿着可抓取的 a 标签往下走,能到达的页面构成了站点的“可发现集合”。如果一个页面只出现在 XML 站点地图里,没有任何站内链接指向它,它就成了孤岛页面。孤岛页面不是不能被抓到,而是抓到一次之后,蜘蛛缺少再次访问的路径,后续更新也很难被及时发现。
还有一种情况同样常见:链接写在了页面上,但位置很深,或者被折叠在需要交互才展开的模块里,抓取端拿到的 HTML 中并没有这条链接,效果上等同于不存在。
孤岛页面的几种常见成因
- 列表页只保留最新几页,旧内容翻不到,也没有归档或时间维度的入口;
- 内链由前端脚本渲染,抓取端拿到的 HTML 里没有对应的 a 标签;
- 相关推荐、猜你喜欢这类模块,只在部分用户路径下才出现;
- 专题页、活动页下线后没有做跳转,链接断在中间;
- 导航和面包屑只有分类层级,缺少回到上一级或索引页的入口。
点击深度:一个可以自查的指标
从首页算起,点到某个页面需要几次跳转,就是它的点击深度。这里没有硬性标准,但经验上,重要内容控制在三到四次点击以内比较稳妥;越深的页面,被反复抓取的机会通常越少。
- 挑二十个左右迟迟未收录的页面,列出它们的 URL;
- 从首页开始,只点页面上肉眼可见的链接,看能不能走到目标页;
- 记录走不到的页面,以及需要五次以上点击才能到达的页面;
- 检查这些页面上游的列表页、分类页本身是否已被收录;
- 如果上游页面自己都没进索引,先解决上游,再谈下游。
内链不是越多越好
堆量式的全站互链,效果通常有限。更有用的是相关性:同一主题下的页面互相链接,锚文本能把目标页讲什么说清楚,读者顺着点也说得通。同一批链接不加区分地出现在每个页面底部,容易被当成模板,抓取价值和传递作用都会被摊薄。
可以顺手做的几件事
- 在正文里给关键概念加上指向对应详情页的链接,而不是只在文末堆一排;
- 分类页、标签页保留“查看全部”之类的入口,别让分页把内容埋掉;
- 面包屑保持层级完整,并且每一级都能点回上一级;
- 定期清理 404 和失效链接,别让蜘蛛顺着一堆断链空跑一趟。
调整之后怎么验证
改完内链不用急着下结论,可以观察几个信号:服务器日志里,目标目录的抓取次数有没有变化;站点地图中的“已发现、尚未抓取”数量是否下降;新页面从发布到首次被抓的间隔是否缩短。这些趋势比单个页面的收录状态更能说明结构有没有改善。
内链解决的是“蜘蛛能不能找到、愿不愿意再来”的问题,它并不保证页面一定被索引。内容本身是否值得收录、重复程度高不高,仍然是前提。
把内链当成一条路来修,而不是一个开关来按。路修通了,蜘蛛来不来、来几次,是后面的事。