谷歌搜索引擎优化指南 谷歌搜索引擎优化指南 谷歌搜索引擎优化指南 谷歌搜索引擎优化指南
  • 首页
  • 谷歌SEO工具
    • 关键词工具
    • 内容SEO工具
    • 链接查询分析工具
    • 排名监控工具
    • 网站SEO分析工具
    • 谷歌浏览器SEO插件
  • WordPress主题
  • WordPress插件
  • 谷歌SEO优化官方文档
  • 排行榜
  • 提交工具
谷歌搜索引擎优化指南 谷歌搜索引擎优化指南
  • 首页
  • 谷歌SEO工具
    • 关键词工具
    • 内容SEO工具
      • AI写作工具
    • 链接查询分析工具
    • 排名监控工具
    • 网站SEO分析工具
    • 谷歌浏览器SEO插件
  • WordPress主题
    • WordPress插件
  • 谷歌SEO优化指南
    • Google搜索要素
    • SEO基础知识
    • Google抓取和编入索引
    • Google排名和搜索结果呈现
      • 排名算法系统
      • 结构化数据
      • 页面体验
    • 监控和调试
    • 针对特定网站的指南
  • 谷歌SEO技术
    • 谷歌SEO入门教程
  • SEO工具使用指南

谷歌SEO优化指南(新版)

  • 谷歌搜索引擎优化(SEO)简介
  • Google搜索要素
    • Google 搜索要素概览
    • Google 搜索技术要求
    • 适用于 Google 网页搜索的垃圾内容政策
  • SEO基础知识
    • 使您的网站显示在 Google 搜索结果中
    • 关于 Google 搜索运作方式的深度指南
    • 创建实用、可靠、以用户为中心的内容
    • 谷歌搜索引擎优化 (SEO) 新手指南
    • 您需要 SEO 吗?什么是 SEO 专家?
    • 维持网站的SEO效果(技术型SEO技巧与策略)
    • Google 搜索使用入门:开发者搜索指南
  • Google抓取和编入索引
    • 抓取和索引编制主题概览
    • Google可编入索引的文件类型
    • GoogleSEO网址结构最佳实践(Google网址结构准则)
    • GoogleSEO链接最佳实践(内链、外部链接)
    • 关于移动网站和优先将移动版网站编入索引的最佳实践
    • 站点地图Sitemap
      • 了解站点地图(什么是站点地图Sitemap)
      • 创建和提交站点地图(Sitemap格式规范)
      • 使用站点地图索引文件管理站点地图(拆分较大的站点地图)
      • 图片站点地图格式和规范
      • Google新闻站点地图格式和规范
      • 视频站点地图和替代方案(视频站点地图示例)
      • 如何结合使用站点地图扩展
    • 抓取工具管理
      • 请求 Google 重新抓取您的网站网址
      • 减慢Googlebot的抓取速度
      • 验证Googlebot和其他Google抓取工具
      • 面向大型网站所有者的抓取预算管理指南
      • HTTP 状态代码以及网络连接错误和 DNS 错误对 Google 搜索有何影响
      • Google抓取工具和抓取器(用户代理)概览
      • Googlebot-什么是Googlebot
      • Google Read Aloud 用户代理
      • APIs-Google 用户代理
      • Feedfetcher
    • Robots.txt
      • Robots.txt简介与指南
      • 如何编写和提交robots.txt文件(robots协议规则写法)
      • 更新robots.txt文件
      • Google如何解读robots.txt规范
    • 网址规范化
      • 什么是网址规范化
      • 如何使用rel=”canonical”及其他方法指定规范网址
      • 解决规范化问题
    • AMP
      • 与 Google 搜索中的 AMP 网页相关的准则
      • 了解AMP在搜索结果中的运作原理
      • 增强在Google搜索结果中显示的AMP内容
      • 验证AMP内容是否可以显示在Google搜索结果中
      • 从 Google 搜索结果中移除 AMP 网页
    • JavaScript
      • 了解JavaScriptSEO基础知识
      • 解决与 Google 搜索相关的 JavaScript 问题
      • 修正延迟加载的网站内容
      • 将动态呈现作为临时解决方法
    • 网页和内容元数据
      • Google搜索的有效页面元数据
      • Google支持的meta标记和属性
      • 漫游器元标记规范(Robots meta标记、data-nosnippet和X-Robots-Tag规范)
      • 使用noindex阻止搜索引擎编入索引
      • 安全搜索功能和您的网站
      • 向Google说明您的出站链接的用意(rel属性)
    • 删除
      • 控制您在Google搜索中分享的内容
      • 从Google搜索结果中移除您网站上托管的网页
      • 从搜索结果中移除您网站上托管的图片
      • 让隐去的信息不显示在 Google 搜索中
    • 网站迁移和变更
      • 重定向和Google搜索
      • 网站更换托管服务提供商或迁移到内容分发网络 (CDN)
      • 在更改网址的情况下迁移网站
      • 有关在Google搜索中进行A/B测试的最佳实践
      • 暂停或停用网站
  • Google排名和搜索结果呈现
    • Google搜索结果呈现 主题概览
    • AI概览和您的网站
    • Google搜索的视觉元素库
    • Google搜索结果中的标题链接(Title)
    • Google搜索结果中的摘要(如何撰写元描述)
    • 图片搜索引擎优化 (SEO) 最佳实践
    • 视频搜索引擎优化 (SEO) 最佳实践
    • 影响您在Google搜索中的署名日期
    • 定义要在搜索结果中显示的网站图标(Favicon)
    • 经过翻译的功能-1 Google搜索中的翻译搜索结果
    • 经过翻译的功能-2 让广告网络能够使用与翻译相关的Google搜索功能
    • 精选摘要和您的网站
    • 使内容出现在Google探索中
    • Google搜索结果中的网站名称
    • 搜索结果中的站点链接
    • 在Google上启用网络故事、创建网络故事的最佳做法及内容政策
    • 实施灵活抽样时需遵循的常规指南
    • 本地功能-1 向Google添加商家详情
    • 本地功能-2 热门地点列表优化
    • 本地功能-3 退出Google Local
    • Google搜索和您网站上的备注(实验性功能)
    • “包裹跟踪”功能尝鲜者计划
    • 排名系统
      • Google搜索排名系统指南
      • Google搜索实用内容系统
      • Google搜索的评价系统
    • 页面体验
      • 了解Google搜索结果中的网页体验
      • 了解核心网页指标和Google搜索结果
      • 避免使用干扰性插页式广告和对话框
      • 在Google搜索中使用 Signed Exchange
    • 结构化数据
      • Google搜索中的结构化数据标记简介及其运作方式
      • 结构化数据常规指南
      • 丰富且互动的搜索结果
      • 使用 JavaScript 生成结构化数据
      • Google搜索支持的结构化数据标记(结构化数据列表)
      • 文章(Article、NewsArticle、BlogPosting)结构化数据
      • 图书操作 (Book) 结构化数据
      • 面包屑导航 (BreadcrumbList) 结构化数据(路径)
      • 轮播界面 (ItemList) 结构化数据
      • 课程信息(Course 和 CourseInstance)结构化数据
      • 课程列表 (Course) 结构化数据
      • 数据集(Dataset、DataCatalog、DataDownload)结构化数据
      • 论坛 (DiscussionForumPosting) 结构化数据
      • 知识问答(Quiz、Question 和 Answer)结构化数据
      • 雇主总体评分 (EmployerAggregateRating) 结构化数据
      • 估算工资 (Occupation) 结构化数据
      • 活动 (Event) 结构化数据
      • 事实核查 (ClaimReview) 结构化数据
      • 常见问题解答FAQ(FAQPage、Question、Answer)结构化数据
      • 居家活动 (VirtualLocation) 结构化数据
      • Google 图片中的图片元数据
      • 职位搜索的招聘信息 (JobPosting) 结构化数据
      • 学习视频(LearningResource、VideoObject、Clip)结构化数据
      • 本地商家 (LocalBusiness) 结构化数据
      • 数学求解器 (MathSolver) 结构化数据
      • 影片轮播界面 (Movie) 结构化数据
      • 单位组织 (Organization) 结构化数据
      • 练习题 (Quiz) 结构化数据
      • 产品/商品(Product、Review、Offer)结构化数据简介-0
      • 产品/商品(Product、Review、Offer)结构化数据-1商品摘要
      • 产品/商品(Product、Offer)结构化数据-2商家信息
      • 产品/商品结构化数据(ProductGroup、Product)-3变体(商品款式/规格)
      • 个人资料页面 (ProfilePage) 结构化数据
      • 问答 (QAPage) 结构化数据
      • 食谱(Recipe、HowTo、ItemList)结构化数据
      • 评价摘要(Review、AggregateRating)结构化数据
      • 站点链接 (WebSite) 结构化数据
      • 软件应用 (SoftwareApplication) 结构化数据
      • 订阅和付费内容结构化数据 (CreativeWork)
      • 民宿 (VacationRental) 结构化数据
      • 车辆详情 (Car) 结构化数据
      • 视频(VideoObject、Clip、BroadcastEvent)结构化数据
      • 可朗读(Article、WebPage)结构化数据(Beta 版)
      • COVID-19 通知 (SpecialAnnouncement) 结构化数据(Beta 版)
  • 监控和调试
    • 调试 Google 搜索流量下降问题
    • 通过Search Console进行监控
      • Search Console使用入门
      • 利用Search Console气泡图改进搜索引擎优化 (SEO) 效果
    • 使用搜索运算符进行调试
      • Google 搜索运算符概览
      • site: 搜索运算符
      • cache: 搜索运算符
      • Google图片src: 搜索运算符
    • 预防和监控滥用行为
      • 预防和监控网站上的滥用行为概览
      • 防止网站和平台存在用户生成的垃圾内容
      • 恶意软件和垃圾软件
      • 防止感染恶意软件
      • 社会工程学(钓鱼式攻击和欺骗性网站)
      • Google安全浏览屡次违规网站政策
  • 针对特定网站的指南
    • 电子商务网站
      • 在Google搜索中推广电子商务网站的最佳做法 概览
      • 电子商务内容可以展示在Google上的什么位置
      • 与 Google 分享商品数据
      • 添加电子商务网站的结构化数据
      • 如何在Google上发布新的电子商务网站
      • 撰写优质评价
      • 设计电子商务网站的网址结构
      • 电子商务网站导航结构
      • 分页和增量加载以及它们对 Google 搜索的影响
    • 国际网站和多语言网站
      • 国际性和多语言网站主题概览
      • 管理多区域网站和多语言网站
      • 将网页的本地化版本告知Google
      • Google如何抓取语言区域自适应网页

