动态页面要确认“可见内容”,关键不是看浏览器里有没有字,而是看搜索引擎抓取和渲染后拿到的最终 HTML 中是否包含这些字。最直接的做法是:用搜索引擎官方的抓取测试工具或“查看渲染后 HTML”能力,对比原始 HTML 与渲染后 HTML,再检查 robots、meta 与内容加载方式。若渲染后 HTML 里没有目标文字,收录统计就不能把它算作已可见内容。
动态页面常被误判,是因为把三种状态混在一起:
收录统计通常关心后两种。只满足第一种,不代表能被统计到。判断时先取原始 HTML,再取渲染后 HTML,逐一比对目标文字是否出现。
可执行的检查顺序如下:
不同搜索引擎对 JavaScript 渲染的支持程度不同,必须分别核查。一个引擎能看到,不等于另一个也能看到。
robots.txt 的抓取限制不等于可靠的索引移除。它可能阻止抓取,却不一定让已收录页面消失;反过来,放开抓取也不保证一定收录。需要同时检查:
noindex 标记;若 JS 或数据接口被 robots.txt 屏蔽,渲染可能失败,渲染后 HTML 自然没有内容。此时应先放开必要资源,再重新测试。
时间和人手有限时,不要先做全站审计。先定一个可交付结果:例如“确认某类动态详情页的目标正文能被抓取测试的渲染后 HTML 取到”。然后倒推:
若渲染后 HTML 仍无目标文字,优先排查接口是否返回内容、是否被屏蔽、是否依赖用户交互。若渲染后有文字但收录统计仍不增加,再检查 canonical、重复内容与站点地图。站点地图不保证收录,它只是发现 URL 的辅助方式。
假设某商品详情页的价格由接口异步写入。抓取测试的原始 HTML 只有空容器,渲染后 HTML 出现“¥199”。这说明价格对支持渲染的引擎可见,但对不执行 JS 的抓取方式不可见。判断结果是:收录统计应基于渲染后 HTML,同时确认接口未被 robots.txt 屏蔽。若渲染后仍为空,则不能把该价格计入可见内容。
下一步:选一个动态页面样本,按“原始 HTML—渲染后 HTML—robots/meta”三项做一次记录,再决定是否批量处理同类模板。