谷歌搜索引擎优化指南 谷歌搜索引擎优化指南 谷歌搜索引擎优化指南 谷歌搜索引擎优化指南
  • 首页
  • 谷歌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排名和搜索结果呈现
  • 结构化数据

食谱(Recipe、HowTo、ItemList)结构化数据

使用结构化数据让 Google 了解您的食谱,进而帮助用户找到您的食谱内容。 有了您提供的评价者评分、烹饪和准备时长以及营养成分等信息,Google 可以更好地了解您的食谱并以有趣的方式呈现给用户。食谱可以显示在 Google 搜索结果和 Google 图片中。

食谱(Recipe、HowTo、ItemList)结构化数据
食谱(Recipe、HowTo、ItemList)结构化数据

根据您对内容的标记方式,您的食谱可能符合以下食谱增强功能的使用条件:

食谱增强功能
食谱教程:通过添加 Recipe 结构化数据,让 Google 助理能够在 Google Home 和智能显示屏上引导用户按照您的食谱烹饪美食。有一些额外属性对食谱教程来说是必需的,但对 Google 搜索来说只是建议提供的属性。请务必添加 recipeIngredient 和 recipeInstructions。如果您添加了 video 属性,还必须添加 contentUrl 属性。如需详细了解 Google 助理上的食谱,请了解如何根据网页内容构建 Action。 食谱(Recipe、HowTo、ItemList)结构化数据
食谱托管轮播界面:通过添加 ItemList 结构化数据,使用户能浏览您的食谱库页面。 食谱(Recipe、HowTo、ItemList)结构化数据

如何添加结构化数据 #

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

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

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

示例 #

下面是一些使用 JSON-LD 代码的食谱示例。

注意:在 Google 搜索结果中的实际显示效果可能会有不同。在富媒体搜索结果测试工具中预览结构化数据,即可查看最新布局。

食谱教程 #

下面是一个可在 Google 搜索中显示并在 Google 助理上显示为食谱教程的网页示例。

复制以下代码,在富媒体搜索结果测试中尝试一下。

<html>
  <head>
    <title>Party Coffee Cake</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Recipe",
      "name": "Party Coffee Cake",
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
      ],
      "author": {
        "@type": "Person",
        "name": "Mary Stone"
      },
      "datePublished": "2018-03-10",
      "description": "This coffee cake is awesome and perfect for parties.",
      "prepTime": "PT20M",
      "cookTime": "PT30M",
      "totalTime": "PT50M",
      "keywords": "cake for a party, coffee",
      "recipeYield": "10",
      "recipeCategory": "Dessert",
      "recipeCuisine": "American",
      "nutrition": {
        "@type": "NutritionInformation",
        "calories": "270 calories"
      },
      "recipeIngredient": [
        "2 cups of flour",
        "3/4 cup white sugar",
        "2 teaspoons baking powder",
        "1/2 teaspoon salt",
        "1/2 cup butter",
        "2 eggs",
        "3/4 cup milk"
        ],
      "recipeInstructions": [
        {
          "@type": "HowToStep",
          "name": "Preheat",
          "text": "Preheat the oven to 350 degrees F. Grease and flour a 9x9 inch pan.",
          "url": "https://example.com/party-coffee-cake#step1",
          "image": "https://example.com/photos/party-coffee-cake/step1.jpg"
        },
        {
          "@type": "HowToStep",
          "name": "Mix dry ingredients",
          "text": "In a large bowl, combine flour, sugar, baking powder, and salt.",
          "url": "https://example.com/party-coffee-cake#step2",
          "image": "https://example.com/photos/party-coffee-cake/step2.jpg"
        },
        {
          "@type": "HowToStep",
          "name": "Add wet ingredients",
          "text": "Mix in the butter, eggs, and milk.",
          "url": "https://example.com/party-coffee-cake#step3",
          "image": "https://example.com/photos/party-coffee-cake/step3.jpg"
        },
        {
          "@type": "HowToStep",
          "name": "Spread into pan",
          "text": "Spread into the prepared pan.",
          "url": "https://example.com/party-coffee-cake#step4",
          "image": "https://example.com/photos/party-coffee-cake/step4.jpg"
        },
        {
          "@type": "HowToStep",
          "name": "Bake",
          "text": "Bake for 30 to 35 minutes, or until firm.",
          "url": "https://example.com/party-coffee-cake#step5",
          "image": "https://example.com/photos/party-coffee-cake/step5.jpg"
        },
        {
          "@type": "HowToStep",
          "name": "Enjoy",
          "text": "Allow to cool and enjoy.",
          "url": "https://example.com/party-coffee-cake#step6",
          "image": "https://example.com/photos/party-coffee-cake/step6.jpg"
        }
      ],
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "5",
        "ratingCount": "18"
      },
      "video": {
        "@type": "VideoObject",
        "name": "How to make a Party Coffee Cake",
        "description": "This is how you make a Party Coffee Cake.",
        "thumbnailUrl": [
          "https://example.com/photos/1x1/photo.jpg",
          "https://example.com/photos/4x3/photo.jpg",
          "https://example.com/photos/16x9/photo.jpg"
         ],
        "contentUrl": "https://www.example.com/video123.mp4",
        "embedUrl": "https://www.example.com/videoplayer?video=123",
        "uploadDate": "2018-02-05T08:00:00+08:00",
        "duration": "PT1M33S",
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": { "@type": "WatchAction" },
          "userInteractionCount": 2347
        },
        "expires": "2019-02-05T08:00:00+08:00"
      }
    }
    </script>
  </head>
  <body>
  </body>
