动态页面确认可见内容,不能只看浏览器里最终显示的文字。要先区分“服务器返回的 HTML 源码”和“浏览器执行脚本后生成的 DOM”,再判断 URL 规范化指向的是哪一个版本。如果规范化目标选错,可见内容可能被归到另一个地址,造成重复或漏判。
动态页面常通过 JavaScript 拉取数据、拼接模板、延迟渲染。人在浏览器中看到的是脚本执行后的结果,而抓取工具拿到的初始 HTML 可能只有空容器或占位符。两者不是同一份内容。因此,确认可见内容时,第一步不是看屏幕,而是看“未执行脚本时返回了什么”。
这并不等于所有搜索引擎都完全不执行脚本,也不等于执行后一定收录。不同搜索引擎对脚本渲染的支持程度不同,需要分别核查,不能用一个平台的表现推断另一个平台。
curl -s https://example.com/page。观察正文、标题、主要链接是否已经存在。如果不存在,说明内容依赖后续脚本。rel="canonical"、站点地图中的地址、内部链接指向的地址是否一致。若规范地址指向一个不带参数的版本,而可见内容只出现在带参数版本,就要判断内容是否真的等价。适用条件:页面正文、价格、库存、评论等关键内容由脚本异步加载。判断结果:如果原始 HTML 已包含核心内容,规范化风险较低;如果核心内容只在渲染后出现,就需要进一步确认目标搜索引擎能否稳定获取该状态。
时间和人手有限时,先处理“同一内容存在多个可访问 URL”的情况,再处理渲染问题。因为前者会让权重和信号分散,后者影响的是内容能否被抓到。两者都重要,但排查顺序影响最先减少的损失。
如果规范 URL 本身需要脚本才能显示正文,而另一个参数 URL 的原始 HTML 已有正文,不能简单认为规范 URL 一定更合适。需要分别核查两个地址在目标搜索引擎中的抓取与渲染表现,再决定是否调整规范目标。
robots.txt 限制抓取不等于移除索引。如果动态参数被 robots.txt 禁止抓取,页面仍可能因为外部链接而被索引,只是抓取工具无法读取内容来判断规范化。此时不能把“禁止抓取”当作可靠的索引移除手段。
站点地图包含 URL 不等于会被收录。站点地图只是提交候选地址,不保证抓取和收录。动态页面即使写进站点地图,如果原始 HTML 没有可见内容,仍可能无法被正确理解。
另一个常见误判是只看 HTTPS。HTTPS 不保证页面安全无漏洞,也不保证排名。它只是确认传输层加密,与动态内容是否可见、规范化是否正确没有直接关系。
选一个流量较高、参数较多的动态页面,分别保存原始 HTML 和渲染后的 DOM,标出正文、标题、链接和规范标签的差异。若差异集中在正文,优先检查渲染依赖;若差异集中在 URL 信号,优先统一规范地址、站点地图和内部链接。确认后再扩大到同类页面,避免一次性改动全部模板。