Google搜索引擎优化 (SEO) 指南(旧版)

  • 谷歌搜索引擎优化(SEO)简介
  • Google搜索基础知识
    • 1.快速入门:了解 Google 搜索的基础知识
    • 2.在 Google 上占有一席之地
    • 3.搜索的工作方式(面向新手)
    • 4.针对搜索引擎优化您的网站
    • 5.衡量您的网站在 Google 上的效果
  • Google新手SEO
    • 1.Google搜索新手入门指南
    • 2.Google 搜索的工作方式
    • 3.Google搜索引擎优化 (SEO) 新手指南
    • 4.您需要 SEO 吗?
    • 5.在 Google 上建立商家详情
    • 6.谷歌站长工具Search Console 新手指南
  • Google高级SEO
    • 1.Google高级SEO使用入门
    • 2.进阶内容:Google 搜索的运作方式
    • 3.Google 搜索使用入门:开发者指南
    • 4.谷歌站长工具Search Console 高级指南
    • 5.Google优化指南
      • 5.1Google优化指南概览(目录)
      • 5.2Google网站站长指南
      • 5.3Google常规指南
        • 5.3-1保持简单的网址结构
        • 5.3-2向 Google 说明您的出站链接的用意
        • 5.3-3将网站标记为面向儿童的内容
        • 5.3-4浏览器兼容性
        • 5.3-5避免创建重复内容
        • 5.3-6确保链接可供抓取
        • 5.3-7确保 Googlebot 未被阻止
        • 5.3-8借助 Google 搜索进行网站测试的最佳做法
      • 5.4针对特定内容的指南
        • 5.4-1Google图片最佳做法
        • 5.4-2Google视频最佳做法
        • 5.4-3Google有关富媒体文件的最佳做法
        • 5.4-4与 Google 搜索中的 AMP 网页相关的准则
        • 5.4-5AJAX增强型网站
        • 5.4-6关于 AJAX 的常见问题解答
        • 5.4-7Google 搜索提供的 COVID-19 资源和提示
      • 5.5网站页面质量指南
        • 5.5-1自动生成的内容
        • 5.5-2欺骗性重定向
        • 5.5-3链接方案
        • 5.5-4付费链接
        • 5.5-5伪装真实内容
        • 5.5-6隐藏文字和链接
        • 5.5-7门页
        • 5.5-8抄袭内容
        • 5.5-9联属计划
        • 5.5-10不相关的关键字(关键字堆砌)
        • 5.5-11创建会执行恶意行为的网页
        • 5.5-12用户生成的垃圾内容
        • 5.5-13阻止垃圾评论的方法
        • 5.5-14举报网络垃圾、付费链接或恶意软件
    • 6.控制抓取和索引编制
      • 6.01抓取和索引编制主题概览(目录)
      • 6.02编入索引简介
      • 6.03创建网址列表
      • 6.04向 Google 提交网址
      • 6.07从 Google 中移除信息
      • 6.08暂停在线商家
      • 6.09整合重复网址
      • 6.10创建自定义 404 网页
      • 6.11转移、移动或迁移网站
      • 6.13Google 可以识别的特殊标记
      • 6.14漫游器元标记、data-nosnippet 和 X-Robots-Tag 规范
      • 6.15管理抓取速度:请求 Google 重新抓取您的网址和减慢 Googlebot 的抓取速度
      • 6.05管理站点地图
        • 6.5-1了解站点地图
        • 6.5-2创建和提交站点地图
        • 6.5-3拆分较大的站点地图
        • 6.5-4视频Sitemap及其替代方案
        • 6.5-5图片站点地图
        • 6.5-6创建 Google 新闻站点地图
      • 6.06阻止访问您的内容
        • 6.6-1阻止访问您的内容
        • 6.6-2控制与 Google 分享的内容
        • 6.6-3使用”noindex”阻止搜索引擎编入索引
        • 6.6-4.1通过 robots.txt 阻止访问-robots.txt 简介
        • 6.6-4.2创建 robots.txt 文件
        • 6.6-4.3向 Google 提交更新后的 robots.txt
        • 6.6-4.4有关漫游器robots.txt的常见问题解答
        • 6.6-4.5Robots.txt 规范
        • 6.6-5阻止您页面上的图片出现在搜索结果中
      • 6.12管理多区域和多语言网站
        • 6.12-1管理多区域和多语言网站
        • 6.12-2将网页的本地化版本告知 Google
        • 6.12-3Google 如何抓取语言区域自适应网页
        • 6.12-4跨语言搜索结果
      • 6.16Google 抓取工具
        • 6.16-1Google 抓取工具(用户代理)概览
        • 6.16-2谷歌机器人Googlebot
        • 6.16-3Google Read Aloud 用户代理
        • 6.16-4APIs-Google 用户代理
        • 6.16-5Feedfetcher
        • 6.16-6网页上的 Duplex”用户代理
        • 6.16-7验证 Googlebot
      • 6.17管理JavaScript内容
        • 6.17-1了解 JavaScript SEO 基础知识
        • 6.17-2解决与 Google 搜索相关的 JavaScript 问题
        • 6.17-3修正延迟加载的内容
        • 6.17-4实现动态呈现
    • 7.更改搜索结果呈现
      • 7.1搜索结果呈现主题概览
      • 7.2控制搜索结果中的标题链接
      • 7.4为网站启用搜索结果功能
      • 7.3控制搜索结果中的摘要
      • 7.5精选摘要和您的网站
      • 7.6站点链接
      • 7.7向 Google 搜索提供发布日期
      • 7.8定义要在搜索结果中显示的网站图标