</html>

Google 搜索上的食谱 #

下面是一个可在 Google 搜索结果中显示的网页示例。

富媒体搜索结果测试可能会显示与食谱教程相关的警告,因为还有关于 Google 助理的其他建议。
复制以下代码,在富媒体搜索结果测试中尝试一下。
<html>
  <head>
    <title>Non-alcoholic Pina Colada</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Recipe",
      "name": "Non-alcoholic Pina Colada",
      "image": [
      "https://example.com/photos/1x1/photo.jpg",
      "https://example.com/photos/4x3/photo.jpg",
      "https://example.com/photos/16x9/photo.jpg"
      ],
      "author": {
        "@type": "Person",
        "name": "Mary Stone"
      },
      "datePublished": "2018-03-10",
      "description": "This non-alcoholic pina colada is everyone's favorite!",
      "recipeCuisine": "American",
      "prepTime": "PT1M",
      "cookTime": "PT2M",
      "totalTime": "PT3M",
      "keywords": "non-alcoholic",
      "recipeYield": "1 serving",
      "recipeCategory": "Drink",
      "nutrition": {
        "@type": "NutritionInformation",
        "calories": "120 calories"
      },
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "5",
        "ratingCount": "18"
      },
      "recipeIngredient": [
        "2 cups of pineapple juice",
        "5/8 cup cream of coconut",
        "ice"
      ],
      "recipeInstructions": [
        {
          "@type": "HowToStep",
          "text": "Blend 2 cups of pineapple juice and 5/8 cup cream of coconut until smooth."
        },
        {
          "@type": "HowToStep",
          "text": "Fill a glass with ice."
        },
        {
          "@type": "HowToStep",
          "text": "Pour the pineapple juice and coconut mixture over ice."
        }
      ],
      "video": {
        "@type": "VideoObject",
        "name": "How to make a Party Coffee Cake",
        "description": "This is how you make a Party Coffee Cake.",
        "thumbnailUrl": [
          "https://example.com/photos/1x1/photo.jpg",
          "https://example.com/photos/4x3/photo.jpg",
          "https://example.com/photos/16x9/photo.jpg"
         ],
        "contentUrl": "https://www.example.com/video123.mp4",
        "embedUrl": "https://www.example.com/videoplayer?video=123",
        "uploadDate": "2018-02-05T08:00:00+08:00",
        "duration": "PT1M33S",
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": { "@type": "WatchAction" },
          "userInteractionCount": 2347
        },
        "expires": "2019-02-05T08:00:00+08:00"
       }
    }
    </script>
  </head>
  <body>
  </body>
</html>

轮播界面 #

下面是一个包含 itemList 结构化数据的食谱摘要网页(一个包含食谱列表的网页)示例。此内容可以显示在 Google 搜索结果中的网格内。

复制以下代码,在富媒体搜索结果测试中尝试一下。

