【发布时间】:2019-10-06 21:59:28
【问题描述】:
我有一个网站,通过延迟的 JavaScript 小部件将内容拉入页面,以使其非阻塞并确保页脚中的依赖脚本在小部件之前加载:
<script defer src="//my-server.com/my-widget.js"></script>
该小部件还将Google structured data (JSON-LD) 的标记注入页面,但我在 Google 搜索结果页面中没有看到这些结果。当我使用我的页面 URL 检查Rich Test Results tool 时,我可以看到 JSON-LD 标记未填充到呈现的页面标记中。
当 JSON-LD 数据动态注入页面内容时,Google 可以读取数据,例如通过 JavaScript 代码或内容管理系统中的嵌入式小部件。
但是它没有指定这是否仍然适用于具有defer 或async 属性的脚本。我无法让它工作,但我需要小部件异步执行,否则我会在 PageSpeed Insights 中因阻止脚本而受到惩罚。有人找到解决方案了吗?
【问题讨论】:
标签: javascript asynchronous deferred deferred-execution deferred-loading