在不同页面中链接架构标记

如何解决在不同页面中链接架构标记

那么,Google和其他搜索引擎在链接同一网站的不同页面中的架构标记方面有多好?

我正在用Organization type标记主页。

{
  "@context":"https://schema.org","@type":"Organization"
  "@id":"https://example.com\/#organization","legalName":"My company","email":"contact@example.com"
}

所提供的每门课程的页面上都标有Course type

{
  "@context":"https://schema.org","@type":"Course"
  "@id":"https://example.com/course/1#course1","description": "Webmaster"
}

我可以依靠google和其他搜索引擎来了解主页上描述的“我的公司”组织正在提供“网站管理员”课程吗?

我的意思是,它们都在同一个网站中定义,这很明显。

现在,我可以在课程的author属性中定义组织类型。

{
  "@context":"https://schema.org","description": "Webmaster","author": {
    "@context":"https://schema.org","@type":"Organization"
    "@id":"https://example.com\/#organization","email":"contact@example.com"
  }
}

我还可以使用graph属性来定义两种类型。

{
  "@context":"https://schema.org","@graph": [
    "@type":"Course"
    "@id":"https://example.com/course/1#course1",},{
    "@context":"https://schema.org","email":"contact@example.com"
  }
}

但是我需要吗? Google不能根据它们在同一网站中定义的事实来简单推断出这两种类型之间的关系吗?

解决方法

Google和其他搜索引擎在链接架构标记方面的优势如何 在同一网站的不同页面上?

与您所说的一样好。

我可以依靠Google和其他搜索引擎来了解这一点吗? “我的公司”组织正在提供“网站管理员”课程 在首页中描述?

要创建相关数据,从代表课程的网页内容的层次结构开始可能很重要。如果内容的主题是一门课程,则在内容中明确指定课程的名称和描述可能是有意义的。由于每个课程都有提供者,因此将课程提供者的名称指定为整个课程的子主题也很有意义。

从具有课程层次结构的主要内容-提供者可以轻松导航到关联数据。 Google的常规结构化数据指南告诉我们:

相关性您的结构化数据应真实地代表 页面内容。

可以将类型 Course 指定为顶级结构化数据类型,该类型将代表网页主要内容的主题。此类型具有提供程序属性,您可以在其中嵌套组织类型的标记。

在此步骤中,您必须再次返回主要内容。如果内容中呈现的课程有一位特定的提供者,则在网页的内容中包含有关提供者组织的完整信息可能是有意义的。同样的情况适用于在具有独立提供者的独立网页上提供的许多课程。但是,如果许多课程只有一个提供者,那么在一个单独的网页的内容中代表提供者组织是有意义的,并且对于各个课程的提供者名称的所有引用,只需链接到代表提供者组织的网页即可。这将规范提供商组织并消除重复的内容。在表示提供商组织的内容中,您可以指定该提供商提供的所有课程,这些课程在整个网站上均可用。并创建指向代表这些课程的单独网页的反向链接。这将在提供者与他们教授的课程之间建立链接。

这时,我们可以返回结构化数据并使用主要内容: 如果课程的提供者只有一个,并且在网页的内容中指示了完整的信息,则在结构化数据中,有必要指示有关提供者组织的完整信息,例如:

{
  "@context":"https://schema.org","@type":"Course","@id":"https://example.com/course/1#course1","name": "Webmaster","description","zzzzz","provider":{
  "@type":"Organization",.... (full info) 
  }  
}

如果内容具有指向代表提供者组织的单独网页的链接,则在结构化数据中,您只能指定提供者的名称和指向该网页的链接,例如:

{
  "@context":"https://schema.org","url":"https://example.com/provider"
  }  
}

对于在单独的网页上代表提供商组织的结构化数据,使用属性 hasOfferCatalog makesOffer 指定所提供的课程可能很有意义>,然后将所需类型的反向链接嵌入到具有单独课程的网页上。

以上所有内容均可以提供代表特定提供商组织提供的课程的相关数据。

Google recommendation 可以帮助创建相关的结构化数据:

完整度

指定所有必需属性以获取丰富的结果 类型。缺少必需属性的项目不符合条件 丰富的结果。您提供的推荐属性越多, 更高的质量是给用户的。 ...丰富的结果排名 考虑更多信息。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 <select id="xxx"> SELECT di.id, di.name, di.work_type, di.updated... <where> <if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 <property name="dynamic.classpath" value="tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams['font.sans-serif'] = ['SimHei'] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -> systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping("/hires") public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate<String
使用vite构建项目报错 C:\Users\ychen\work>npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-