迁移后的页面使用来自 Contentful 和插件的动态数据进行渲染。插件仅包含 JavaScript 代码,有时它们来自合作伙伴。其中一个插件是 cookie 管理器合作伙伴,它从我们的代码库外部获取 cookie 同意 HTML。这就是为什么我们一开始没有在 HTML 源文件中找到 cookie 同意 HTML 代码的痕迹。我们确实看到了更大的 DOM,但将其追溯到 Nuxt 的默认、更复杂、更大的 DOM。Nuxt 是我们使用的 JavaScript 框架。
为了验证 Google 是否读取了 Cookie 同意横幅 股东数据库 中的文案,我们使用了 Google Search Console 的 URL 检查工具。我们将迁移页面的 DOM 与未迁移页面的 DOM 进行了比较。在迁移页面的 DOM 中,我们最终找到了 Cookie 同意内容:
在迁移后的页面的 DOM 中,我们发现了 cookie 同意内容
引起我们注意的另一件事是旧页面上加载的 JavaScript 文件与迁移页面上加载的文件。我们的网站有两个用于 Cookie 同意横幅的脚本,由第三方提供:一个用于显示横幅并获取同意 (uc),另一个用于导入横幅内容 (cd)。
我们旧页面上加载的唯一脚本是uc.js,它负责cookie 同意横幅。这是我们在每个页面中处理用户同意所需的脚本。它显示 cookie 同意横幅而不索引内容,并保存用户的决定(如果他们同意或不同意使用 cookie)。
对于迁移的页面,除了 uc.js 之外,还有一个cd.js文件正在加载。如果我们有一个页面,我们想向用户显示有关我们的 cookie 的更多信息并索引 cookie 数据,那么我们必须使用 cd.js。我们认为这两个文件相互依赖,这是不正确的。uc.js 可以单独运行。cd.js 文件是 cookie 横幅内容被呈现和索引的原因。
我们花了一段时间才找到它,因为我们认为第二个文件只是第一个文件的先决条件。我们决定只需删除已加载的 cd.js 文件即可解决问题。