View Categories
  • 首页
  • 谷歌SEO优化官方文档
  • 谷歌SEO优化指南(新版)
  • Google排名和搜索结果呈现
  • 结构化数据

产品/商品结构化数据(ProductGroup、Product)-3变体(商品款式/规格)

服装、鞋类、家具、电子设备和行李等许多类型的商品都有不同的款式/规格(例如各种尺寸、颜色、材质或图案)。为了帮助 Google 更好地了解哪些商品是同一父级商品的不同款式/规格,除了 Product 结构化数据之外,请使用 ProductGroup 类以及相关属性 variesBy、hasVariant 和 productGroupID 将此类款式/规格组合在一起。

借助 ProductGroup,您还可以为所有款式/规格指定通用产品属性(例如品牌和评价信息)以及款式/规格确定属性,从而减少信息重复。

如何添加结构化数据 #

结构化数据是一种提供网页相关信息并对网页内容进行分类的标准化格式。如果您不熟悉结构化数据,可以详细了解结构化数据的运作方式。

下面概述了如何构建、测试和发布结构化数据。如需获得向网页添加结构化数据的分步指南,请查看结构化数据 Codelab。

  1. 添加必要属性。根据您使用的格式,了解在网页上的什么位置插入结构化数据。
    使用了 CMS?使用集成到 CMS 中的插件可能更简单。
    使用了 JavaScript?了解如何使用 JavaScript 生成结构化数据。
  2. 遵循指南。
  3. 使用富媒体搜索结果测试验证您的代码,并修复所有严重错误。此外,您还可以考虑修正该工具中可能会标记的任何非严重问题,因为这些这样有助于提升结构化数据的质量(不过,要使内容能够显示为富媒体搜索结果,并非必须这么做)。
  4. 部署一些包含您的结构化数据的网页,然后使用网址检查工具测试 Google 看到的网页样貌。请确保您的网页可供 Google 访问,不会因 robots.txt 文件、noindex 标记或登录要求而被屏蔽。如果网页看起来没有问题,您可以请求 Google 重新抓取您的网址。
    注意:Google 重新抓取您的网页并重新将其编入索引需要一段时间,请耐心等待。网页发布后,Google 可能需要几天时间才会找到和抓取该网页。
  5. 为了让 Google 随时了解日后发生的更改,我们建议您提交站点地图。Search Console Sitemap API 可以帮助您自动执行此操作。