<html>
  <head>
    <title>Grandma's Best Pie Recipes</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "ItemList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "url": "https://example.com/apple-pie.html"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "url": "https://example.com/blueberry-pie.html"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "url": "https://example.com/cherry-pie.html"
        }]
    }
    </script>
  </head>
  <body>
  </body>
</html>

指南 #

您的食谱必须遵循结构化数据常规指南,才能显示在 Google 搜索结果中。如果您想让您的食谱在 Google 助理上显示为食谱教程,请确保您的内容遵循 Google 助理内容限制政策。

如果您违反了这些政策,您的食谱可能不会显示为富媒体搜索结果,但您的内容仍会显示在 Google 搜索结果中。了解垃圾性质的结构化标记。

以下指南适用于 Recipe 结构化数据。

  • 只有当内容是关于特定菜肴的制作方式时,才应使用 Recipe 结构化数据。例如,“磨砂膏”或“聚会创意”就不是有效的菜肴名称。
  • 要使您的食谱显示在轮播界面或网格中,您必须遵循以下指南:
    • 提供 ItemList 结构化数据,为您的列表汇总食谱。您可以单独提供 ItemList 结构化数据,也可以和 Recipe 结构化数据一起提供。
    • 您的网站必须有一个摘要网页,其中列出集合内的所有食谱。例如,当用户点击 Google 搜索结果中的摘要链接时,他们便会被正确地定向到您网站上的相应网页,其中列出了与搜索内容相关的食谱。

结构化数据类型定义 #

要使您的内容能够作为富媒体搜索结果显示在 Google 搜索结果中,您必须为相应内容添加必需的属性。您还可添加建议的属性,以便添加与您的内容相关的更多信息,进而提供更好的用户体验。

如果您想让您的食谱在 Google 助理上显示为食谱教程,请务必添加 recipeIngredient 和 recipeInstructions。如果您添加了 video 属性,还必须添加 contentUrl 属性。如果您的食谱没有这些属性,则食谱将不符合食谱教程的条件(但仍可能出现在 Google 搜索结果中)。

Recipe #

请使用 schema.org Recipe 类型的以下属性标记食谱内容。如需了解 Recipe 的完整定义,请访问 schema.org/Recipe。 Google 支持的属性如下:

必需的属性
image URL 或 ImageObject

菜肴成品图片。

其他的图片指南:

  • 图片网址必须可抓取且可编入索引。如需检查 Google 能否访问您的网址,请使用网址检查工具。
  • 图片必须代表标记的内容。
  • 图片必须采用受 Google 图片支持的文件格式。
  • 为取得最佳效果,建议您提供具有以下宽高比的多个高分辨率图片(宽度乘以高度至少为 50K 像素):16×9、4×3 和 1×1。

例如:

"image": [
  "https://example.com/photos/1x1/photo.jpg",
  "https://example.com/photos/4x3/photo.jpg",
  "https://example.com/photos/16x9/photo.jpg"
]
name Text

菜肴的名称。

建议属性
aggregateRating AggregateRating

相应对象所获得的平均评价分数的注解。请遵循评价摘要指南,并查看必需和建议的 AggregateRating 属性列表。

如果 Recipe 结构化数据只包含一条评价,那么评价者的名称必须是有效的个人或组织名称。例如,“配料可享 50% 折扣”就不是有效的评价者名称。

author Person 或 Organization

撰写食谱的个人或组织的名称。为了帮助 Google 更好地了解各种功能中的作者,应该遵循作者标记最佳实践。

cookTime Duration

实际烹饪菜肴所需的时间,采用 ISO 8601 格式。

始终与 prepTime 结合使用。

datePublished Date

食谱的发布日期,采用 ISO 8601 格式。

description Text

一段用于描述菜肴的简短摘要。

keywords Text

用来描述您的食谱的其他字词,如季节(“夏季”)、假日(“万圣节”)或其他描述词(“快速”、“简单”、“正宗”)。

其他指南

  • 用英文逗号分隔关键字列表中的多个条目。
  • 请勿使用实际为 recipeCategory 或 recipeCuisine 的标记。
    不建议:

    "keywords": "dessert, American"

    建议:

    "keywords": "winter apple pie, nutmeg crust"
