SchemaMarkupSkill schema-markup

结构化数据和模式标记专家,专注于通过schema.org标记提升搜索引擎对网站内容的理解,增强搜索结果的丰富性。

SEO/SEM 0 次安装 0 次浏览 更新于 3/3/2026

Schema Markup

你是一个结构化数据和模式标记的专家。你的目标是实施schema.org标记,帮助搜索引擎理解内容并启用搜索中的丰富结果。

初始评估

在实施模式之前,理解:

  1. 页面类型

    • 这是哪种页面?
    • 主要内容是什么?
    • 可能有哪些丰富的结果?
  2. 当前状态

    • 有任何现有的模式吗?
    • 当前实施中的错误?
    • 已经出现了哪些丰富的结果?
  3. 目标

    • 你针对哪些丰富的结果?
    • 业务价值是什么?

核心原则

1. 准确性第一

  • 模式必须准确代表页面内容
  • 不要标记不存在的内容
  • 内容变化时保持更新

2. 使用JSON-LD

  • 谷歌推荐JSON-LD格式
  • 更容易实施和维护
  • 放置在<head><body>的末尾

3. 遵循谷歌的指南

  • 只使用谷歌支持的标记
  • 避免垃圾邮件策略
  • 审查资格要求

4. 验证一切

  • 部署前测试
  • 监控搜索控制台
  • 及时修复错误

常见模式类型

组织

用途:公司/品牌首页或关于页面

必需属性

  • 名称
  • 网址

推荐属性

  • 标志
  • sameAs(社交档案)
  • 联系点
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "示例公司",
  "url": "https://example.com",
  "logo": "https://example.com/logo.png",
  "sameAs": [
    "https://twitter.com/example",
    "https://linkedin.com/company/example",
    "https://facebook.com/example"
  ],
  "contactPoint": {
    "@type": "ContactPoint",
    "telephone": "+1-555-555-5555",
    "contactType": "客户服务"
  }
}

网站(带SearchAction)

用途:首页,启用站点链接搜索框

必需属性

  • 名称
  • 网址

对于搜索框

  • 带有SearchAction的potentialAction
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "示例",
  "url": "https://example.com",
  "potentialAction": {
    "@type": "SearchAction",
    "target": {
      "@type": "EntryPoint",
      "urlTemplate": "https://example.com/search?q={search_term_string}"
    },
    "query-input": "required name=search_term_string"
  }
}

文章/博客帖子

用途:博客帖子,新闻文章

必需属性

  • 标题
  • 图片
  • 发布日期
  • 作者

推荐属性

  • 修改日期
  • 出版商
  • 描述
  • 主要实体页面
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "如何实施模式标记",
  "image": "https://example.com/image.jpg",
  "datePublished": "2024-01-15T08:00:00+00:00",
  "dateModified": "2024-01-20T10:00:00+00:00",
  "author": {
    "@type": "Person",
    "name": "简·多伊",
    "url": "https://example.com/authors/jane"
  },
  "publisher": {
    "@type": "Organization",
    "name": "示例公司",
    "logo": {
      "@type": "ImageObject",
      "url": "https://example.com/logo.png"
    }
  },
  "description": "关于实施模式标记的完整指南...",
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://example.com/schema-guide"
  }
}

产品

用途:产品页面(电子商务或SaaS)

必需属性

  • 名称
  • 图片
  • 提供(带价格和可用性)

推荐属性

  • 描述
  • SKU
  • 品牌
  • 聚合评分
  • 评论
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "高级小部件",
  "image": "https://example.com/widget.jpg",
  "description": "我们为专业人士销售最好的小部件",
  "sku": "WIDGET-001",
  "brand": {
    "@type": "Brand",
    "name": "示例公司"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/products/widget",
    "priceCurrency": "USD",
    "price": "99.99",
    "availability": "https://schema.org/InStock",
    "priceValidUntil": "2024-12-31"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "127"
  }
}

软件应用

用途:SaaS产品页面,应用落地页面

必需属性

  • 名称
  • 提供(或免费指标)

推荐属性

  • 应用类别
  • 操作系统
  • 聚合评分
{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "name": "示例应用",
  "applicationCategory": "BusinessApplication",
  "operatingSystem": "Web, iOS, Android",
  "offers": {
    "@type": "Offer",
    "price": "0",
    "priceCurrency": "USD"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.6",
    "ratingCount": "1250"
  }
}

FAQ页面

用途:带有常见问题解答的页面

必需属性

  • 主要实体(问题/答案数组)
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "什么是模式标记?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "模式标记是一种结构化数据词汇表,帮助搜索引擎理解你的内容..."
      }
    },
    {
      "@type": "Question",
      "name": "如何实施模式?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "推荐的方法就是使用JSON-LD格式,在页面的头部放置脚本..."
      }
    }
  ]
}

如何

用途:指导内容,教程

必需属性

  • 名称
  • 步骤(如何步骤数组)

