如何在 Next.js 应用中实现 JSON-LD
JSON-LD 是一种结构化数据格式,可被搜索引擎和 AI 用来理解页面内容的结构。例如,您可以用它来描述人物、事件、组织、电影、书籍、食谱等多种实体类型。
我们当前推荐在 layout.js
或 page.js
组件中以 <script>
标签的形式渲染结构化数据。
以下代码片段使用了 JSON.stringify
,该方法不会对 XSS 注入中的恶意字符串进行消毒处理。为防止此类漏洞,您可以从 JSON-LD
有效负载中清除 HTML
标签,例如将字符 <
替换为其 Unicode 等效字符 \u003c
。
请查阅您所在组织推荐的消毒潜在危险字符串的方法,或使用社区维护的 JSON.stringify
替代方案,如 serialize-javascript。
您可以使用 Google 的 富媒体搜索结果测试 或通用的 Schema 标记验证工具 来验证和测试您的结构化数据。
您可以使用社区包如 schema-dts
通过 TypeScript 为 JSON-LD 添加类型: