确认动态页面可见内容,核心是分别检查“服务器返回了什么”“渲染后 DOM 里有什么”“搜索引擎实际看到了什么”。对 www 域名配置而言,还要额外确认 www 与裸域是否指向同一套动态内容,避免一边能访问、一边返回空壳或被重定向到不可见状态。时间人手有限时,先查返回状态与主内容是否在初始 HTML 中,再决定是否投入渲染测试。
动态页面常见的情况是:浏览器里能看到内容,但查看网页源代码时主内容不在,因为它是通过 JavaScript 请求接口后插入的。此时要区分三层:
curl 或“查看网页源代码”获取,不执行脚本。三层里任何一层缺失,都可能让内容对用户可见、对搜索不可见。判断顺序应从源码层开始,因为它成本最低。
假设动态页地址为 https://www.example.com/product?id=123,可按以下步骤操作,示例域名仅作说明:
curl -sL "https://www.example.com/product?id=123" -o page.html。curl -sI "https://www.example.com/product?id=123"。关注是否为 200,以及是否出现 301、302 跳转到裸域或其他路径。page.html 中搜索页面标题、核心正文中的一句话、价格或库存等关键字段。如果搜不到,说明主内容依赖脚本。适用条件:页面无需登录、无需特殊 Cookie 即可访问。判断结果:源码中能找到主内容,说明至少不依赖渲染;找不到则进入渲染层检查。
在浏览器打开该动态页,按 F12 打开开发者工具,切到 Elements 面板,搜索核心正文关键词。如果能找到,说明浏览器执行脚本后内容可见。接着禁用 JavaScript 再刷新,观察页面是否只剩框架或空白。若禁用后主内容消失,则该页面对脚本有强依赖。
此时不要直接断定“搜索引擎一定看不到”。不同搜索引擎对 JavaScript 的处理能力不同,必须分别核查。可用的核对方法包括:
这些结果只能说明特定搜索引擎在特定时间的行为,不能外推到所有平台。
动态页面在 www 与裸域之间切换时,容易出现内容不一致。优先检查以下项目:
<link rel="canonical"> 指向的域名是否与实际访问域名一致。若站点地图中只列了 www 版本,而裸域也能返回相同动态内容,应尽快统一,否则同一内容可能以两个地址出现。站点地图本身不保证收录,它只是发现地址的辅助手段。
按代价从低到高排列:先做源码层检查,通常几分钟即可完成;再做重定向与 canonical 核对;最后才投入渲染测试和搜索平台工具。若源码层已能返回完整主内容,渲染层通常不是首要问题。若源码层为空且接口被 robots.txt 屏蔽,应先解决抓取限制,而不是反复提交站点地图。
下一步:挑一个流量最高或转化最重要的动态页,按上面的四步请求一次 www 与裸域,记录状态码和主内容是否出现在源码中,再决定是否需要深入渲染层。