结论先给:当百度收录入口页面本身能访问、能返回正常状态码,但更深一层的链接长期不出现,优先怀疑的不是入口,而是入口到深层页之间那段“可发现链路”断了。最典型的断点是分页、筛选或列表页只靠前端交互展开,爬虫拿不到指向深层的稳定链接。反过来说,如果深层页本身返回错误、被 robots 拦截或需要登录,那这条结论就不成立,问题在深层页自身而非链路。
入口页面正常,只能说明这一个 URL 可被抓取。它能否把权重和抓取带到深层,取决于入口到深层之间是否存在爬虫可解析的链接路径。常见失效形态有三种:
<a href> 指向详情页。这三种情况的共同点是:入口正常,但深层在爬虫视角里几乎不存在。此时即使入口被频繁抓取,抓取也不会自然流向深层。
没有日志、没有抓取诊断权限时,仍可做一件事:用禁用 JavaScript 的方式查看入口页的原始响应。具体动作是抓取入口页 HTML 源码,在源码里搜索指向深层页的链接。
结果如何影响下一步:
这个动作的局限要说清:源码里有链接,不能推出深层一定会被收录;源码里没链接,也不能单独证明收录失败就是它造成的,还要排除深层页被 noindex、被 robots 拦截或返回错误等解释。
假设某列表页第一页正常,第二页及之后的详情页长期不出现。入口页源码里只有第一页条目链接,“下一页”是一个按钮。把翻页改为服务端输出的 <a href="/list?page=2"> 后,重新抓取入口页源码,确认第二页链接是否出现在原始 HTML 中。
这里要注明假设:这是说明比较方法的假想场景,不是真实项目结果。翻页改成链接后,如果第二页链接出现在源码里,说明可发现性这一环被补上;但它不能证明深层页随后就会被收录,因为收录还受内容质量、重复度和抓取预算影响。这个动作的价值在于把“链路不可发现”这一嫌疑排除或坐实,而不是直接换来收录。
如果深层页返回 404、500,或响应头带 noindex,或被 robots.txt 的 Disallow 规则覆盖,那么即使入口到深层的链接完全正常,深层也不会进入索引。此时断点不在链路,而在深层页的响应或指令。判断顺序应是:先看深层页能否以正常状态码返回,再看它是否被指令排除,最后才回到入口链接是否可发现。顺序颠倒会把深层页自身的问题误判成链路问题。
下一步动作:选取一条从入口到深层的完整路径,逐跳记录每个 URL 的状态码、是否出现在上一跳原始 HTML 的链接中、是否被 robots 或 meta 指令排除。把断点定位到具体某一跳,再决定是改链接输出、改响应,还是改指令。
需要提醒的是,robots.txt 的抓取限制不等于可靠的索引移除,站点地图也不保证收录。入口正常、深层不出现,可能同时存在多个原因,链路只是其中最容易被忽略、也最容易在无权限条件下验证的一环。