示例 #

一般来说,电子商务网站主要使用两种设计方法设计商品款式/规格。本部分介绍了如何根据您网站的设计方法设置商品款式/规格标记:

  • 单页 – 可在一个页面上选择所有款式/规格,而无需重新加载页面(通常通过查询参数)
  • 多页 – 可以在不同页面上访问同一产品的款式/规格

单页网站 #

此单页网站示例假设网站满足以下条件:

  • 如果未选择款式/规格,以下网址会返回主商品页面:https://www.example.com/coat
  • 系统会通过以下网址返回包含预先选择的特定款式/规格的同一网页:
    • https://www.example.com/coat?size=small&color=green
    • https://www.example.com/coat?size=small&color=lightblue
    • https://www.example.com/coat?size=large&color=lightblue
  • 当用户在网页上选择不同的款式/规格(使用颜色和尺寸下拉菜单)时,网页上的图片、价格和库存状况信息会动态变化,而无需重新加载网页。网页上的标记不会随着用户选择不同的款式/规格而动态变化。

单页示例:款式/规格嵌套在 ProductGroup 下 #

在此示例中,款式/规格使用 hasVariant 属性嵌套在顶级 ProductGroup 实体下:

  • ProductGroup 和三个 Offer 实体(在 Product 属性下)都有不同的网址。或者,也可以在 Product 下提供这些网址。
  • 通用标题和说明在 ProductGroup 级别指定。 款式/规格专用的标题和说明在 Product 级别指定。
  • 其他常见的款式/规格属性(如品牌、图案、材质和受众群体信息)也在 ProductGroup 级别指定。
  • ProductGroup 使用 variesBy 属性指定款式/规格识别属性。
  • ProductGroup 使用 productGroupID 指定父 SKU(无需使用 inProductGroupWithID 在 Product 属性下重复)。

我们推荐这种方法,因为它是商品组及其款式/规格的最紧凑和自然的表示形式。

在富媒体搜索结果测试中尝试一下

