动态页面确认可见内容,核心不是看浏览器里显示了什么,而是确认搜索引擎抓取到的HTML里是否包含这些文字。最直接的方法是用URL检查工具查看“已抓取的HTML”或“原始HTML”,再与页面渲染后的内容对比。如果原始HTML里没有正文,只有加载脚本,那么即使浏览器能看到内容,抓取端也可能看不到。
要查的是:动态页面的正文、标题、关键链接是否出现在服务器返回的初始HTML中。
怎么查:打开浏览器的“查看网页源代码”,或使用命令行curl -s 页面地址,搜索正文中的一段独特文字。
结果说明什么:能搜到,说明内容在初始HTML中可见,抓取风险较低;搜不到,只在渲染后才出现,就需要进一步确认搜索引擎是否执行了JavaScript渲染,以及渲染后的内容是否被用于索引。
要查的是:robots.txt是否禁止了JavaScript、CSS、API接口或图片等渲染依赖。
怎么查:访问/robots.txt,逐条看Disallow规则。如果发现Disallow: /js/、Disallow: /api/这类规则,而页面正文又依赖这些路径加载,就需要重点核查。
结果说明什么:抓取限制不等于可靠的索引移除,但它会阻止搜索引擎获取渲染所需文件。渲染不完整时,动态内容可能无法进入索引。这里要区分“可能原因”和“已经定位的原因”:看到规则只说明存在风险,必须结合渲染测试才能确认是否真的导致内容不可见。
要查的是:搜索引擎抓取到的HTML与用户浏览器最终看到的DOM是否一致。
怎么查:使用搜索引擎提供的URL检查工具,分别查看“原始HTML”和“渲染后HTML”。如果没有工具权限,可以用浏览器开发者工具禁用JavaScript后刷新页面,观察正文是否还在。
结果说明什么:禁用JavaScript后正文消失,说明内容依赖客户端渲染;原始HTML与渲染后HTML正文一致,说明可见性较稳定。若渲染后HTML仍缺少正文,应优先检查接口是否被robots.txt阻止、接口是否返回错误,或内容是否在交互后才加载。
curl或查看源代码,搜索正文独特句子。搜不到就进入下一步。如果原始HTML无正文、robots.txt又禁止了渲染资源,优先调整robots.txt或改为服务端渲染;如果原始HTML无正文但渲染资源未被禁止,重点确认渲染后HTML是否完整;如果渲染后HTML完整,则可见内容基本可被处理,后续再观察索引状态。
下一步:选一个典型动态页面,按上面清单逐项记录“原始HTML是否有正文、robots.txt是否挡资源、渲染后HTML是否完整”,再决定是改robots.txt、改渲染方式,还是继续观察。