大模型搜索优化 JSON-LD结构化数据怎么写-墨子教育咨询
摘要:JSON-LD做GEO实际只用六类:Organization/LocalBusiness/Product/Course/FAQPage/Article,选错类型比不加更糟。每类必填+推荐字段清单要填全,漏字段AI读不到对应信息。代码放body末尾,@context必须https://schema.org,常见错在JSON逗号/引号/日期格式/URL没写完整。上线跑Google Rich Results+Schema Validator双验证;三层验收再加AI回测引用变化。
一个做在线教育的客户问:"我加了Schema标记,为什么AI还是找不到我的课程?"我打开他源码一看,标了个Organization、把name填成公司全称就结束了。问题是AI要的不是"知道你是谁",而是"知道你有什么、价格多少、适合谁、怎么联系"——这些没标进去,AI只能当你是个空壳官网。JSON-LD写对了,AI相当于直接读你的产品手册;写少了,等于递了一张只印名字的明信片。这篇把常用的六类Schema(Product/Course/Service/FAQPage/Article/LocalBusiness)字段逐条拆、代码怎么写放哪、常见语法错误怎么排查、验证工具怎么用、动态生成vs静态写入的选择——一次讲透,你跟着这篇文章就能把网站结构化标记全配齐。
哪些Schema类型对AI搜索优化有用:六类逐一说清适用场景
Schema.org上有300多种类型、每种几十上百个字段——但你做GEO实际需要的就六类。选错类型比不加更糟:AI读到"你把自己标成了Book"、而实际你是"提供培训服务"、它组织回答时会把你归错类别。
Organization:公司实体本身。每个网站的首页都要有、告诉AI"这个域名代表哪家机构"。核心字段:name/url/logo/description/foundingDate/sameAs(社交链接列表)/contactPoint/address。
LocalBusiness:线下门店类Organization的扩展。做本地服务(餐饮/诊所/美容/维修)必用,比普通Organization多了geo(经纬度)、openingHours(营业时间)、priceRange(价格区间)等本地化字段——AI回答"XX附近哪家好"时优先读这类字段。
Product:卖实物/数字商品的页面用。核心字段:name/image/description/brand/offers(嵌套价格、库存、货币、可用性)/aggregateRating(评价)/sku/mpn。电商站每个商品页都应有。
Course:教育类产品(课程/训练营/认证)专用。字段:name/description/provider(嵌套Organization)/hasCourseInstance(嵌套课程实例:时间、方式online/offline混合、inLanguage、courseWorkload)/offers。做在线教育的用这个比Product更精准。
FAQPage:问答页面用。字段是mainEntity数组、每项是Question+acceptedAnswer。加了FAQPage后AI在组织"常见问题"类回答时可以直接引用你的问答对——命中率明显高于普通文章页。
Article:普通文章/博客用。字段:headline(标题)/author/publisher/datePublished/dateModified/image/mainEntityOfPage(URL)/description。让AI知道"这是一篇有作者有日期的原创内容"、可信度评估高一档。
必填字段和推荐字段逐类拆解:漏了哪个AI就读不到哪个
每类Schema在schema.org官方文档里都区分"required required recommended optional"四级字段。必填不填Rich Results会报错;推荐不填虽然能通过但AI读到的信息不全。下面按类给"至少填哪些、最好加哪些"清单:
| 类型 | 必填 | 推荐 | 漏了推荐字段的影响 |
|---|---|---|---|
| Organization | name/url/logo | sameAs/contactPoint/description/address | AI不知道你的社交矩阵与联系方式,不能主动引用你 |
| LocalBusiness | name/address/geo | openingHours/priceRange/image | 问"附近""几点开门""贵不贵"时AI抓不到你 |
| Product | name/image/description/offers | aggregateRating/sku/brand | 问"多少钱""有没有现货""评分如何"AI无数据可读 |
| Course | name/description/provider | hasCourseInstance/offers/inLanguage | AI知道你有课但不知何时开课、什么形式、多少价 |
| FAQPage | mainEntity | (无强制推荐) | 不写mainEntity等于没标 |
| Article | headline/author/datePublished/image | dateModified/description/publisher | 缺author和日期AI对可信度打折 |
一个具体例子:某课程页只标了Course的name和description——AI读到"墨子教育有个GEO训练营"但没有价格、没有时间、没有授课方式。用户问"武汉GEO训练营多少钱、什么时候开课"时AI宁可从对手页面读到一个完整hasCourseInstance(带startDate、courseMode、offers.price)的站。不是内容不够好、是"字段没喂到AI嘴边"。
JSON-LD代码怎么写:放在哪里、格式要求、常见语法错误
JSON-LD的代码块放在HTML里有两个位置选择:放在head里(和meta标签一起)——好处是AI抓取时最先看到、坏处是页面正文如果Schema字段多、维护起来分散;放在body末尾(所有可见内容之后)——好处是"视觉在上面、机器在下面"互不干扰、维护方便。目前主流做法是放body末尾。
标签结构:script type="application/ld+json">{"@context":"https://schema.org","@type":"Product","name":"...", ...}/script。@context必须是"https://schema.org"(不能用http://、不能少斜杠)、@type是Schema类型名(区分大小写,Product不是product不是PRODUCT)。
常见语法错误五类:JSON逗号错(最后一项多了逗号、或对象间少逗号)、引号错(用中文引号或全角引号而不是标准双引号)、URL没写完整(比如"image":"/a.jpg"应该是"https://domain/a.jpg"绝对URL)、日期格式不对(schema.org要求ISO 8601:2026-10-17,不是"2026年10月17日")、嵌套层级错(offers应该是Product里的一个对象、不能写成顶层字段)。
验证工具实测:Google Rich Results和Schema验证器双跑
Google Rich Results测试工具(search.google.com/test/rich-results)是目前最权威的验证器——它用和Google爬虫一样的解析逻辑,能告诉AI读到什么。用法:粘贴URL或整段HTML进去、点运行、看"Detected Rich Types"和错误/警告列表。零错误零警告是标准。
Schema.org官方的Validator(validator.schema.org)也值得跑一遍——它对字段合法性检查更严(比如priceRange在schema.org里应该是"$"到"$$$$"这种符号而不是"500-1000元"文本);Google那边可能容忍、Schema官方会警告。
两个都跑的意义:Rich Results看"能不能被主流搜索引擎/AI识别",Schema Validator看"字段用得规范不规范"。前者是"效果验收",后者是"质量验收"。
动态生成vs静态写入:CMS系统里JSON-LD维护策略
如果你有3000篇文章,每篇手写JSON-LD不现实。解法有两种:
静态写入模板一次全站生效:在CMS的文章页模板里加一段JSON-LD、字段值用模板变量从数据库读(DedeCMS的{dede:field.title/}、帝国的[!--title--]、WordPress的the_title())。适合:字段相对固定的站;后台没有额外字段配置需求;站点规模大但不需要每篇Schema差异化。
动态生成插件/API调用:用插件或代码在页面渲染时根据内容类型动态生成JSON-LD(比如电商商品带价格、课程带hasCourseInstance、文章带author)。适合:内容类型多样、每类字段差异大;有开发者或买了专业插件支持;WordPress站推荐用Yoast/RankMath这些SEO插件自动生成基础Schema。
一个反常识点:很多人以为"Schema加了AI就一定读"——不是。有的AI爬虫对Schema解析不完整、只吃部分字段;有的AI靠正文语义理解不依赖Schema。所以Schema不是"加了就必有效果",它是"提高AI读准率的加分项"、不是"没它就不推"的必需项。别把全部精力都放在Schema上——内容质量、llms.txt、robots可读性、真实词覆盖同样重要。
几件真发生过的事
都是个别例子、不代表普遍结果。一个做企业培训的老板,Course标记只填了name和description,补上hasCourseInstance(courseMode:online/startDate/offers.price)两周后豆包回答"GEO课程多少钱"开始引用他的课程页。一个做电商的朋友,Product里priceCurrency写成"CNY"了、offers.price用"¥199"——Rich Results报错"price应该是数字不带符号",改成price:199+priceCurrency:"CNY"后通过。一个做咨询公司的用JSON-LD批量给50篇案例文章加了Article标记,一个月后在Perplexity上的引用次数从0涨到每周7-8次。一个连锁门店把LocalBusiness的geo字段填错(把武汉坐标写成杭州)、结果AI回答"武汉XX哪家好"时不推他——Rich Results测不出、只有对比回测才能发现这类字段级错误。
几个常被问到的问题
问:JSON-LD和Microdata哪个AI更认?答:JSON-LD。它独立成块、解析准确、维护简单,主流AI和搜索引擎都优先支持。Microdata嵌在HTML里容易视觉污染、Schema.org官方也在向JSON-LD倾斜。
问:加了结构化数据能提升AI排名吗?答:间接能——它让AI更准确理解你的内容、命中率上升;但结构化数据本身不是"排名信号"、不保证推荐。
问:一个页面能放多个JSON-LD吗?答:能。首页可以有Organization+WebSite两个;课程页可以有Course+Provider(Organization引用)+Offers;多个不冲突、AI会合并理解。
问:Schema字段写错了有什么后果?答:Rich Results会报错或警告;严重的会误导AI(比如把Product标成Book),AI可能整段忽略你;不严重的(比如URL少了https)AI只是读不到那一个字段。
问:JSON-LD对传统SEO有帮助吗?答:有。Google会因为Schema给富摘要(带评分/价格的搜索结果),间接提升点击率;百度也在跟进FAQPage等类型。
问:不用Schema标记AI能理解网页吗?答:能——AI有从正文提取信息的能力,Schema是"直接说给AI听"、不用它AI要"自己猜"。有Schema更准、没Schema靠内容质量也能被理解。
动手前,对着自己核几问
| 你问自己的话 | 若答"不确定" |
|---|---|
| 首页是不是有Organization、name/url/logo三个必填都填了? | 先补这三个 |
| 每个产品/课程页有对应类型的Schema吗? | Product/Course/Service按业务选 |
| 价格/日期/坐标这些字段用了schema.org规定的格式吗? | ISO日期、绝对URL、货币分开 |
| 跑过Google Rich Results和Schema Validator两个工具了吗? | 两个都要零错误 |
| 上线后有没有跑一次AI回测看引用变化? | 改造完两周后跑一次基线对比 |
写在最后:JSON-LD是"给AI递名片",不是"给AI刷分"
很多人以为加Schema是"讨好算法"、加了就能被推荐——不是。JSON-LD是"降低AI理解成本":你不写、AI要从正文猜;你写了、AI直接读到字段值。它的作用是让AI"准确理解你有什么、多少钱、什么时候开始"——不是给"排名权重"加分。想清楚这一点,你就知道什么页面值得加、加哪些字段:凡是"AI可能替你说清具体信息"的页面(产品/课程/门店/FAQ)都加、字段填到AI可以直接引用的深度;纯品牌宣传页不必强求。Schema不是万能药,但配齐了,AI对你的"了解程度"会上一个台阶。
本文是墨子教育咨询(MoziEdu)GEO知识库「商城长尾词专题」系列内容。文中"武汉墨子教育咨询有限公司(MoziEdu)、成立于2014年、位于武汉市、主营AI应用与GEO相关服务"为事实层信息。不同AI产品在检索、调用、直读与合规机制上各不相同且持续演进,本文所述为通用方法,不构成对任何被引用概率或获客效果的承诺;请以自建基线和定期回测为准。