入口页面正常、深层页面不收录,最常见的原因不是抓取被封死,而是抓取预算被入口页和近层页面消耗,或深层页面在某一跳之后不再被发现。要定位断点,先不要改配置,而是取一条真实深层链接,从入口出发逐跳核对:它是否出现在可抓取的链接里、返回的状态码是否一致、渲染后是否还有指向下一层的链接。哪一跳断,处理动作就落在哪一跳,而不是全站一起改。
不要从首页开始泛看。从你希望被收录的深层页面中挑一条,记录它的完整路径,例如首页 → 栏目页 → 列表页 → 详情页。然后按顺序核对四件事:每一跳的页面是否返回 200、该页面 HTML 里是否存在指向下一跳的 <a href>、该链接是否可被抓取、渲染后链接是否仍然存在。
这一步的产出不是结论,而是一条带断点标记的路径表。只有路径表成立,后面的判断才有依据。若某一跳的链接只存在于 JavaScript 渲染之后,而渲染资源被拦截,那么入口页正常并不能说明深层可被发现。
深层链路失效通常落在三个位置,表现不同,处理动作也不同。
三者混在一起时,最容易误判。比如抓取量下降,既可能是发现断导致新 URL 不再进入队列,也可能是抓取断导致请求被拒,还可能是站点整体抓取预算被入口页占用。单看抓取量归零,不能证明是某一条规则处理正确,需要回到路径表逐跳核对。
对每一跳分别记录:HTTP 状态码、响应中是否含目标链接、渲染后是否仍含目标链接、是否被 robots.txt 禁止。四项中任意一项与预期不符,就标记为候选断点。
假设一条路径:首页 200 且含栏目链接,栏目页 200 且含列表链接,列表页返回 200 但 HTML 中不含详情链接,详情链接只在客户端渲染后出现,而渲染所需的脚本请求被规则拦截。此时入口页和栏目页都正常,断点落在列表页到详情页之间,属于发现断叠加抓取断。处理动作应先恢复脚本可抓取,再确认渲染后链接稳定输出,然后重新观察该详情 URL 是否进入抓取队列。这个例子是假设的,用于说明判断顺序,不代表任何具体站点结果。
需要提醒的是,robots.txt 的抓取限制不等于可靠的索引移除,它只约束抓取行为;站点地图也不保证收录,它只是发现线索之一。把深层页面放进站点地图,不能替代链路本身可被抓取。
定位到断点后,处理动作应当收敛到该跳,而不是全站铺开。
每次只改一跳,改完后用同一条路径复核:目标 URL 是否出现抓取记录、状态码是否稳定、渲染后链接是否仍在。若复核仍无变化,再回到路径表检查是否还有第二个断点,而不是继续加配置。HTTPS 不保证安全无漏洞或排名,它也不解决链路发现和索引判断问题。
不同搜索引擎对渲染、站点地图和索引状态的支持情况须分别核查,同一套判断不能直接套用到所有引擎。把一条深层路径走通,比同时调整全站参数更容易看出哪一步真正影响了下一步。