动态页面确认可见内容,不能只看浏览器里有没有字,而要看返回的HTML源码中是否包含实际文本,以及该文本是否在禁用JavaScript后仍然存在。对于时间和人手有限的团队,最先处理的是:用网站死链检查工具抓取动态URL,再对返回状态为200但源码无正文的页面单独核查。因为这类页面往往对用户可见,对爬虫和检查工具却像空页,容易被误判为正常或误判为死链。
动态页面的可见性至少分三层:用户浏览器渲染后可见、原始HTML源码中可见、爬虫请求时可见。三者不一致时,死链检查工具的结果就会产生偏差。判断时按下面顺序核对:
只有第二和第三层同时成立,动态页面才算对检查工具稳定可见。若只有第一层成立,工具可能把页面当作空内容,进而影响链接状态判断和后续处理优先级。
下面步骤适用于内容由前端框架渲染、URL带查询参数或依赖接口返回数据的页面。假设你已有一份待检查的URL列表。
这里的关键判断结果是:源码可见且工具可获取,按正常页面处理;源码不可见但渲染后可见,归入“渲染依赖页”,需要单独安排核查;源码不可见且渲染后也不可见,才按内容缺失或死链方向继续排查。
动态页面在死链检查中常见的误判,不是单一原因造成的,需要逐项排除:
这些情况不能一概断定为死链。先区分“可能原因”和“已经定位的原因”:只有通过源码检查、禁用脚本对比或接口响应核对后,才能确定是哪一项。
时间和人手有限时,不要对所有动态URL平均用力。优先处理同时满足以下条件的页面:
这三类页面一旦实际不可见,对用户和抓取的影响最大。反之,低频访问、深层参数页可以放到第二批。验收信号是:处理后的URL在源码中能搜到正文,禁用JavaScript后仍能看到核心内容,工具再次抓取时响应大小恢复正常范围。若仍依赖渲染,则至少要在检查记录中标注“需渲染抓取”,避免下次重复误判。
网站死链检查工具给出的状态,和搜索引擎实际抓取、索引的情况不是同一件事。站点地图不保证收录,HTTPS也不保证页面内容可见或排名。不同搜索引擎对JavaScript渲染的支持程度不同,需要分别核查。若你同时使用网页搜索、平台推荐或付费广告,它们的抓取与展示逻辑也应分开判断,不能拿一个渠道的结果直接推断另一个渠道。
下一步,从你现有的URL列表中筛出状态码200但源码无正文的页面,按上述步骤逐项确认,再决定是修复渲染、补充静态内容,还是调整抓取方式。