动态页面要确认可见内容,不能只看浏览器里渲染出来的画面,而要看搜索引擎抓取到的 HTML 里到底有什么。核心做法是:对同一个 URL 分别检查原始 HTML、抓取工具返回内容和渲染后 DOM,确认关键内容在哪一层出现。HTTPS 的优势在于抓取链路完整、内容不易被中间节点改写,但它不保证动态内容一定被索引。
“可见内容”至少有三层含义,混在一起判断就会出错。
动态页面常见的情况是:用户可见,抓取可见性差。原因是内容由接口异步加载,初始 HTML 里只有骨架和脚本。此时页面能不能被正确理解,取决于抓取方是否执行 JavaScript、执行到什么程度、以及接口是否允许访问。
按下面顺序做,时间投入不大,但能快速定位问题层。
robots.txt 是否限制了承载内容的接口路径。注意:robots.txt 只控制抓取,不等于可靠的索引移除手段;被禁止抓取的内容仍可能通过链接等形式被索引。如果第 1 步搜不到、第 6 步渲染后也没有,问题在内容交付方式;如果渲染后有但索引中没有,问题更可能在索引选择或页面质量判断,而不是抓取。
HTTPS 的价值是让抓取请求和接口调用在传输层不被中间节点篡改或注入。对动态页面而言,这意味着返回的 HTML 和接口数据更接近服务器真实输出,排查时看到的源码更可信。
但要说清楚边界:HTTPS 不保证页面安全无漏洞,也不保证排名。它不解决 JavaScript 是否被执行、接口是否被允许抓取、内容是否被索引这些问题。把动态内容不可见归因于“没上 HTTPS”通常不成立;上了 HTTPS 也不会自动让异步内容进入索引。
做完上面的检查,用这几个信号判断是否达标:
如果核心内容只存在于用户交互之后,比如点击标签页、滚动加载、提交筛选,那么它大概率不会被当作该 URL 的正文。此时可考虑为可独立访问的状态提供带参数的 URL,或让初始 HTML 包含关键内容。
时间和人手有限,优先处理影响面最大的一类页面:有搜索需求、有转化价值、且核心内容依赖异步加载的详情页或列表页。先抽样 5 到 10 个 URL,按上面的步骤走一遍,记录“初始 HTML 是否含核心内容”和“渲染后是否含核心内容”两个结果。
两类结果里,初始 HTML 缺失但渲染后存在,属于可优化项;两者都缺失,属于必须改交付方式的问题。先改后者,再评估前者。改完后用同样的抽样方法复测,以抓取工具返回的正文为准,而不是以浏览器截图为准。
下一步:选一个动态页面,打开源代码搜索核心文字,再对照抓取工具返回内容,把差异记下来,作为排期依据。