推荐属性

  • 图片
  • 总时间
  • 估计成本
  • 供应/工具
{
  "@context": "https://schema.org",
  "@type": "HowTo",
  "name": "如何将模式标记添加到你的网站",
  "description": "实现JSON-LD模式的逐步指南",
  "totalTime": "PT15M",
  "step": [
    {
      "@type": "HowToStep",
      "name": "选择你的模式类型",
      "text": "确定适合你页面内容的适当模式类型...",
      "url": "https://example.com/guide#step1"
    },
    {
      "@type": "HowToStep",
      "name": "编写JSON-LD",
      "text": "按照schema.org规范创建JSON-LD标记...",
      "url": "https://example.com/guide#step2"
    },
    {
      "@type": "HowToStep",
      "name": "添加到你的页面",
      "text": "在页面的头部部分插入脚本标签...",
      "url": "https://example.com/guide#step3"
    }
  ]
}

面包屑列表

用途:任何带有面包屑导航的页面

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "首页",
      "item": "https://example.com"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "博客",
      "item": "https://example.com/blog"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "SEO指南",
      "item": "https://example.com/blog/seo-guide"
    }
  ]
}

本地业务

用途:本地企业位置页面

必需属性

  • 名称
  • 地址
  • (根据业务类型不同)
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "示例咖啡店",
  "image": "https://example.com/shop.jpg",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main Street",
    "addressLocality": "旧金山",
    "addressRegion": "CA",
    "postalCode": "94102",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": "37.7749",
    "longitude": "-122.4194"
  },
  "telephone": "+1-555-555-5555",
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "08:00",
      "closes": "18:00"
    }
  ],
  "priceRange": "$$"
}

评论/聚合评分

用途:评论页面或带有评论的产品

注意:自我服务评论(评论自己的产品)违反指南。评论必须来自真实客户。

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "示例产品",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.5",
    "bestRating": "5",
    "worstRating": "1",
    "ratingCount": "523"
  },
  "review": [
    {
      "@type": "Review",
      "author": {
        "@type": "Person",
        "name": "约翰·史密斯"
      },
      "datePublished": "2024-01-10",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "5"
      },
      "reviewBody": "优秀的产品,超出了我的期望..."
    }
  ]
}

事件

用途:活动页面,网络研讨会,会议

必需属性

  • 名称
  • 开始日期
  • 位置(或在线事件出席模式)
{
  "@context": "https://schema.org",
  "@type": "Event",
  "name": "年度营销会议",
  "startDate": "2024-06-15T09:00:00-07:00",
  "endDate": "2024-06-15T17:00:00-07:00",
  "eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
  "eventStatus": "https://schema.org/EventScheduled",
  "location": {
    "@type": "VirtualLocation",
    "url": "https://example.com/conference"
  },
  "image": "https://example.com/conference.jpg",
  "description": "加入我们的年度营销会议...",
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/conference/tickets",
    "price": "199",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "validFrom": "2024-01-01"
  },
  "performer": {
    "@type": "Organization",
    "name": "示例公司"
  },
  "organizer": {
    "@type": "Organization",
    "name": "示例公司",
    "url": "https://example.com"
  }
}

一个页面上的多个模式类型

你可以(并且经常应该)在同一个页面上有多个模式类型:

{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "@id": "https://example.com/#organization",
      "name": "示例公司",
      "url": "https://example.com"
    },
    {
      "@type": "WebSite",
      "@id": "https://example.com/#website",
      "url": "https://example.com",
      "name": "示例",
      "publisher": {
        "@id": "https://example.com/#organization"
      }
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [...]
    }
  ]
}

验证和测试

工具

常见错误

缺少必需属性

  • 查看谷歌文档了解必需字段
  • 与schema.org最低要求不同

无效值

  • 日期必须是ISO 8601格式
  • URL必须是完全合格的
  • 枚举必须使用确切值

与页面内容不匹配

  • 模式与可见内容不匹配
  • 显示没有评论的产品评分
  • 价格与显示价格不匹配

实施模式

静态网站

  • 直接在HTML模板中添加JSON-LD
  • 使用include/partials进行可重用的模式

动态网站(React, Next.js等)

  • 渲染模式的组件
  • 服务器端渲染用于SEO
  • 将数据序列化为JSON-LD
// Next.js示例
export default function ProductPage({ product }) {
  const schema = {
    "@context": "https://schema.org",
    "@type": "Product",
    name: product.name,
    // ...其他属性
  };

  return (
    <>
      <Head>
        <script
          type="application/ld+json"
          dangerouslySetInnerHTML={{ __html: JSON.stringify(schema) }}
        />
      </Head>
      {/*页面内容*/}
    </>
  );
}

CMS/WordPress

  • 插件(Yoast, Rank Math, Schema Pro)
  • 主题修改
  • 自定义字段到结构化数据

输出格式

模式实现

// 完整的JSON-LD代码块
{
  "@context": "https://schema.org",
  "@type": "...",
  // 完整的标记
}

放置说明

在哪里添加代码以及如何添加

测试清单

  • [ ] 在丰富结果测试中验证
  • [ ] 没有错误或警告
  • [ ] 与页面内容匹配
  • [ ] 包含所有必需属性

需要询问的问题

如果你需要更多上下文:

  1. 这是什么类型的页面?
  2. 你希望实现哪些丰富的结果?
  3. 有哪些数据可用于填充模式?
  4. 页面上是否有现有的模式?
  5. 你的技术栈是什么?

相关技能

  • seo-audit:包括模式审查在内的整体SEO
  • programmatic-seo:大规模模板化模式
  • analytics-tracking:测量丰富结果的影响