<html>
  <head>
    <title>Wool winter coat</title>
    <script type="application/ld+json">
    [
      {
        "@context": "https://schema.org/",
        "@type": "ProductGroup",
        "name": "Wool winter coat",
        "description": "Wool coat, new for the coming winter season",
        "url": "https://www.example.com/coat",
        "brand": {
          "@type": "Brand",
          "name": "Good brand"
        },
        "audience": {
          "@type": "PeopleAudience",
          "suggestedGender": "unisex",
          "suggestedAge": {
            "@type": "QuantitativeValue",
            "minValue": 13,
            "unitCode": "ANN"
          }
        },
        "productGroupID": "44E01",
        "pattern": "striped",
        "material": "wool",
        "variesBy": [
          "https://schema.org/size",
          "https://schema.org/color"
        ],
        "hasVariant": [
          {
            "@type": "Product",
            "sku": "44E01-M11000",
            "gtin14": "98766051104214",
            "image": "https://www.example.com/coat_small_green.jpg",
            "name": "Small green coat",
            "description": "Small wool green coat for the winter season",
            "color": "Green",
            "size": "small",
            "offers": {
              "@type": "Offer",
              "url": "https://www.example.com/coat?size=small&color=green",
              "priceCurrency": "USD",
              "price": 39.99,
              "itemCondition": "https://schema.org/NewCondition",
              "availability": "https://schema.org/InStock",
              "shippingDetails": { "@id": "#shipping_policy" },
              "hasMerchantReturnPolicy": { "@id": "#return_policy" }
            }
          },
          {
            "@type": "Product",
            "sku": "44E01-K11000",
            "gtin14": "98766051104207",
            "image": "https://www.example.com/coat_small_lightblue.jpg",
            "name": "Small light blue coat",
            "description": "Small wool light blue coat for the winter season",
            "color": "light blue",
            "size": "small",
            "offers": {
              "@type": "Offer",
              "url": "https://www.example.com/coat?size=small&color=lightblue",
              "priceCurrency": "USD",
              "price": 39.99,
              "itemCondition": "https://schema.org/NewCondition",
              "availability": "https://schema.org/InStock",
              "shippingDetails": { "@id": "#shipping_policy" },
              "hasMerchantReturnPolicy": { "@id": "#return_policy" }
            }
          },
          {
            "@type": "Product",
            "sku": "44E01-X1100000",
            "gtin14": "98766051104399",
            "image": "https://www.example.com/coat_large_lightblue.jpg",
            "name": "Large light blue coat",
            "description": "Large wool light blue coat for the winter season",
            "color": "light blue",
            "size": "large",
            "offers": {
              "@type": "Offer",
              "url": "https://www.example.com/coat?size=large&color=lightblue",
              "priceCurrency": "USD",
              "price": 49.99,
              "itemCondition": "https://schema.org/NewCondition",
              "availability": "https://schema.org/Backorder",
              "shippingDetails": { "@id": "#shipping_policy" },
              "hasMerchantReturnPolicy": { "@id": "#return_policy" }
            }
          }
        ]
      },
      {
        "@context": "https://schema.org/",
        "@type": "OfferShippingDetails",
        "@id": "#shipping_policy",
        "shippingRate": {
          "@type": "MonetaryAmount",
          "value": 2.99,
          "currency": "USD"
        },
        "shippingDestination": {
          "@type": "DefinedRegion",
          "addressCountry": "US"
        },
        "deliveryTime": {
          "@type": "ShippingDeliveryTime",
          "handlingTime": {
            "@type": "QuantitativeValue",
            "minValue": 0,
            "maxValue": 1,
            "unitCode": "DAY"
          },
          "transitTime": {
            "@type": "QuantitativeValue",
            "minValue": 1,
            "maxValue": 5,
            "unitCode": "DAY"
          }
        }
      },
      {
        "@context": "http://schema.org/",
        "@type": "MerchantReturnPolicy",
        "@id": "#return_policy",
        "applicableCountry": "US",
        "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
        "merchantReturnDays": 60,
        "returnMethod": "https://schema.org/ReturnByMail",
        "returnFees": "https://schema.org/FreeReturn"
      }
    ]
    </script>
  </head>
  <body>
  </body>
</html>

单页示例:款式/规格与 ProductGroup 分离 #

此结构与上一个示例类似,不同之处在于,款式/规格是与 ProductGroup 分开定义的(未嵌套)。对某些内容管理系统 (CMS) 而言,此方法可能更容易生成。

<html>
  <head>
    <title>Wool winter coat</title>
    <script type="application/ld+json">
    [
      {
        "@context": "https://schema.org",
        "@type": "ProductGroup",
        "@id": "#coat_parent",
        "name": "Wool winter coat",
        "description": "Wool coat, new for the coming winter season",
        "url": "https://www.example.com/coat",
        ... // Other ProductGroup-level properties
        "brand": {
          "@type": "Brand",
          "name": "Good brand"
        },
        "productGroupID": "44E01",
        "variesBy": [
          "https://schema.org/size",
          "https://schema.org/color"
        ]
      },
      {
        "@context": "https://schema.org",
        "@type": "Product",
        "isVariantOf": { "@id": "#coat_parent" },
        "name": "Small green coat",
        "description": "Small wool green coat for the winter season",
        ... // Other Product-level properties
        "offers": {
          "@type": "Offer",
          "url": "https://www.example.com/coat?size=small&color=green",
          "price": 39.99
          ... // Other offer-level properties
        }
      },
      {
        "@context": "https://schema.org",
        "@type": "Product",
        "isVariantOf": { "@id": "#coat_parent" },
        "name": "Small dark blue coat",
        "description": "Small wool light blue coat for the winter season",
        ... // Other Product-level properties
        "offers": {
          "@type": "Offer",
          "url": "https://www.example.com/coat?size=small&color=lightblue",
          "price": 39.99
          ... // Other offer-level properties
        }
      },
      {
        "@context": "https://schema.org",
        "@type": "Product",
        "isVariantOf": { "@id": "#coat_parent" },
        "name": "Large dark blue coat",
        "description": "Large wool light blue coat for the winter season",
        ... // Other Product-level properties
        "offers": {
          "@type": "Offer",
          "url": "https://www.example.com/coat?size=large&color=lightblue",
          "price": 49.99
          ... // Other offer-level properties
        }
      }
    ]
    </script>
  </head>
  <body>
  </body>
</html>

多页网站 #

此多页网站标记示例假设网站满足以下条件:

  • 浅蓝色款式/规格可在以下网址找到(分别适用于小码和大码):
    • https://www.example.com/coat/lightblue?size=small
    • https://www.example.com/coat/lightblue?size=large
  • 绿色款式/规格只能在 https://www.example.com/coat/green?size=small(小码)下找到。
  • 这两个页面都允许通过界面中的颜色选择器“跳到”另一个页面(即页面会重新加载)。
  • 该网站将单页示例中的等效标记拆分到两个网页中。

请注意,没有只在一个页面上存在的另一个页面会引用的 ProductGroup 定义。这是因为 ProductGroup 需要引用款式/规格的通用属性,如品牌、材质和年龄段。这也意味着,需要在每个款式/规格网页上重复完整的 ProductGroup 定义。

多页示例:款式/规格嵌套在 ProductGroup 下 #

这相当于第一个单页示例,其中款式/规格 Product 属性使用 hasVariant 属性嵌套在顶级 ProductGroup 下。两个页面上的 ProductGroup 定义是重复的。请注意以下几点:

  • ProductGroup 没有规范网址,因为不存在代表 ProductGroup 的单个网址。
  • 每个网页上的 ProductGroup 都有相应页面上款式/规格的完整定义,以及一个仅具有 url 属性的款式/规格可以关联到另一个网页上的款式/规格,这有助于 Google 找出您的款式/规格。
