入口页能被抓取、被索引,并不代表从它出发的深层链接也能被正常发现。遇到“首页或栏目页收录正常,但更深一层的页面长期不出现”时,先不要急着改全站,而应把问题拆成两种互斥解释:一是抓取链路在某一跳之后被切断,二是页面其实已被抓取,只是没有被选中索引。两者的证据不同,处理动作也完全不同。
深层链路失效最常见的误判,是把所有不收录都归因于链接断掉。实际上,入口页正常只能证明入口本身可达,不能证明从入口到目标页的每一跳都可被爬虫走通。
这两种解释会指向相反的动作:前者要修链路,后者要修内容或规范化。若不加区分就批量改链接,很可能对第二种情况毫无作用。
判断属于哪一种,关键是看“请求是否真的到达了目标层”。可用的证据包括:
<a href>,那么未触发交互的爬取就取不到该链接。robots.txt 与页面级规则。抓取限制会阻止请求,但它不等于可靠的索引移除:被允许抓取的页面仍可能不被收录,被限制抓取的页面也可能因外部链接而被索引。这些证据要组合看。单看“某页没收录”无法定位断点,单看“日志里没有请求”也不能立刻断定是链接问题,还要排除抓取预算分配、访问频率限制等合理解释。
假设某站点结构为“首页 → 分类页 → 详情页”。首页和分类页收录正常,详情页大量缺失。可以这样验证:
这个例子中的数字和层级仅为说明比较方法,不代表任何真实站点的表现。
如果证据指向链路断裂,实际动作是让深层链接在不依赖交互的静态 HTML 中可被抓取,并确保中间跳转返回正常状态。执行后应重新观察目标层是否出现请求记录:出现请求,说明链路已通,问题转入索引选择阶段;仍无请求,则断点可能在更靠前的层级,需要继续向上排查。
如果证据指向“已抓取未索引”,动作应转向内容与规范化,而不是继续加链接。此时可检查页面正文是否在无脚本条件下可见、是否存在多个 URL 指向同一内容、以及站点地图是否只提交了规范地址。需要说明的是,站点地图不保证收录,它只是发现渠道之一;提交后仍要以实际抓取和索引状态为准。
无论走哪条路径,都要注意适用边界:上述方法适合“个别样本成立、规模化后出现例外”的场景,不能直接照搬到整站改版或全量迁移。不同搜索引擎对脚本渲染和规则的支持情况须分别核查,不能用一个引擎的表现推断另一个。定位断点的价值,在于让下一步动作有明确指向,而不是一次性解决所有收录问题。