必须使用type="application/ld+json",因google仅严格识别该精确字符串(大小写、空格、拼写均不容错),且article类型需同时提供headline、datepublished(iso 8601格式)、author(对象,@type为person或organization),缺一即失效。

必须用 type="application/ld+json",其他 type 值 Google 一律不解析——这不是可选项,是硬性准入门槛。
为什么 type="application/ld+json" 不可替换
Google 只识别这个精确字符串,连大小写、空格、拼写错误都不容。它不认 text/json、application/json、application/ld+json; charset=utf-8,甚至 type="application/ld+json "(末尾多一个空格)也会失败。
-
<script>{"@context":"https://schema.org"}</script>:缺type,直接忽略 -
<script type="application/json">{"@context":"https://schema.org"}</script>:type 错,Rich Results Test 显示“无法解析” -
<script type="application/ld+json">{'@context':'https://schema.org'}</script>:单引号破坏 JSON 合法性,报语法错误
Article 类型字段缺失就等于没写
Google 对 Article 类型执行强校验:漏掉 headline、datePublished、author 中任意一个,整段标记静默失效,不会报错也不会生成富摘要。
Google索引API工具。用于提交URL以供Google索引。支持两种模式:“auto-index”(获取sitemap,与缓存对比差异并提交...)
-
datePublished必须是 ISO 8601 格式,如"2026-05-20"或"2026-05-20T10:15:00+08:00";"2026/05/20"、"2026年5月20日"全部无效 -
author不能是字符串"王磊",必须是对象:{"@type": "Person", "name": "王磊"};机构作者则@type改为"Organization" -
image字段值必须是完整 HTTPS URL,"./cover.jpg"、"/img/logo.png"、"data:image/png;base64,..."均被拒
动态渲染页面最容易丢掉的那块 script
React/Vue/Next.js 项目里,用 useEffect、mounted 或 document.createElement('script') 注入 application/ld+json,Googlebot 看不到——它不执行 JS,只解析初始 HTML 流。
- Next.js:必须用
next/head或 App Router 的generateMetadata在服务端注入,确保 script 出现在返回的 HTML 源码中 - Vue SSR(如 Nuxt):用
useHead,别在onMounted里操作 - PHP/Nunjucks 模板:用
json_encode($data, JSON_UNESCAPED_UNICODE)输出,别手拼 JSON 字符串——标题含"或换行会直接导致 JSON 结构断裂
验证时真正该盯住的三个地方
别信编辑器高亮或浏览器控制台是否报错,只信 Google URL Inspection Tool 的实时反馈。但测试前必须确认:
- 广告屏蔽插件已禁用——uBlock Origin、Privacy Badger 默认过滤所有
type="application/ld+json"标签 - 粘贴的是完整 HTML 源码(含
和全部 script),不是只截取 JSON 那一段 - 本地文件用
file://协议打开时,Google 工具无法抓取,必须起本地服务(如npx serve)或部署到 HTTPS 环境
最常被跳过的点:多个实体(比如文章 + 作者 + 网站信息)必须拆成多个独立的 <script type="application/ld+json"></script> 块,不能塞进一个数组里试图“合并”。Google 把每个 script 标签当作一个独立数据单元处理,顺序和嵌套无关。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










