我有一个网站,一个博客和一些社交媒体资料。我想用Schema.org解释这些在线存在与搜索引擎之间的关系。
从Google的文档和示例中,我知道以下代码将网站和社交媒体资料连接到我的名字:
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Person",
"name": "your name",
"url": "http://www.your-site.com", // <= homepage
"sameAs": [
"http://www.facebook.com/your-profile",
"http://instagram.com/yourProfile",
"http://www.linkedin.com/in/yourprofile",
"http://plus.google.com/your_profile"
]
}
</script>
但申请博客的正确方法是什么?
Schema.org上有与博客相关的类型和属性,但这些类型和属性用于标记与博客本身相关的博客内容。我想要的是在我个人网站的主页上标记博客与其他在线展示的关系。我该怎么做?
在我看来,我不能使用url
,因为这是项目&#34;的网址,即我的个人主页;并且我不能使用sameAs
,因为这是参考网页的&#34; URL,它明确指出了项目的标识。例如。项目的维基百科页面,自由基页面或官方网站的URL。&#34;根据{{3}},社交媒体链接必须在这里。
另一方面,sameAs
的定义在schema.org上继续包含&#34; [e] .g。项目的维基百科页面,自由基页面或官方网站&#34;的URL。后者向我表明我可以(或应该)将整个架构放在我的博客上,将博客地址设为url
,将我的主页地址设为sameAs
,如下所示:
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Person",
"name": "your name",
"url": "http://my.blog.com", // <= blog
"sameAs": [
"http://www.facebook.com/your-profile",
"http://instagram.com/yourProfile",
"http://www.linkedin.com/in/yourprofile",
"http://plus.google.com/your_profile",
"http://www.my-website.com", // <= homepage
]
}
</script>
但是我找不到任何这样的例子,或者其他怎么做。
答案 0 :(得分:0)
我认为没有理由处理博客(如果没有集成在您的主要网站中,也是一种网站)与处理主要网站的方式不同,假设两者都是个人网站(即代表你在某种程度上),是否使用contactPoint
, sameAs
, or url
。
还有另一种方法,这个方法允许您提供有关URL的数据(例如,使关系清晰):
WebSite
(以及Blog
)允许您引用具有以下属性的Person
项目:
如果您不想为WebSite
/ Blog
提供顶级对象,可以使用JSON-LD的@reverse
关键字:
{
"@context": "http://schema.org",
"@type": "Person",
"name": "John Doe",
"@reverse": {
"author":
[
{
"@type": "WebSite",
"url": "https://example.com/"
},
{
"@type": ["Blog", "WebSite"],
"url": "https://blog.example.com/"
}
]
}
}
但是使用多个顶级对象(例如with @graph
),each with its @id
会更灵活。