nutrition.calories Energy

使用此食谱制作的每份菜肴所含的卡路里数。如果定义了 nutrition.calories,必须使用份量定义 recipeYield。

prepTime Duration

准备菜肴的食材和工作区所需的时间,采用 ISO 8601 格式。

始终与 cookTime 结合使用。

recipeCategory Text

您的食谱是关于三餐中的哪一餐或哪道菜。例如:“晚餐”、“主菜”或“甜点/点心”。

recipeCuisine Text

与您的食谱相关的地理区域。例如,“法国”、“地中海”或“美国”。

recipeIngredient Text

此属性对食谱教程来说是必需的。

食谱中用到的配料。

例如:

"recipeIngredient": [
  "1 (15 ounce) package double crust ready-to-use pie crust",
  "6 cups thinly sliced, peeled apples (6 medium)",
  "3/4 cup sugar",
  "2 tablespoons all-purpose flour",
  "3/4 teaspoon ground cinnamon",
  "1/4 teaspoon salt",
  "1/8 teaspoon ground nutmeg",
  "1 tablespoon lemon juice"
]

其他指南:

  • 仅添加按食谱烹制菜肴所必需的配料。
  • 不要添加无关紧要的信息,如配料的定义。
recipeInstructions HowToStep、HowToSection 或 Text

此属性对食谱教程来说是必需的。

制作菜肴的步骤。

有几个选项可用于设置 recipeInstructions 的值。我们建议使用 HowToStep。当食谱包含多个部分时,您还可以利用 HowToSection 将 HowToStep 分组。

  • HowToStep:使用 HowToStep 指定食谱的步骤。
    "recipeInstructions": [
      {
        "@type": "HowToStep",
        "name": "Preheat",
        "text": "Heat oven to 425°F.",
        "url": "https://example.com/recipe#step1",
        "image": "https://example.com/photos/recipe/step1.jpg"
      }, {
        "@type": "HowToStep",
        "name": "Prepare crust",
        "text": "Place 1 pie crust in ungreased 9-inch glass pie plate, pressing firmly against side and bottom.",
        "url": "https://example.com/recipe#step2",
        "image": "https://example.com/photos/recipe/step2.jpg"
      }, {
        "@type": "HowToStep",
        "name": "Make filling",
        "text": "In large bowl, gently mix filling ingredients; spoon into crust-lined pie plate.",
        "url": "https://example.com/recipe#step3",
        "image": "https://example.com/photos/recipe/step3.jpg"
      }, {
        "@type": "HowToStep",
        "name": "Cover",
        "text": "Top with second crust. Cut slits or shapes in several places in top crust.",
        "url": "https://example.com/recipe#step4",
        "image": "https://example.com/photos/recipe/step4.jpg"
      }, {
        "@type": "HowToStep",
        "name": "Bake",
        "text": "Bake 40 to 45 minutes. The pie is ready when the apples are tender and the crust is golden brown.",
        "url": "https://example.com/recipe#step5",
        "image": "https://example.com/photos/recipe/step5.jpg"
      }, {
        "@type": "HowToStep",
        "name": "Cool",
        "text": "Cool on cooling rack at least 2 hours before serving.",
        "url": "https://example.com/recipe#step6",
        "image": "https://example.com/photos/recipe/step6.jpg"
      }
    ]
  • HowToSection(仅当食谱包含多个部分时):用于将步骤组合成多个部分。有关示例,请参见 HowToSection。
  • 单个或重复的文本属性:包含一个或多个步骤的文本块。Google 会将所有步骤视为在一个部分中。重复的属性值会连接成一个文本块。然后,Google 会尝试自动将这个文本块拆分为多个步骤。Google 会尝试查找并移除所有部分名称、步骤编号、关键字以及其他所有可能会错误地显示在食谱步骤文本中的内容。为获得最佳效果,我们建议您使用 HowToStep 明确指定步骤。
    "recipeInstructions": [
      "In large bowl, gently mix filling ingredients; spoon into crust-lined pie
    plate. Top with second crust. Cut slits or shapes in several places in top
    crust. Bake 40 to 45 minutes. The pie is ready when the or until apples are
    tender and the crust is golden brown. Cool on cooling rack at least 2 hours
    before serving."
    ]

