确认特殊后缀域名动态页面的可见内容,不能只看浏览器里“看起来有字”,而要把服务器返回内容、脚本渲染结果和搜索引擎实际抓取到的版本分开核对。对已有页面做改进时,最稳妥的做法是:先固定一个具体URL,分别检查原始HTML、渲染后DOM和搜索摘要,再判断差异来自抓取限制、脚本执行还是索引选择。
同一个动态页面可能同时存在三种状态。用户用浏览器打开时,脚本已经执行,内容完整显示;查看原始HTML时,可能只有空容器和脚本引用;搜索引擎抓取时,可能执行了部分脚本,也可能只拿到初始HTML。特殊后缀域名本身不决定内容是否可见,真正影响判断的是服务器响应、脚本加载路径和抓取端能力。
如果源码里没有正文,但渲染后有正文,说明页面依赖客户端脚本。此时要确认脚本是否允许被抓取端执行,以及执行后内容是否稳定出现。
第一步,直接请求URL,保存原始响应。可以用命令行工具获取HTML,观察正文是否出现在初始响应中。若返回内容只有框架,标记为“依赖渲染”。
第二步,在浏览器开发者工具中查看渲染后的DOM。搜索页面上的关键句子,确认它出现在DOM里,而不是只存在于图片、画布或需要点击后才加载的区域。
第三步,使用搜索平台提供的抓取测试或URL检查功能,查看抓取端拿到的HTML和渲染截图。这里要分别核查不同搜索引擎的支持情况,不能因为一个平台能渲染就推断所有平台都能渲染。
假设一个特殊后缀域名的商品列表页,初始HTML只有<div id="app"></div>,商品名称由脚本请求接口后插入。用户能看到商品,但原始HTML没有商品名。此时应检查脚本文件是否被robots.txt阻止、接口是否要求登录、渲染是否超时。若脚本被阻止,抓取端可能看不到商品;若接口正常且渲染完成,抓取端可能看到商品。判断结果取决于实际抓取测试,而不是页面在普通浏览器中的表现。
以下检查项按从外到内的顺序执行,适合已有页面改进时逐项核对。
robots.txt是否阻止了脚本、接口或页面本身。注意,robots.txt的抓取限制不等于可靠的索引移除;它可能阻止抓取,但已收录URL仍可能出现在结果中。如果抓取测试显示正文存在,但搜索结果摘要没有正文,问题可能不在“可见内容”,而在索引选择或摘要生成。此时应检查页面标题、描述、正文结构和重复内容,而不是继续修改脚本加载方式。
确认问题后,处理方式要针对原因,而不是笼统地“加内容”。若原始HTML没有正文且抓取端不执行脚本,可以考虑服务端渲染或预渲染,让初始响应包含核心正文。若脚本被阻止,调整robots.txt并复查抓取测试。若接口要求登录,改用公开可访问的数据接口或服务端输出。
复查时,固定同一URL、同一抓取端、同一测试时间点,记录三项结果:原始HTML是否有正文、渲染后DOM是否有正文、抓取测试是否返回正文。三项都满足,才能认为该动态页面的可见内容对抓取端稳定可见。若只有用户浏览器可见,就不能把“页面能打开”当成“内容可被抓取”。
下一步,选一个你正在改进的特殊后缀域名动态页面,用抓取测试跑一次,把原始HTML和渲染后DOM并排保存,再决定是改渲染方式、放开抓取限制,还是只调整索引呈现。