推荐用<script type="application/ld+json">嵌入Person JSON-LD;必填name、url(HTTPS完整)、sameAs或image至少其一;@context须为"https://schema.org";sameAs需公开URL;image须绝对HTTPS且返回200。

直接用 <script type="application/ld+json"> 嵌入 Person 类型的 JSON-LD,是目前唯一推荐、Google 最稳定识别的方式。Microdata 或 RDFa 在 Simplefolio、个人博客等静态页面中极易因 DOM 变动失效,不建议新手碰。
Person 类型必须填哪些字段才被 Google 认可
不是只要写 "@type": "Person" 就算生效。Google 明确要求以下字段至少存在且格式合法:
-
name:字符串,不能为空或仅空格 -
url:必须是完整 HTTPS URL(如"https://me.example.com"),不能是"./"、"index.html"或"http://" -
sameAs或image二者至少其一: –sameAs是数组,每个元素必须是有效的公开社交主页 URL(如 GitHub、LinkedIn); –image若使用,必须是绝对 HTTPS URL,且返回 200 状态码(本地assets/avatar.jpg会失败)
常见错误:JSON-LD 格式合法但语义被忽略
这类问题不会报错,但 Search Console 显示“结构化数据未检测到”或“无效实体”。典型表现:
-
@context写成"http://schema.org"(少一个s)或"https://schema.org/"(多了一个尾部斜杠)——正确是"https://schema.org" -
sameAs数组里混入非公开链接,比如内网地址、localhost、未备案的域名,Google 会静默丢弃整段 -
image字段值是相对路径或 base64 字符串("data:image/png;base64,...")——Google 不解析 base64,也不爬相对路径 - 整个
<script>块被包裹在<div id="schema-container">之类容器里,或动态通过 JS 注入——Googlebot 不保证执行 JS 后能抓取
Simplefolio 或静态个人站怎么安全加 Person 标记
以 src/index.html 为例,把这段代码直接塞进 <head> 最顶部或最底部(别嵌套):
使用 Puppeteer + Chrome 将 HTML 渲染为中文 PDF,自动处理图表等待、Tab 展开、动画、测高、白边消除、防分页,适用于看板、报表、网页和交互图表转 PDF。
立即学习“前端免费学习笔记(深入)”;
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Zhang San",
"url": "https://zhangsan.dev",
"sameAs": [
"https://github.com/zhangsan",
"https://linkedin.com/in/zhangsan"
],
"image": {
"@type": "ImageObject",
"url": "https://zhangsan.dev/assets/avatar.webp",
"width": 400,
"height": 400
}
}
</script>
注意三点:
- 所有字符串键和值必须用双引号,JSON 不认单引号或无引号键名
- 日期字段(如
alumniOf或jobTitle的附属时间)不是 Person 必填项,别硬加;有就严格用 ISO 8601(如"2022-09-01") - 如果页面同时有多个 Person(比如你 + 合作者),不要合并成一个对象,改用 JSON 数组包两个独立
{"@type": "Person", ...}
最易被忽略的是 image URL 的可访问性——本地开发时用 http://localhost:3000 跑服务,image.url 却写成 "./avatar.jpg",验证工具会显示“图片无法获取”,但错误提示藏得很深。上线前务必用 Google URL Inspection Tool 拖入 HTML 文件实测,别信“看起来没报错”。


