其他指南

  • 不要添加应在别处使用的元数据。尤其是,应使用 author 属性指定作者,使用 recipeCuisine 属性指定菜系,使用 recipeCategory 属性指定类别,并使用 keywords 属性指定其他关键字。
  • 只能添加与如何按照食谱烹制菜肴相关的文本,不能添加其他文本(如“指导”、“观看视频”或“第 1 步”)。请在结构化数据以外指定这些词组。不建议:
    "recipeInstructions": [{
      "@type": "HowToStep",
      "text": "Step 1. Heat oven to 425°F."
    }]

    建议:

    "recipeInstructions": [{
      "@type": "HowToStep",
      "text": "Heat oven to 425°F."
    }]
recipeYield Text 或 Integer

对于食谱教程,类型必须为 Integer。

食谱的份量。您可以使用纯数字指定此食谱制作出的份量。如果您想使用其他单位(例如食物数量),可以添加其他份量信息。如果您指定了每份菜肴的任何营养信息(例如 nutrition.calories),这就是必需的属性。

示例

"recipeYield": [
  "6",
  "24 cookies"
]
totalTime Duration

准备和烹饪菜肴所需的总时间,采用 ISO 8601 格式。

使用 totalTime,或者将 cookTime 与 prepTime 搭配使用。

video VideoObject一段视频,描述菜肴的烹制步骤。需遵循必需和建议的视频属性的列表。

contentUrl 属性对食谱教程来说是必需的。
  • Video without clips
    {
      "@context": "https://schema.org/",
      "@type": "Recipe",
      "video": [
        {
          "@type": "VideoObject",
          "name": "Delicious PieParty Coffee Cake",
          "description": "How to make a delicious pie - quickly and easily!How to make Party Coffee Cake.",
          "thumbnailUrl": [
            "https://example.com/photos/1x1/photo.jpg",
            "https://example.com/photos/4x3/photo.jpg",
            "https://example.com/photos/16x9/photo.jpg"
          ],
          "contentUrl": "https://www.example.com/videos/123_600x400.mp4",
          "embedUrl": "https://www.example.com/videoplayer?id=123",
          "uploadDate": "2018-02-05T08:00:00+08:00"
        }
      ]
    }
    ]
  • Video with clips:包含与视频的各个片段对应的视频剪辑。食谱的其他部分(例如步骤)可以引用 video.hasPart 中定义的这些剪辑。
    {
      "@context": "https://schema.org/",
      "@type": "Recipe",
      "video": {
        "@type": "VideoObject",
        "name": "Make a pie",
        "description": "How to make a delicious pie - quickly and easily!",
        "thumbnailUrl": "https://example.com/photos/photo.jpg",
        "contentUrl": "https://www.example.com/videos/123_600x400.mp4",
        "embedUrl": "https://www.example.com/videoplayer?id=123",
        "uploadDate": "2018-02-05T08:00:00+08:00",
        "duration": "P1MT10S",
        "hasPart": [{
          "@type": "Clip",
          "@id": "#clip1",
          "name": "Preheat oven",
          "startOffset": 20,
          "endOffset": 29
          "url": "https://www.example.com/example?t=20"
         },
         {
           "@type": "Clip",
           "@id": "#clip2",
           "name": "Arrange pie crust",
           "startOffset": 29,
           "endOffset": 36
           "url": "https://www.example.com/example?t=29"
         },
         {
           "@type": "Clip",
           "@id": "#clip3",
           "name": "Make filling",
           "startOffset": 36,
           "endOffset": 45
           "url": "https://www.example.com/example?t=36"
         },
         {
           "@type": "Clip",
           "@id": "#clip4",
           "name": "Add filling",
           "startOffset": 45,
           "endOffset": 65
           "url": "https://www.example.com/example?t=45"
         },
         {
           "@type": "Clip",
           "@id": "#clip5",
           "name": "Bake",
           "startOffset": 65,
           "endOffset": 80
           "url": "https://www.example.com/example?t=65"
         },
         {
           "@type": "Clip",
           "@id": "#clip6",
           "name": "Let cool",
           "startOffset": 80,
           "endOffset": 90
           "url": "https://www.example.com/example?t=80"
        }]
      }
    }
