2

我有一个网站,通过延迟的 JavaScript 小部件将内容拉到页面中,以使其非阻塞并确保页脚中的依赖脚本在小部件之前加载:

<script defer src="//my-server.com/my-widget.js"></script>

该小部件还将Google 结构化数据(JSON-LD) 的标记注入页面,但我在 Google 搜索结果页面中没有看到这些结果。当我使用页面的 URL 检查丰富的测试结果工具时,我可以看到 JSON-LD 标记未填充到呈现的页面标记中。

谷歌自己的文档说:

当 JSON-LD 数据动态注入页面内容时,Google 可以读取它,例如通过 JavaScript 代码或内容管理系统中的嵌入式小部件。

但是,它没有指定这是否仍然适用于具有deferasync属性的脚本。我无法让它工作,但我需要小部件异步执行,否则我会在 PageSpeed Insights 中因阻止脚本而受到惩罚。有没有人找到解决方案?

4

1 回答 1

1

我想,你不能。加载 dom 后,Google 引擎将立即读取架构。如果您关心页面速度并且担心构建 ld+json 模式需要太多时间,您可以考虑使用微数据而不是 JSON-LD。

于 2020-02-24T13:49:02.520 回答