第 1 页:浅蓝色款式/规格
以下示例在第一页显示了针对浅蓝色款式/规格的结构化数据:

<html>
  <head>
    <title>Wool winter coat, light blue color</title>
    <script type="application/ld+json">
    [
      {
        "@context": "https://schema.org/",
        "@type": "ProductGroup",
        "name": "Wool winter coat",
        "description": "Wool coat, new for the coming winter season",
        ... // Other ProductGroup-level properties
        "brand": {
          "@type": "Brand",
          "name": "Good brand"
        },
        "productGroupID": "44E01",
        "variesBy": [
          "https://schema.org/size",
          "https://schema.org/color"
        ],
        "hasVariant": [
          {
            "@type": "Product",
            "name": "Small light blue coat",
            "description": "Small wool light blue coat for the winter season",
            ... // Other Product-level properties
            "offers": {
              "@type": "Offer",
              "url": "https://www.example.com/coat/lightblue?size=small",
              "price": 39.99
              ... // Other offer-level properties
            }
          },
          {
            "@type": "Product",
            "name": "Large light blue coat",
            "description": "Large wool light blue coat for the winter season",
            ... // Other Product-level properties
            "offers": {
              "@type": "Offer",
              "url": "https://www.example.com/coat/lightblue?size=large",
              "price": 49.99
              ... // Other offer-level properties
            }
          },
          { "url": "https://www.example.com/coat/green?size=small" }
        ]
      }
    ]
    </script>
  </head>
  <body>
  </body>
</html>

第 2 页:绿色款式/规格

以下示例在第二页显示了针对绿色款式/规格的结构化数据:

<html>
<head>
<title>Wool winter coat, green color</title>
<script type="application/ld+json">
[
{
"@context": "https://schema.org/",
"@type": "ProductGroup",
"name": "Wool winter coat",
"description": "Wool coat, new for the coming winter season",
... // Other ProductGroup-level properties
"brand": {
"@type": "Brand",
"name": "Good brand"
},
"productGroupID": "44E01",
"variesBy": [
"https://schema.org/size",
"https://schema.org/color"
],
"hasVariant": [
{
"@type": "Product",
"name": "Small green coat",
"description": "Small wool green coat for the winter season",
... // Other Product-level properties
"offers": {
"@type": "Offer",
"url": "https://www.example.com/coat/green?size=small",
"price": 39.99,
... // Other offer-level properties
}
},
{ "url": "https://www.example.com/coat/lightblue?size=small" },
{ "url": "https://www.example.com/coat/lightblue?size=large" }
]
}
]
</script>
</head>
<body>
</body>
</html>

 

多页示例:款式/规格与 ProductGroup 分离 #

此结构与前面的多页示例类似,不同之处在于,款式/规格是与 ProductGroup 分开定义的(未嵌套)。对某些 CMS 而言,此方法可能更容易生成。

第 1 页:浅蓝色款式/规格

以下示例在第一页显示了针对浅蓝色款式/规格的结构化数据:

<html>
  <head>
    <title>Wool winter coat, lightblue color</title>
    <script type="application/ld+json">
    [
      {
        "@context": "https://schema.org/",
        "@type": "ProductGroup",
        "@id": "#coat_parent",
        "name": "Wool winter coat",
        "description": "Wool coat, new for the coming winter season",
        "brand": {
          "@type": "Brand",
          "name": "Good brand"
        },
        "audience": {
          "@type": "PeopleAudience",
          "suggestedGender": "unisex",
          "suggestedAge": {
            "@type": "QuantitativeValue",
            "minValue": 13,
            "unitCode": "ANN"
          }
        },
        "productGroupID": "44E01",
        "pattern": "striped",
        "material": "wool",
        "variesBy": [
          "https://schema.org/size",
          "https://schema.org/color"
        ]
      },
      {
        "@context": "https://schema.org",
        "@type": "Product",
        "isVariantOf": { "@id": "#coat_parent" },
        "sku": "44E01-K11000",
        "gtin14": "98766051104207",
        "image": "https://www.example.com/coat_lightblue.jpg",
        "name": "Small light blue coat",
        "description": "Small wool light blue coat for the winter season",
        "color": "light blue",
        "size": "small",
        "offers": {
          "@type": "Offer",
          "url": "https://www.example.com/coat/lightblue?size=small",
          "priceCurrency": "USD",
          "price": 39.99,
          "itemCondition": "https://schema.org/NewCondition",
          "availability": "https://schema.org/InStock",
          "shippingDetails": { "@id": "#shipping_policy" },
          "hasMerchantReturnPolicy": { "@id": "#return_policy" }
        }
      },
      {
        "@context": "https://schema.org",
        "@type": "Product",
        "isVariantOf": { "@id": "#coat_parent" },
        "sku": "44E01-X1100000",
        "gtin14": "98766051104399",
        "image": "https://www.example.com/coat_lightblue.jpg",
        "name": "Large light blue coat",
        "description": "Large wool light blue coat for the winter season",
        "color": "light blue",
        "size": "large",
        "offers": {
          "@type": "Offer",
          "url": "https://www.example.com/coat/lightblue?size=large",
          "priceCurrency": "USD",
          "price": 49.99,
          "itemCondition": "https://schema.org/NewCondition",
          "availability": "https://schema.org/Backorder",
          "shippingDetails": { "@id": "#shipping_policy" },
          "hasMerchantReturnPolicy": { "@id": "#return_policy" }
        }
      },
      {
        "@context": "https://schema.org",
        "@type": "Product",
        "isVariantOf": { "@id": "#coat_parent" },
        "url": "https://www.example.com/coat/green?size=small"
      },
      {
        "@context": "https://schema.org/",
        "@type": "OfferShippingDetails",
        "@id": "#shipping_policy",
        "shippingRate": {
          "@type": "MonetaryAmount",
          "value": "2.99",
          "currency": "USD"
        },
        "shippingDestination": {
          "@type": "DefinedRegion",
          "addressCountry": "US"
        },
        "deliveryTime": {
          "@type": "ShippingDeliveryTime",
          "handlingTime": {
            "@type": "QuantitativeValue",
            "minValue": "0",
            "maxValue": "1",
            "unitCode": "DAY"
          },
          "transitTime": {
            "@type": "QuantitativeValue",
            "minValue": "1",
            "maxValue": "5",
            "unitCode": "DAY"
          }
        }
      },
      {
        "@context": "https://schema.org/",
        "@type": "MerchantReturnPolicy",
        "@id": "#return_policy",
        "applicableCountry": "US",
        "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
        "merchantReturnDays": "60",
        "returnMethod": "https://schema.org/ReturnByMail",
        "returnFees": "https://schema.org/FreeReturn"
      }
    ]
    </script>
  </head>
  <body>
  </body>