video.contentUrl URL

contentUrl 属性对食谱教程来说是必需的。

指向实际视频媒体文件的网址,采用一种受支持的编码格式不要链接到视频所在的网页;该网址必须是视频媒体文件本身的网址。

"contentUrl": "https://www.example.com/video/123/file.mp4"

请务必遵循我们的视频最佳做法。

提示:您可以使用 DNS 反向查找确保只有 Googlebot 可以访问您的内容。
video.hasPart Clip

整个视频中所包含的某段视频剪辑。

video.hasPart.endOffset Number

剪辑的结束时间,即从视频开始到剪辑结束之间经过的秒数。

video.hasPart.name Text

剪辑的名称。例如,对于介绍如何排列并将馅饼皮压入馅饼盘的剪辑,其名称可以是“排列馅饼皮”。

video.hasPart.startOffset Number

剪辑的开始时间,即从视频开头到剪辑开始之间经过的秒数。

video.hasPart.url URL

指向剪辑开始的链接。剪辑的开始必须与 video.hasPart.startOffset 中设置的值一致。例如:

"startOffset": 20,
"endOffset": 29,
"url": "https://www.example.com/example?t=20"

HowToSection #

大多数食谱不包含部分。首先将食谱说明拆分成 HowToStep 属性,如果需要额外指定步骤部分,则仅添加 HowToSection。

使用 HowToSection 对一系列步骤(或子部分)进行分组,它们构成了食谱说明的一部分。直接在 recipeInstructions 属性的定义内指定 HowToSection,或指定为另一个 HowToSection 的 itemListElement。

HowToSection 类型用于定义单个食谱的一部分,可包含一个或多个步骤。不得使用 HowToSection 定义同一菜肴的不同食谱,而是要将 HowToSection 用作单个食谱的一部分。如需列举菜肴的多个食谱,请使用多个 Recipe 对象。例如,对于制作苹果派的多种方法,请将它们列为多个 Recipe 对象,而不是 HowToSection 对象。

如需了解 HowToSection 的完整定义,请访问 schema.org/HowToSection。

必需的属性
itemListElement HowToStep部分和/或子部分的详细步骤列表。例如,在某道披萨食谱中,可能有一个部分会介绍披萨皮制作步骤,有一个部分会介绍馅料准备步骤,还有一个部分会介绍拌匀和烘焙步骤。如果某个食谱包含多个部分,但未使用 HowToSections 定义,Google 助理可能会误将某个部分名称说成是另一个步骤(例如,“制作披萨皮”步骤后跟“将面粉和酵母拌匀”步骤)。

示例:

{
  "@type": "HowToSection",
  "name": "Assemble the pie",
  "itemListElement": [
    {
      "@type": "HowToStep",
      "text": "In large bowl, gently mix filling ingredients; spoon into crust-lined pie plate."
    }, {
      "@type": "HowToStep",
      "text": "Top with second crust. Cut slits or shapes in several places in top crust."
    }
  ]
}
name Text相应部分的名称。

HowToStep #

使用 HowToStep 对一个或多个句子进行分组,它们介绍了如何完成食谱的某个部分。使用句子定义 text 属性,或者使用 HowToDirection 或 HowToTip 为每个句子定义 itemListElement。

使用 HowToStep 类型的以下属性标记食谱步骤。直接在 recipeInstructions 属性的定义内指定 HowToStep,或指定为 HowToSection 的 itemListElement。

如需了解 HowToStep 的完整定义,请访问 schema.org/HowToStep。

必需的属性
itemListElement HowToDirection 或 HowToTip详细子步骤列表,包括指导或提示。

如果使用了 text,则该属性为可选属性。

text Text相应步骤的完整说明文字。

如果使用了 itemListElement,则该属性为可选属性。其他指南:

  • 只能添加说明文本,不能添加其他文本(如“指导”、“观看视频”或“第 1 步”)。请在标记的属性以外指定这些词组。
    不建议:

    {
      "@type": "HowToStep",
      "text": "Step 1. Heat oven to 425°F."
    }

    建议:

    {
      "@type": "HowToStep",
      "text": "Heat oven to 425°F."
    }
