我正在开发一个多语言网站,我正在使用JSON-LD准备Schema.org标记。重要细节:本网站使用语言的子目录。我们考虑两种语言:
https://www.example.com/
https://www.example.com/fr/
我想将Corporation
和WebSite
内容放在所有本地化的HP上。一切顺利但@id
,url
和inLanguage
属性:我不太清楚我应该填写什么。
对于Corporation
,我认为我做对了:我将在所有网页上使用默认网址并将@id
基于其上:
{
"@context": "http://schema.org",
"@type": "Corporation",
"@id": "https://www.example.com/#organization",
"name": "Example",
"url": "https://www.example.com/",
...
但在我的法国惠普上,WebSite
属性的最佳举措是什么?
从技术上讲,/fr/
子文件夹是example.com/
域的一部分。但是,@id
,inLanguage
和url
并没有说明我的网站也适用于讲法语的人。
{
"@context": "http://schema.org",
"@type": "WebSite",
"@id": "https://www.example.com/#website", // should this be "https://www.example.com/fr/#website" ?
"name": "Example",
"url": "https://www.example.com/", // should this be "https://www.example.com/fr/" ?
"inLanguage": "en", // should this be "fr" ?
...
我对此进行了大量搜索,并没有发现这件事。 有没有人有这方面的经验?
答案 0 :(得分:3)
您有两个different (albeit translated)个网站。它们共享相同的域/主机名并不重要。
每个网站都应该拥有自己的WebSite
项,其中包含自己的@id
,url
和inLanguage
值,而它们会引用相同的Corporation
} item。
{
"@context": "http://schema.org",
"@type": "WebSite",
"@id": "https://www.example.com/#website",
"url": "https://www.example.com/",
"inLanguage": "en",
"publisher": {"@id": "https://www.example.com/#organization"}
}
{
"@context": "http://schema.org",
"@type": "WebSite",
"@id": "https://www.example.com/fr/#website",
"url": "https://www.example.com/fr/",
"inLanguage": "fr",
"publisher": {"@id": "https://www.example.com/#organization"}
}
如果网站主要是翻译,您可以使用workTranslation
/ translationOfWork
来关联WebSite
项。
"workTranslation": {"@id": "https://www.example.com/fr/#website"}
"translationOfWork": {"@id": "https://www.example.com/#website"}
(这是一个很好的案例,可以了解为什么WebSite
项应具有不同的@id
值,因为否则您无法像这样引用他们的翻译。使用url
值而不是@id
值不是一个好主意,因为此URI typically represents the homepage, not the whole website。)