</html>

第 2 页:绿色款式/规格

以下示例在第二页显示了针对绿色款式/规格的结构化数据:

<html>
<head>
<title>Wool winter coat, green color</title>
<script type="application/ld+json">
[
{
"@context": "https://schema.org/",
"@type": "ProductGroup",
"@id": "#coat_parent",
"name": "Wool winter coat",
"description": "Wool coat, new for the coming winter season",
"brand": {
"@type": "Brand",
"name": "Good brand"
},
"audience": {
"@type": "PeopleAudience",
"suggestedGender": "unisex",
"suggestedAge": {
"@type": "QuantitativeValue",
"minValue": 13,
"unitCode": "ANN"
}
},
"productGroupID": "44E01",
"pattern": "striped",
"material": "wool",
"variesBy": [
"https://schema.org/size",
"https://schema.org/color"
]
},
{
"@context": "https://schema.org",
"@type": "Product",
"@id": "#small_green",
"isVariantOf": { "@id": "#coat_parent" },
"sku": "44E01-M11000",
"gtin14": "98766051104214",
"image": "https://www.example.com/coat_green.jpg",
"name": "Small green coat",
"description": "Small wool green coat for the winter season",
"color": "green",
"size": "small",
"offers": {
"@type": "Offer",
"url": "https://www.example.com/coat/green?size=small",
"priceCurrency": "USD",
"price": 39.99,
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"shippingDetails": { "@id": "#shipping_policy" },
"hasMerchantReturnPolicy": { "@id": "#return_policy" }
}
},
{
"@context": "https://schema.org",
"@type": "Product",
"isVariantOf": { "@id": "#coat_parent" },
"url": "https://www.example.com/coat/lightblue?size=small"
},
{
"@context": "https://schema.org",
"@type": "Product",
"isVariantOf": { "@id": "#coat_parent" },
"url": "https://www.example.com/coat/lightblue?size=large"
},
{
"@context": "https://schema.org/",
"@type": "OfferShippingDetails",
"@id": "#shipping_policy",
"shippingRate": {
"@type": "MonetaryAmount",
"value": "2.99",
"currency": "USD"
},
"shippingDestination": {
"@type": "DefinedRegion",
"addressCountry": "US"
},
"deliveryTime": {
"@type": "ShippingDeliveryTime",
"handlingTime": {
"@type": "QuantitativeValue",
"minValue": 0,
"maxValue": 1,
"unitCode": "DAY"
},
"transitTime": {
"@type": "QuantitativeValue",
"minValue": 1,
"maxValue": 5,
"unitCode": "DAY"
}
}
},
{
"@context": "https://schema.org/",
"@type": "MerchantReturnPolicy",
"@id": "#return_policy",
"applicableCountry": "US",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"merchantReturnDays": 60,
"returnMethod": "https://schema.org/ReturnByMail",
"returnFees": "https://schema.org/FreeReturn"
}
]
</script>
</head>
<body>
</body>
</html>

指南 #

为了让您的商品款式/规格标记能够在 Google 搜索中使用,您必须遵循以下指南:

  • 结构化数据常规指南
  • 搜索要素
  • 技术指南
  • 非付费商品详情指南(适用于商家信息体验)

技术指南 #

  • 每个款式/规格在对应的结构化数据标记中都必须具有唯一 ID(例如,使用 sku 或 gtin 属性)。
  • 每个商品组在对应的结构化数据标记中都必须具有唯一 ID,ID 可通过款式/规格 Product 属性中的 inProductGroupWithID 属性或 ProductGroup 属性中的 productGroupID 属性指定。
  • 除了商品款式/规格属性之外,请务必按照商家信息(或商品摘要)的必需属性列表添加 Product 结构化数据。
  • 对于单页网站,所有款式/规格所属的整体 ProductGroup 只能有一个独特的规范网址。通常,此网址是指向未预选款式/规格的网页的基础网址,例如:https://www.example.com/winter_coat。
    对于多页网站,则不适用,因为不存在代表 ProductGroup 属性的单个规范网址(因为款式/规格会分布在同等重要的网页中)。
  • 对于多页网站,每个网页都必须针对该页面中定义的实体提供完整且独立的标记(这意味着,完全理解网页本身上的标记无需参考页面之外的实体)。
  • 网站必须能够使用独特的网址(使用网址查询参数)直接预选每个款式/规格,例如 https://www.example.com/winter_coat/size=small&color=green。这样,Google 就可以抓取并识别每个款式/规格。预先选择每个款式/规格包括显示合适的图片、价格和库存状况,以及允许用户将款式/规格添加到购物车。

