Schema.org用于多种语言的网站:填写公司和WebSite的权利

时间:2017-10-16 12:51:10

标签: localization multilingual schema.org json-ld structured-data

我正在开发一个多语言网站,我正在使用JSON-LD准备Schema.org标记。重要细节:本网站使用语言的子目录。我们考虑两种语言:

  • 英文:https://www.example.com/
  • 法语:https://www.example.com/fr/

我想将CorporationWebSite内容放在所有本地化的HP上。一切顺利但@idurlinLanguage属性:我不太清楚我应该填写什么。

对于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/域的一部分。但是,@idinLanguageurl并没有说明我的网站也适用于讲法语的人。

{
    "@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" ?
...

我对此进行了大量搜索,并没有发现这件事。 有没有人有这方面的经验?

1 个答案:

答案 0 :(得分:3)

您有两个different (albeit translated)个网站。它们共享相同的域/主机名并不重要。

每个网站都应该拥有自己的WebSite项,其中包含自己的@idurlinLanguage值,而它们会引用相同的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。)