Google 爬虫能否读取延迟脚本在页面加载后插入的 JSON-LD?
Can the Google crawler read JSON-LD that is inserted after page load by a deferred script?
我有一个站点,其中的内容通过延迟的 JavaScript 小部件拉入页面,以使其成为非阻塞并确保页脚中的依赖脚本在小部件之前加载:
<script defer src="//my-server.com/my-widget.js"></script>
小部件还使用我页面的 URL 为 Google structured data (JSON-LD) into the page, but I'm not seeing these results in the Google search results page. When I check the Rich Test Results tool 注入标记 我可以看到 JSON-LD 标记未填充在呈现的页面标记中。
Google can read JSON-LD data when it is dynamically injected into the page's contents, such as by JavaScript code or embedded widgets in your content management system.
但是它没有说明这是否仍然适用于具有 defer
或 async
属性的脚本。我无法让它工作,但我需要小部件异步执行,否则我会因具有阻止脚本而在 PageSpeed Insights 中受到惩罚。有人找到解决方案了吗?
我想,你不能。 Google 引擎将在 dom 加载后立即读取架构。如果你关心页面速度并且担心构建 ld+json 模式需要太多时间,你可以考虑使用微数据而不是 JSON-LD.
我有一个站点,其中的内容通过延迟的 JavaScript 小部件拉入页面,以使其成为非阻塞并确保页脚中的依赖脚本在小部件之前加载:
<script defer src="//my-server.com/my-widget.js"></script>
小部件还使用我页面的 URL 为 Google structured data (JSON-LD) into the page, but I'm not seeing these results in the Google search results page. When I check the Rich Test Results tool 注入标记 我可以看到 JSON-LD 标记未填充在呈现的页面标记中。
Google can read JSON-LD data when it is dynamically injected into the page's contents, such as by JavaScript code or embedded widgets in your content management system.
但是它没有说明这是否仍然适用于具有 defer
或 async
属性的脚本。我无法让它工作,但我需要小部件异步执行,否则我会因具有阻止脚本而在 PageSpeed Insights 中受到惩罚。有人找到解决方案了吗?
我想,你不能。 Google 引擎将在 dom 加载后立即读取架构。如果你关心页面速度并且担心构建 ld+json 模式需要太多时间,你可以考虑使用微数据而不是 JSON-LD.