- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道如何构建我的 Schema.org。我对 JSON-LD 和微数据元素使用混合方法。我不会用它们以两种不同的方式来描述一件事。我需要一些关于要包含哪些内容的指南。
现在我在每一页上都有我们公司的描述:
<script type="application/ld+json">
{
"@context" : "http://schema.org",
"@type" : "Organization",
"url" : "https://our.url",
"logo" : "https://our.url/logo2.svg",
"contactPoint" : [{
"@type" : "ContactPoint",
"telephone" : "",
"contactType" : "Customer Service"
}],
"sameAs" :[],
"name" : "Our Small Company"
}
</script>
然后我又用 JSON-LD 对我们的网页进行了简短描述:
<script type="application/ld+json">
{
"@context" : "http://schema.org",
"@type" : "WebSite",
"url" : "http://our.url",
"potentialAction" : {
"@type" : "SearchAction",
"target" : "http://our.url/search",
"query-input" : "required name=search_term_string"
}
}
</script>
从这里开始,我有了所有元素的微数据。例如,搜索结果是包含产品的 ItemList 等。
这看起来还可以吗?我应该在每个页面上包含 JSON-LD 公司描述还是只在主页上包含或者根本不包含?我是否需要深入挖掘并为每个页面提供更具体的描述(例如搜索页面可以是 SearchResultsPage
而不是 WebSite
)?
最佳答案
提供一些 JSON-LD 格式的数据和一些微数据格式的数据应该没问题(但如果两者都是关于相同的实体,你 should denote this explicitly )。但是,如果您想连接实体,它可能会出现问题。
WebSite
和Organization
谈到连接实体,我建议为您的 WebSite
和 Organization
项执行此操作。例如,您可以声明您的 Organization
是 publisher
WebSite
,和/或 WebSite
是 about
组织
。
有两种方法可以在 JSON-LD 中实现这一点:
script
元素并将Organization
节点作为值嵌入script
元素 ( or one script
element with @graph
),为每个节点提供一个 URI(使用 @id
)并将这些 URI 作为值引用前者可能有更好的消费者支持,后者更适合提供多个属性(例如,author
和 publisher
)而不必复制整个数据(但你也可以使用混合方式)。
前一种方式的例子:
<script type="application/ld+json">
{
"@context" : "http://schema.org",
"@type" : "WebSite",
"publisher" : {
"@type" : "Organization"
}
}
</script>
后一种方式的例子:
<script type="application/ld+json">
{
"@context" : "http://schema.org",
"@type" : "Organization",
"@id" : "/#org"
}
</script>
<script type="application/ld+json">
{
"@context" : "http://schema.org",
"@type" : "WebSite",
"publisher" : {"@id": "/#org"},
"about" : {"@id": "/#org"},
"mainEntity" : {"@id": "/#org"},
"author" : {"@id": "/#org"}
}
</script>
(其中 /#org
是代表组织本身的 URI,而不仅仅是关于组织或组织的页面/站点)
网页
您可以为每个页面提供一个 WebPage
项目。它在许多情况下都有用。但就像任何其他类型的情况一样,也没有任何要求。
如果您想提供这样的项目,当然最好在适用的地方使用更具体的类型(如 SearchResultsPage
)。但如果这不可能,那么到处使用 WebPage
总比不提供要好得多。
在您的情况下,您必须决定提供它的语法。 JSON-LD 允许您将其提供为 hasPart
WebSite
根据前一种方式,如上所述。但这将很难通过 mainEntity
将 WebPage
与您页面的主要实体(您在 Microdata 中指定)连接起来。属性(property)。因为我认为这是一个重要的关系,所以我会在 Microdata 中指定 WebPage
并通过 URI 连接 WebSite
和 WebPage
。
您可以从 JSON-LD WebSite
节点执行此操作:
"hasPart" : {"@id": "/current-page.html"}
(您也可以从具有反向属性 isPartOf
的 WebPage
微数据执行此操作,但是您必须 provide an @id
for the WebSite
。)
在微数据中拥有 WebPage
,例如,在 body
元素上,它允许您提供 mainEntity
属性:
<body itemscope itemtype="http://schema.org/WebPage">
<article itemprop="mainEntity" itemscope itemtype="http://schema.org/Article">
<!-- for an article that is the main content of the page -->
</article>
</body>
<body itemscope itemtype="http://schema.org/SearchResultsPage">
<ul itemprop="mainEntity" itemscope itemtype="http://schema.org/ItemList">
<!-- for a search result list that is the main content of the page -->
</ul>
</body>
网页
和组织
如果您愿意,您可以明确声明 Organization
是 publisher
/author
/etc。 WebPage
也是:
<link itemprop="author publisher" href="/#org" />
(这可能是因为您为 WebSite
声明了这一点,并且每个 WebPage
都通过 hasPart
连接,但这可能太高级了对于许多消费者来说,明确说明可能会有所帮助。)
关于小公司的 Schema.org 实践 : 'Organization' and 'WebSite' in JSON-LD on every page, 其他一切的微数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43914073/
有两个资源组织,但配置文件不同,配置文件将如何产生差异? 它与 r4.organization 有什么不同? @ResourceDef(name="Organization", profile="h
我想知道你们中有谁可以在同一天处理多个项目,而每个项目只花很短的时间。或者,如果您能够在同一小时内同时进行两个或三个或更多项目。我有很多事情要做,我开始想知道我怎么能做到这一点?我考虑过使用多个工作区
在我的 C 项目中,我有一个相当大的 utils.c 文件。它真的充满了许多不同种类的实用程序。只是在里面塞了不同的杂项功能,我觉得有点顽皮。例如,它有一些与低级内容相关的实用程序,例如小写()函数,
Closed. This question is off-topic 。它目前不接受答案。 想改善这个问题吗? Update the question 所以它是堆栈溢出的 on-topic。 9年前关
您如何为您的主文件夹中的代码项目组织您的个人工作区?您如何保持工作空间高效地同时处理多个项目? 我的问题最重要的方面在上面。除非您想解决该主题的特定子部分,否则您可以停止阅读。以下是有关工作空间组织的
将开发项目(例如 ASP.NET MVC 应用程序)拆分为多个项目的常见原因是什么?代码组织也可以通过文件夹来完成。多个项目往往会产生循环引用冲突,并通过管理/解决这些冲突来增加复杂性。 所以为什么?
我今天想知道人们在决定将一个源文件拆分成多个较小的文件之前通常在一个源文件中有多少代码。 就我个人而言,我倾向于保持我的文件相当小(在使用 C/C++ 时尤其是头文件)。也就是说,我通常在给定文件中只
我在文件夹组织方面遇到了一些困难,无法组织我正在处理的许多项目。我在 OS X 上工作 - 现在我使用 ~/Development/作为根文件夹,并且我有很多类型的项目。例如,我的 iPhone 应用
它与编程无关,但肯定与开发有关。 我需要一份人类口语列表(通常我们会在其他所有网站上看到可供选择), 在我们的一个项目中需要。如果还包含语言代码信息,并且在 中,那就太好了.txt 格式或任何其他可提
我在 Unix 系统上得到了这个文件路径: Folder1/Folder2/text.txt Folder1 仅包含Folder2,Folder2 包含该文件。所以文件test.txt的路径可以更短-
我想在我的网站上放置一个 Schema.org Organization 项。 我应该只将 JSON-LD 放在联系页面上,还是可以将它添加到网站的每个页面上?什么是最好的解决方案? 最佳答案 使用
您如何到达XCode Provisioning Organizer? 最佳答案 在Xcode中,从“窗口”菜单中选择“管理器”,您将获得一个窗口,该窗口为您提供有关设备和置备配置文件的各种信息。另外,
我正在设置一些用于网站开发的服务器。我希望它以一种相当标准的方式组织起来。你如何组织你的服务器来开发相对较小的网站,每个网站都有一点独特的代码? 我关注的一些细节包括(但不限于): 在开发过程中存在哪
我正在制作我自己的方便函数的小库,并且我正在尝试遵循 Phobos 的命名约定,但我真的很困惑。我怎么知道东西适合哪里? 例子: 如果有像 foldRight 这样的函数在 Phobos 中(基本上是
我在我的 Mac 上设置了多个开发者帐户,现在需要退出我的帐户才能访问其他人的资源。我在任何地方都找不到这样的选择。 知道如何退出 Xcode Organizer 吗? 最佳答案 在最新的 xcode
我目前正在尝试了解 AngularJS 涉及的所有概念,它非常大。我理解了大部分内容,但我仍然不知道如何组织你的应用程序。 让我们举个例子:在主页上,我有几个 block :每个 block 都是简单
查看 matplotlib 文档,我发现了这个示例: http://matplotlib.org/users/tight_layout_guide.html import matplotlib.pyp
我有 .hgt 文件,其中包含 (1201x1201) 个 16 位整数。我将此文件存储在最高级别为 5 的四叉树中。在级别 5 的叶子中,我有点数组列表: public class Point {
我正在为我的应用查看来自 Xcode Organizer 的崩溃报告。 我在下面的屏幕截图中看到了“+ 92”。什么意思? 最佳答案 这应该是方法内部发生错误的位置。如果您使用调试信息格式 dwarf
我可以拥有多个分发证书吗?我正在开发一个应用程序,但当前证书不是我创建的,而是用于另一个应用程序的。该应用程序和证书是由不再在这里的其他人完成的。 我下载了 vert,但在管理器中它告诉我,找不到有效
我是一名优秀的程序员,十分优秀!