HTML5:hreflang是否应始终指向直接翻译?

时间:2015-07-27 11:50:26

标签: html5 seo href multilingual semantic-markup

将这种链接置于多语言网站的首位是一种很好的做法:

<head>
    <link rel="alternate" hreflang="en" href="/en">
</head>

according to an answer问题Semantic markup for language switcher,语言切换器应该类似于:

<nav>
  <h1>Translations of this page</h1> <!-- could be omitted → usability question -->
  <ul>
    <li>English</li> <!-- could be omitted → usability question -->
    <li><a rel="alternate" href="/pl" hreflang="pl" lang="pl">Polski</a></li>
    <li><a rel="alternate" href="/de" hreflang="de" lang="de">Deutsch</a></li>
  </ul>
</nav>

我根据这个问题得到了很少的语义标记问题:

  1. SEO是否都需要这些规则?或者,如果我的网站上有语言切换器,则不再需要head中的链接?

  2. 让我们在页面上说example.com/pl/kontakthead(或nav)内的翻译链接应指向:example.com/en/contact(直接翻译),还是仅example.com/en(英文主页)?

  3. 具体情况如何:example.com/pl/aktualnosci/id/101。 &#39; aktualnosci&#39;意味着新闻。正如您所看到的,并非所有新内容都可以翻译成每种语言。有时很难根据参数来预测完美的翻译网址。问题是:翻译link(或nav)指向此网址的位置:example.com/pl/artykul/id/101,何时:

    1. 我们不确定此资源是否已翻译?
    2. 我们并不完全了解翻译网址?
    3. 资源是否100%未翻译?
  4. 我希望我的问题很明确。但我还会再举一个例子:有人在页面上example.com/en/news/2015/03/02/stackoverflow-rules,这条新闻未翻译成波兰语。这是一个错误:

    <link rel="alternate" hreflang="pl" href="/pl/aktualnosci">
    

    作为翻译?当然,这个页面不是翻译,而只是例如所有翻译过的新词的列表。

    至于我在语义上这是一个错误,因为这不是翻译,但是从UX方面来说,它很棒,因为它指向最近的翻译资源并使用户的生活更轻松。

2 个答案:

答案 0 :(得分:1)

  1. 由于rel属性定义了链接文档的关系,因此如果您在锚标记中使用它,则不需要标题中的链接标记。
  2. 翻译链接应始终指向当前页面的翻译版本,而不是网站(pl / kontakt - &gt; en / contact)。
  3. 如果资源未翻译,请省略翻译链接(显然,您必须在生成页面时检查翻译)。如果URL已翻译,则翻译链接必须指向目标语言的URL(与上述相同,必须检查前面的翻译)。
  4. 如果我正在阅读今天的新闻,当我点击链接,承诺我用我自己的语言显示它时,我想找到的最后一件事是昨天翻译的新闻,而不是我在导航之前,我宁愿理解没有可用的翻译(灰显的禁用链接可能是最友好的用户)。因此,最好遵循语义并保持简单,而不是试图呈现反直觉的用户体验。

答案 1 :(得分:1)

alternate + hreflanglinka

从语义上讲,使用哪一个没有区别。在这两种情况下,链接都链接到页面的翻译。

但可以想象,消费者(例如,搜索引擎)决定忽略alternate元素上的hreflang + a,例如,因为某些网站允许在用户评论中使用此标记。用户很少能够修改head,因此他们可能只会在alternate中的hreflang元素上查找link + head

除非你有充分理由不这样做,否则只需提供两者:

  • 语言切换器,特别是针对您的人类用户的bodya元素)
  • 仅检查headlink元素)
  • 的机器人的翻译链接

页面与网站

alternate + hreflang链接为defined to point to a translated document,而非网站。

未翻译的页面

如果/pl/artykul/id/101未翻译成其他语言(或您不确定它是,或者您不知道该网址),则只需不要使用alternate + { {1}}。

是的,在这种情况下链接到已翻译的页面是错误的:hreflang不是/pl/aktualnosci的翻译。

当然,出于可用性原因,您仍然可以提供此类链接,但是您不应该使用/en/news/2015/03/02/stackoverflow-rules + alternate标记来获取此链接。