必须用 json-ld 而非 microdata 声明 organization 和 website,且需在 中靠前唯一出现;首页须用 @graph 包含两个对象并用 @id 关联; 必须存在、唯一、不含语义冲突父元素且含 等可见内容;json-ld 对站内搜索无效,应优先使用 data- 属性增强检索。

直接写 JSON-LD,别碰 Microdata; 必须在
为什么不能用 Microdata 给首页加 Organization
Microdata 要求把 itemscope、itemtype、itemprop 拆到 HTML 标签上,而首页根本没有天然容器承载 logo、sameAs 这类非视觉信息。硬塞会导致:
- 为放 logo 在
<header></header>里加空<div itemscope itemtype="https://schema.org/Organization">,污染语义结构 <li> <code>sameAs列表含 7 个社交链接,就得写 7 个带itemprop="sameAs"的标签,模板一改就断 - CMS 或 SSR 框架(如 Next.js)可能过滤掉
itemprop这类非标准属性,爬虫根本读不到 - 只写
Organization:缺potentialAction,无法启用站内搜索富摘要 - 只写
WebSite:缺logo、sameAs,品牌识别弱,AI 搜索无法关联企业实体 - 每个页面仅允许一个
<main></main>,且不能是<header></header>、<footer></footer>、<nav></nav>、<section></section>的子元素 -
<main></main>内至少要包含一个<h1></h1>、段落或<figure></figure>,不能只包 JS 容器(如<div id="root"></div>) -
<h1></h1>必须出现在<main></main>内、DOM 靠前位置;跳级(<h1></h1>→<h4></h4>)、重复、或用<h2></h2>包按钮文案,都会触发“结构混乱”标记 - 以为加了
Product标记后,站内搜“价格”就能命中offers.price字段 → 错 - 把 Google Rich Results Test 通过等同于“我站内搜索也变聪明了” → 错
- 在 JSON-LD 里塞大量冗余字段(如
sameAs、potentialAction),却没同步更新页面可见内容 → 反而拖慢首屏加载
JSON-LD 不依赖 DOM,同一份 Organization 数据可复用在所有页面,维护成本低一个数量级。
首页必须同时声明 WebSite 和 Organization
Google 明确要求首页用 @graph 数组包两个对象,并通过 @id 建立显式关联。只写一个会触发功能缺失:
关键字段不能漏:@context 必须是 "https://schema.org",WebSite.publisher 必须指向 Organization.@id,url 和 name 必须与页面真实内容一致。
和 的位置不是“建议”,是硬性规则
的位置不是“建议”,是硬性规则
Google 移动优先索引已 100% 启用,爬虫默认把 <main></main> 内容当作首屏主内容提取。没它,<footer></footer> 里的备案号可能被当成关键词;嵌套在 <section></section> 里,整个 <main></main> 会被忽略。
JSON-LD 对站内搜索完全无效
绝大多数站内搜索工具(WordPress 默认搜索、Meilisearch、Elasticsearch)完全忽略 <script type="application/ld+json"></script> 块。它们不解析脚本,也不进 HTML 文本索引流程。
真正能提升站内搜索权重的,是把 schema 字段显式映射为可检索字段,或加 data- 属性:比如 <div class="product-card" data-brand="特斯拉" data-model-year="2024">,比 JSON-LD 更直接有效。</div>











