用收录检查工具查看动态页面时,不能只看“是否被抓取”或“是否收录”,而要确认搜索引擎实际拿到的HTML里是否包含你希望被看到的可见内容。很多动态页面在浏览器里显示正常,但抓取工具拿到的初始HTML可能是空壳,正文由JavaScript在客户端渲染后才出现。若收录检查工具只展示原始响应,你看到的“无内容”未必等于页面真的没有内容;若它展示的是渲染后结果,也要确认渲染是否完整、是否与用户看到的一致。
浏览器展示的是渲染完成后的DOM,包含JavaScript执行、接口请求、样式和交互后的结果。而收录检查工具可能只取服务器返回的原始HTML,也可能执行部分脚本后再取DOM。两者不是同一份内容。动态页面常见的情况是:原始HTML里只有<div id="app"></div>,标题、正文、价格、评论等都在接口返回后由脚本插入。此时若工具查看的是原始响应,就会显示为空;若工具查看的是渲染结果,才可能看到正文。
因此,判断动态页面可见内容时,第一步不是问“收录了吗”,而是问“我检查的是哪一层内容”。至少要把原始HTML、渲染后DOM、用户实际可见文本三者分开核对。
可以用一个短例子说明。假设某动态页面原始HTML中只有:
<h2></h2><p id="content"></p>
脚本执行后变成:
<h2>产品价格说明</h2><p id="content">基础版按年付费。</p>
如果收录检查工具只显示原始HTML,你会看到空标题和空段落;如果显示渲染后DOM,你会看到完整文字。判断结果是:前者不能证明页面没有可见内容,只能证明初始响应不含该内容;后者若与浏览器一致,才能作为“渲染后可见”的依据。适用条件是:该工具确实执行JavaScript并等待主要接口完成。若工具不执行脚本,就不适合用来确认渲染后内容。
交付动态页面检查结果时,不要只写“已收录”或“未收录”。应明确以下检查项:
这样协作时,前端、SEO和内容编辑能围绕同一份证据判断问题出在服务端返回、脚本渲染还是工具能力,而不是互相认为对方看错了。
robots.txt限制抓取,不等于可靠的索引移除;它可能阻止抓取,但已收录页面未必因此立即消失。站点地图提交也不保证收录,它只是发现URL的线索之一。HTTPS不保证页面安全无漏洞,也不保证排名。对于动态页面,这些都不能回答“可见内容是什么”。要确认可见内容,仍要回到原始HTML与渲染后DOM的对比。
下一步:挑一个你负责的动态页面,用收录检查工具分别导出原始HTML和渲染后DOM,搜索同一段正文文字,把差异写入协作记录,再决定是调整服务端渲染、预渲染还是等待脚本执行。