入口页面的抓取正常,并不能说明整条链路健康。蜘蛛抓取频率在深层链路上降到零,常见原因是中间层返回了错误状态、被robots.txt拦截、或链接本身不再被渲染。定位断点的关键是沿链路逐层对比日志与响应,而不是只盯入口页面的抓取量。
深层链路失效可以分成两类,处理顺序完全不同。
判断依据很简单:用不带Cookie的请求逐层访问,记录每层返回的状态码和最终URL。如果某一层状态码不是200,归入第一类;如果全是200但目标URL从未出现在抓取日志里,归入第二类。
假设一个旧栏目需要部分保留:入口列表页仍有价值,但其中大部分详情页要退出,只留下少数几篇。此时可以按下面的动作推进。
假设入口页每天被抓取若干次,而详情页抓取记录为零,这只能说明蜘蛛没有到达详情页,不能直接证明详情页被惩罚。合理的解释还包括:链接未被渲染、链接被nofollow、中间层超时、或该层被规则拦截。需要逐项排除,而不是从频率归零直接跳到结论。
当旧内容需要部分退出,选择取决于剩余页面是否仍被入口页链接。
条件一:剩余页面仍从入口页可达。此时应保持入口页可抓取,只对确定退出的页面返回410或移除链接。动作是更新入口页的链接列表,然后重新请求入口页并观察日志中是否出现新的详情页抓取记录。如果几天后详情页仍无抓取,再检查渲染和规则层。
条件二:剩余页面不再从入口页可达。此时入口页对深层链路已无引导作用,需要为保留页面建立新的可达路径,例如从仍活跃的栏目页链接过去,或放入站点地图。站点地图不保证收录,但可以作为补充发现渠道。动作是提交新的站点地图后,对比日志中该路径是否出现抓取,以此判断发现渠道是否生效。
有几类现象会让排查走偏。
定位断点的顺序应当是:先确认哪一跳状态异常,再确认剩余页面是否有新的可达路径,最后用日志验证动作是否生效。如果验证后目标页仍无抓取,下一步应检查渲染层和规则层,而不是继续调整入口页。