确认动态页面可见内容,不能只看浏览器里是否显示文字。验收时要同时检查三件事:服务器返回给爬虫的 HTML 中是否包含目标内容、该内容是否在无 JavaScript 执行时也能出现、以及页面是否被 robots.txt 或 meta 指令阻止。对重庆虚拟主机上的动态站点,最直接的判断方式是抓取原始响应并逐项比对。
动态页面的内容可能出现在三个不同层次,验收前必须约定检查哪一层,否则交接双方会各说各话:
三者不等价。浏览器能看到,不代表原始 HTML 里有;原始 HTML 里有,也不代表一定被收录。验收清单应写明检查的是哪一层,并保留抓取证据。
在重庆虚拟主机上,动态页面通常由 PHP、Node、Python 等程序生成。确认可见内容是否进入 HTML,可以按以下步骤操作:
curl -s https://example.com/page > page.html。把示例域名替换为待验收页面。<script> 发起的 fetch 或 XHR 请求。判断结果:原始 HTML 中能搜到目标文字,说明该内容不依赖脚本即可被抓取;只能在接口 JSON 中找到,说明可见性依赖渲染能力,需要进一步确认抓取端是否执行脚本。适用条件是页面内容由服务端模板直接输出;如果整站是前端框架渲染,原始 HTML 可能只有一个空容器,这时要转向检查预渲染或服务端渲染配置。
robots.txt 只表达抓取意愿,不等于把页面从索引中删除。一个页面即使被 robots.txt 禁止抓取,仍可能因为外部链接等原因出现在搜索结果里。验收动态页面时,应分别检查:
noindex。如果验收目标是“内容能被搜索到”,仅确认 robots.txt 放行并不够,还需要确认页面没有被 noindex 标记,且内容确实出现在可抓取的 HTML 中。若验收目标只是“用户能看到”,则重点放在浏览器渲染结果和接口返回是否正常。
从交付结果倒推,动态页面可见内容验收至少需要以下材料,缺一项就难以复核:
验收时逐项比对:URL 能返回 200,原始 HTML 含目标文字,meta 中无 noindex,robots.txt 未阻止该路径。任何一项不满足,就记录为待修复项,并写明复测方法。
假设待验收页面是重庆虚拟主机上某动态产品页,目标内容是产品名称“山地自行车”。检查流程如下:
这个示例中的产品名是假设,用于说明检查动作。实际验收时替换为真实页面的目标文字即可。适用条件是页面内容由动态程序生成;如果页面是纯静态文件,直接搜索 HTML 源文件即可,不需要检查接口。
下一步:把上述检查项整理成一张验收表,对每个待交付页面逐条打勾,并附上原始响应文件。这样交接双方都能基于同一份证据判断动态页面的可见内容是否达标。