我有一个网站,通过延迟的 JavaScript 小部件将内容拉到页面中,以使其非阻塞并确保页脚中的依赖脚本在小部件之前加载:
<script defer src="//my-server.com/my-widget.js"></script>
该小部件还将Google 结构化数据(JSON-LD) 的标记注入页面,但我在 Google 搜索结果页面中没有看到这些结果。当我使用页面的 URL 检查丰富的测试结果工具时,我可以看到 JSON-LD 标记未填充到呈现的页面标记中。
谷歌自己的文档说:
当 JSON-LD 数据动态注入页面内容时,Google 可以读取它,例如通过 JavaScript 代码或内容管理系统中的嵌入式小部件。
但是,它没有指定这是否仍然适用于具有defer
或async
属性的脚本。我无法让它工作,但我需要小部件异步执行,否则我会在 PageSpeed Insights 中因阻止脚本而受到惩罚。有没有人找到解决方案?