跳到主内容
益阳资阳区实体门店 源码、账号、域名全归你
08:00–22:30 193-3070-9905

结构化数据(JSON-LD)怎么写

搜索引擎和 AI 靠它确认「你是谁、在哪、提供什么」。写对了不费力,写错了会误导。

三类标记,最小可用写法

只保留必要字段,字段越少越不容易写错。

Organization放:首页
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "你的公司名",
  "url": "https://你的域名/",
  "logo": "https://你的域名/images/logo.webp"
}

用途:让抓取方确认站点归属主体。

LocalBusiness放:关于 / 到店页
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "你的店名",
  "address": "完整门牌地址",
  "telephone": "+86手机号",
  "openingHours": "08:00-22:30"
}

用途:确认实体商家存在。地址电话必须和页面正文一致。

FAQPage放:有问答的页面
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "页面上显示的原问题",
    "acceptedAnswer": { "@type": "Answer", "text": "与页面一致的答案" }
  }]
}

用途:问答同步。答案文字必须和页面显示的一字不差,两套说法会互相抵消。

一、先写三类,就够用了

  1. Organization:放在首页,声明站点所属主体、名称、logo、联系方式。
  2. LocalBusiness:有实体地址的商家放在关于或到店页,声明地址、电话、营业时间、地理坐标。
  3. FAQPage:页面上有问答模块时使用,把问答同步成结构化数据。

二、写在哪儿

用 application/ld+json 的 script 标签写在页面的 head 或 body 末尾均可。一个页面可以放多个对象,用数组包裹。不要写在 robots 或通过脚本异步注入——抓取时可能读不到。

三、关键原则:与页面正文一致

结构化数据里的信息必须能在页面正文里找到对应内容。页面正文没写的营业时间,不要在结构化数据里编一个——这属于误导性标记,可能被判定为违规。

四、常见错误

  • 把 Organization 和 LocalBusiness 里的地址、电话写成不同的值。
  • FAQPage 里的答案与页面显示的文字不一致。
  • 地址只写「湖南益阳」,缺少可核验的详细地址与邮编。
  • 在多个页面重复投放同一套 LocalBusiness 且内容冲突。

五、怎么验证

用搜索引擎官方提供的结构化数据测试工具检查,重点看两项:语法是否合法、必填字段是否齐全。校验通过后再上线。

延伸阅读

AI 搜索优化

结构化数据是 GEO 五环节中的「可引用」一环,完整方法见服务页。

看 AI 搜索优化 →

网站为什么搜不到

先分清是没收录、没排名还是词选错了,再决定要不要动结构化数据。

读这篇 →

网站体检工具

自测页面是否声明了结构化数据、标题与描述是否规范。

去检测 →

写结构化数据,这几种错最常见

不是加上就有效,写错同样没用,甚至会被忽略。

  • 标了与实际页面不符的类型(页面是文章却标成产品)
  • 同一页面重复输出多份互相矛盾的 JSON-LD
  • 把没有的信息编进去(如虚构评分、虚构地址)
  • 只写 organization 不写本地信息,本地站点因此少了地域信号
  • 写了但没验证:改完不看结构化数据校验工具的结果
  • 字段用中文键名或自定义键名,机器读不出来
判断标准只有一条:页面上能看到的事实,才能写进结构化数据;看不到的不要编。

帮你把结构化数据写对

留下联系方式,我先看你现在的站(或你的需求),告诉你能改什么、大概多少钱,不推销。

姓名或称呼都行,加微信备注也用它。
手机号只用来回复你这条咨询,不发广告、不转给别人。
选个大致方向,报价更准;不确定就留第一项。
有网址就贴上来,我直接看;不会写就一两句话说明白想干嘛。
也可以直接打电话:193-3070-9905(08:00–22:30 有人接)
作者:周庆华(老周本人)电话:193-3070-9905
电话咨询 加微信 免费体检 · 24h 出结果