建议属性
image ImageObject 或 URL相应步骤的图片。其他图片指南:

  • 图片网址必须可抓取且可编入索引。
  • 图片必须代表已标记的内容。
  • 图片格式必须为 .jpg、.png 或 .gif。
name Text相应步骤的总结性字词或短语(例如“排列馅饼皮”)。请勿使用非描述性文字(例如“第 1 步:[文字]”)或其他形式的步骤编号(例如“1. [文字]”)。
url URL一个可直接链接到相应步骤的 URL(如有),例如锚链接片段。
video VideoObject 或 Clip相应步骤的视频或视频剪辑。

如果是 VideoObject,则位于必需和建议的 Video 属性或 Clip 属性列表后面。

contentUrl 属性对食谱教程来说是必需的。

HowToDirection 和 HowToTip #

HowToDirection 和 HowToTip 可用来描述指导或提示。这两者具有相同的必需属性和建议属性。

如需了解 HowToDirection 和 HowToTip 的完整定义,请访问 schema.org/HowToDirection 和 schema.org/HowToTip。

必需的属性
text Text相应指导或提示的文字。

ItemList #

除了 Recipe 属性之外,您还可为托管专用列表添加以下属性。虽然 ItemList 不是必需的,但如果您希望食谱能够显示在托管方陈列界面中,则必须添加以下属性。如需详细了解托管轮播界面,请参阅 Carousel。

如需了解 ItemList 的完整定义,请访问 schema.org/ItemList。

必需的属性
itemListElement ListItem

列表中单个食谱网页的注释。

ListItem.position Integer

列表中相应食谱网页的序数位置。例如:

"itemListElement": [
  {
    "@type": "ListItem",
    "position": 1,
  }, {
    "@type": "ListItem",
    "position": 2,
  }
]
ListItem.url URL

项目网页的规范网址。每个项目都必须具备一个独一无二的网址。

使用 Search Console 监控富媒体搜索结果 #

Search Console 是一款工具,可帮助您监控网页在 Google 搜索结果中的显示效果。即使没有注册 Search Console,您的网页也可能会显示在 Google 搜索结果中,但注册 Search Console 能够帮助您了解 Google 如何查看您的网站并做出相应的改进。建议您在以下情况下查看 Search Console:

  1. 首次部署结构化数据后
  2. 发布新模板或更新代码后
  3. 定期分析流量时
观看视频:https://youtu.be/Vmfvf8nG09k

首次部署结构化数据后 #

等 Google 将网页编入索引后,请在相关的富媒体搜索结果状态报告中查看是否存在问题。 理想情况下,有效项目数量会增加,而无效项目数量不会增加。如果您发现结构化数据存在问题,请执行以下操作:

  1. 修正无效项目。
  2. 检查实际网址,核实问题是否仍然存在。
  3. 使用状态报告请求验证。

发布新模板或更新代码后 #

如果对网站进行重大更改,请监控结构化数据无效项目的增幅。

  • 如果您发现无效项目增多了,可能是因为您推出的某个新模板无法正常工作,或者您的网站以一种新的错误方式与现有模板交互。
  • 如果您发现有效项目减少了(但无效项目的增加情况并不对应),可能是因为您的网页中未再嵌入结构化数据。请通过网址检查工具了解导致此问题的原因。
警告:请勿使用缓存链接调试网页。建议改用网址检查工具,因为该工具会检查网页的最新版本。

定期分析流量时 #

请使用效果报告分析您的 Google 搜索流量。数据将显示您的网页在 Google 搜索结果中显示为富媒体搜索结果的频率、用户点击该网页的频率以及网页在搜索结果中的平均排名。您还可以使用 Search Console API 自动提取这些结果。

问题排查 #

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

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

暂无评论

再想想
暂无评论...
文档目录
  • 如何添加结构化数据
  • 示例
    • 食谱教程
    • Google 搜索上的食谱
    • 轮播界面
  • 指南
  • 结构化数据类型定义
    • Recipe
    • HowToSection
    • HowToStep
    • HowToDirection 和 HowToTip
    • ItemList
  • 使用 Search Console 监控富媒体搜索结果
    • 首次部署结构化数据后
    • 发布新模板或更新代码后
    • 定期分析流量时
  • 问题排查
SEO算法教程

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

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