结构化数据类型定义 #

您必须为结构化数据添加必需的属性,才能在 Google 搜索中使用这些数据。您还可添加建议属性,以便添加与商品款式/规格相关的更多信息,进而提供更优质的用户体验。

ProductGroup #

Google 可识别 ProductGroup 的以下属性。如需了解 ProductGroup 的完整定义,请访问 schema.org/ProductGroup。当您使用商品款式/规格信息标记内容时,请使用 ProductGroup 属性的以下属性。

必要属性
name Text

ProductGroup 的名称(例如“羊毛冬季外套”)。请确保每个 Product 商品中的款式/规格名称更加具体(例如,基于款式/规格识别属性的“羊毛冬季外套 – 绿色,小尺码”)。 如需了解详情,请参阅商品文档。

建议属性
aggregateRating AggregateRating

ProductGroup 的嵌套 aggregateRating(代表所有款式/规格),如果适用。请遵循评价摘要指南,并查看 AggregateRating 的必要属性和建议属性列表。

brand Brand

ProductGroup 的品牌信息(所有款式/规格都相同),如果适用。 如需详细了解 brand,请参阅商品文档。

brand.name Brand

ProductGroup 的品牌名称(所有款式/规格都相同)。如果您已在 ProductGroup 级别添加品牌,则无需在 Product 级别再次添加。 如需详细了解 brand,请参阅商品文档。

description Text 或 TextObject

ProductGroup 的说明。例如,“适合寒冷气候的羊毛冬季外套”。确保款式/规格说明更加具体,最好使用可标识款式/规格的字词(例如颜色、尺码、材质)。

除了 ProductGroup 的说明之外,我们还建议在 Product 级别添加每个款式/规格的说明。如需了解详情,请参阅商品文档。
hasVariant Product

嵌套的 Product 属性,它是 ProductGroup 属性的款式/规格之一(如果适用)。ProductGroup 通常具有多个嵌套款式/规格 Product 属性。

或者,款式/规格 Product 属性可以使用 Product 属性上的 isVariantOf 属性回引用其父级 ProductGroup。

productGroupID Text

商品组的标识符(也称为“父级 SKU”)。必须为 ProductGroup 属性提供此标识符,或者,针对 ProductGroup 属性的款式/规格使用 inProductGroupWithID 属性。如果您为 ProductGroup 属性及其款式/规格 Product 属性都提供了标识符,则它们必须匹配。

review Review

ProductGroup 的嵌套 review(如果适用)。请遵循评价摘要指南,并查看评价属性的必要属性和建议属性列表。

url URL

仅适用于单页网站:ProductGroup 属性所在的网址(不含款式/规格选择器),如果适用。请勿将此属性用于多页网站。

variesBy DefinedTerm

ProductGroup 中的款式/规格变化的方面(例如尺码或颜色),如果适用。请参考这些款式/规格标识属性的完整 Schema.org 网址(例如 https://schema.org/color),详细了解这些属性。支持以下属性:

  • https://schema.org/color
  • https://schema.org/size
  • https://schema.org/suggestedAge
  • https://schema.org/suggestedGender
  • https://schema.org/material
  • https://schema.org/pattern

问题排查 #

如果您在实施或调试结构化数据时遇到问题,请查看下面列出的一些实用资源。

  • 如果您使用了内容管理系统 (CMS) 或其他人负责管理您的网站,请向其寻求帮助。请务必向其转发列明问题细节的任何 Search Console 消息。
  • Google 不能保证使用结构化数据的功能一定会显示在搜索结果中。如需查看导致 Google 无法将您的内容显示为富媒体搜索结果的各种常见原因,请参阅结构化数据常规指南。
  • 您的结构化数据可能存在错误。请参阅结构化数据错误列表。
  • 如果您的网页受到结构化数据手动操作的影响,其中的结构化数据将会被忽略(但该网页仍可能会出现在 Google 搜索结果中)。如需修正结构化数据问题,请使用“人工处置措施”报告。
  • 再次查看相关指南,确认您的内容是否未遵循指南。问题可能是因为出现垃圾内容或使用垃圾标记导致的。不过,问题可能不是语法问题,因此富媒体搜索结果测试无法识别这些问题。
  • 针对富媒体搜索结果缺失/富媒体搜索结果总数下降进行问题排查。
  • 请等待一段时间,以便 Google 重新抓取您的网页并重新将其编入索引。请注意,网页发布后,Google 可能需要几天时间才会找到和抓取该网页。有关抓取和索引编制的常见问题,请参阅 Google 搜索抓取和索引编制常见问题解答。
  • 在 Google 搜索中心论坛中发帖提问。
分享这篇文章 :
  • Facebook
  • X
  • LinkedIn
  • Pinterest
更新 2024年6月23日

暂无评论

再想想
暂无评论...
文档目录
  • 如何添加结构化数据
  • 示例
    • 单页网站
      • 单页示例:款式/规格嵌套在 ProductGroup 下
      • 单页示例:款式/规格与 ProductGroup 分离
    • 多页网站
      • 多页示例:款式/规格嵌套在 ProductGroup 下
      • 多页示例:款式/规格与 ProductGroup 分离
  • 指南
    • 技术指南
  • 结构化数据类型定义
    • ProductGroup
  • 问题排查
SEO算法教程

Copyright © 2021 SEO工具导航 粤ICP备15089945号-7 粤公网安备 44098102441079号

  
常用
搜索
工具
社区
生活
    热门推荐: